bool VertexLess<TetraDeformVertex>::operator()(int v1,int v2) const { bool ret = false; const TetraDeformVertex& a = Get(v1); const TetraDeformVertex& b = Get(v2); RDIFF d = relativeDiff(a.mPos,b.mPos,0.00001f); if ( d == RD_EQUAL ) { d = relativeDiff(a.mNormal,b.mNormal,0.05f); if ( d == RD_EQUAL ) { NxVec3 v1( a.mTexel1[0], a.mTexel1[1], 0 ); NxVec3 v2( b.mTexel1[0], b.mTexel1[1], 0 ); d = relativeDiff( v1, v2, 0.001f ); if ( d == RD_EQUAL ) { NxVec3 v1( a.mTexel2[0], a.mTexel2[1], 0 ); NxVec3 v2( b.mTexel2[0], b.mTexel2[1], 0 ); d = relativeDiff( v1, v2, 0.001f ); } } } if ( d == RD_LESS ) ret = true; return ret; };
bool VertexLess<NxVec3>::operator()(int v1,int v2) const { bool ret = false; const NxVec3& a = Get(v1); const NxVec3& b = Get(v2); RDIFF d = relativeDiff(a,b,0.00001f); if ( d == RD_LESS ) ret = true; return ret; };
bool VertexLess<VertexPosition>::operator()(int v1,int v2) const { bool ret = false; const VertexPosition& a = Get(v1); const VertexPosition& b = Get(v2); RDIFF d = relativeDiff(a.mPos,b.mPos,0.0001f); if ( d == RD_LESS ) ret = true; return ret; };