Janek, ping?

I was debugging that and I get the following:

ConstitutiveLawDispatcher::locateMultivirtualFunctor2D is called with
those arguments:
        
1. Dem3DofGeom_FacetSphere, class index 2 (for InteractionGeometry)
2. ElasticContactInteraction, class index 2 (for InteractionPhysics)

Now there is only 1 entry in the dispatch matrix:

1+2 -> Law2_Dem3Dof_Elastic_Elastic

(where index 1 is Dem3DofGeom).

Since it is not the direct hit, I would expect that we will crawl up the
base class indices, until a match is found. However, reading the code:

int depth1=1, depth2=1;
int index1_tmp=base1->getBaseClassIndex(depth1),index2_tmp = 
base2->getBaseClassIndex(depth2);
if(index1_tmp==-1){ /* loop over index2_tmp up, until a match index1,index2_tmp 
is found, then return */ }
if(index2_tmp==-1){ /* loop over index1_tmp up, until a match index1_tmp,index2 
is found, then return */ }
/* here index1_tmp=-1 && index2_tmp=-1 */
throw;

What is the logic there??? I get exception, even though the dispatch is neither 
ambiguous nor undefined.

V.





_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp
_______________________________________________
yade-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/yade-dev

Reply via email to