コード例 #1
0
    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);
    }