( self )
| 161 | self.verifyMerge( plane, box, merged ) |
| 162 | |
| 163 | def testRemovePrimVars( self ) : |
| 164 | |
| 165 | p1 = IECoreScene.MeshPrimitive.createPlane( imath.Box2f( imath.V2f( -1 ), imath.V2f( 0 ) ) ) |
| 166 | p2 = IECoreScene.MeshPrimitive.createPlane( imath.Box2f( imath.V2f( 0 ), imath.V2f( 1 ) ) ) |
| 167 | del p2["N"] |
| 168 | self.assertNotEqual( p1.keys(), p2.keys() ) |
| 169 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2, removeNonMatchingPrimVars=False ) |
| 170 | self.assertTrue( "N" in merged ) |
| 171 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2, removeNonMatchingPrimVars=True ) |
| 172 | self.assertTrue( "N" not in merged ) |
| 173 | del p1["N"] |
| 174 | self.verifyMerge( p1, p2, merged ) |
| 175 | |
| 176 | p2 = IECoreScene.MeshAlgo.triangulate( p2 ) |
| 177 | p2['myInt'] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, IECore.IntVectorData( [ 0, 1, 2, 3, 4 ,5 ] ) ) |
| 178 | uTangent, vTangent = IECoreScene.MeshAlgo.calculateTangentsFromUV( p2 ) |
| 179 | p2["uTangent"] = uTangent |
| 180 | p2["vTangent"] = vTangent |
| 181 | self.assertNotEqual( p1.keys(), p2.keys() ) |
| 182 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2, removeNonMatchingPrimVars=False ) |
| 183 | self.assertTrue( "uTangent" in merged ) |
| 184 | self.assertTrue( "vTangent" in merged ) |
| 185 | self.assertTrue( "myInt" in merged ) |
| 186 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2, removeNonMatchingPrimVars=True ) |
| 187 | self.assertTrue( "uTangent" not in merged ) |
| 188 | self.assertTrue( "vTangent" not in merged ) |
| 189 | self.assertTrue( "myInt" not in merged ) |
| 190 | del p2["uTangent"] |
| 191 | del p2["vTangent"] |
| 192 | del p2["myInt"] |
| 193 | self.verifyMerge( p1, p2, merged ) |
| 194 | |
| 195 | def testReferencedData( self ) : |
| 196 |
nothing calls this directly
no test coverage detected