bool operator==(const ModelContainer& pMc1, const ModelContainer& pMc2) { bool result = false; if(pMc1.getNSubModel() == pMc2.getNSubModel() && pMc1.getAABoxBounds() == pMc2.getAABoxBounds()) { if(pMc1.getNNodes() == pMc2.getNNodes() && pMc1.getNTriangles() == pMc2.getNTriangles() && pMc1.getBasePosition() == pMc2.getBasePosition()) { result = true; for(unsigned int i=0; i<pMc2.getNSubModel(); ++i) { SubModel sm1 = pMc2.getSubModel(i); SubModel sm2 = pMc1.getSubModel(i); result = (sm1 == sm2); if(!result) break; } if(result) { for(unsigned int i=0; i<pMc2.getNTriangles(); ++i) { TriangleBox t1=pMc2.getTriangle(i); TriangleBox t2=pMc1.getTriangle(i); result = (t1 == t2); if(!result) break; } } if(result) { for(unsigned int i=0; i<pMc2.getNNodes(); ++i) { TreeNode tn1=pMc2.getTreeNode(i); TreeNode tn2=pMc1.getTreeNode(i); result = (tn1 == tn2); if(!result) break; } } } } return(result); }