( self )
| 208 | self.verifyMerge( p1, p2, merged ) |
| 209 | |
| 210 | def testIndexedPrimVars( self ) : |
| 211 | |
| 212 | p1 = IECoreScene.MeshPrimitive.createPlane( imath.Box2f( imath.V2f( -1 ), imath.V2f( 0 ) ) ) |
| 213 | p2 = IECoreScene.MeshPrimitive.createPlane( imath.Box2f( imath.V2f( 0 ), imath.V2f( 1 ) ) ) |
| 214 | |
| 215 | # both meshes have indexed UVs |
| 216 | p1["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p1["uv"].data, IECore.IntVectorData( [ 0, 3, 1, 2 ] ) ) |
| 217 | p2["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p2["uv"].data, IECore.IntVectorData( [ 2, 1, 0, 3 ] ) ) |
| 218 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2 ) |
| 219 | self.verifyMerge( p1, p2, merged ) |
| 220 | |
| 221 | # meshA has indexed UVs, meshB has expanded UVs |
| 222 | p2["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p2["uv"].data, None ) |
| 223 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2 ) |
| 224 | self.verifyMerge( p1, p2, merged ) |
| 225 | |
| 226 | # both meshes have expanded UVs |
| 227 | p1["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p1["uv"].data, None ) |
| 228 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2 ) |
| 229 | self.verifyMerge( p1, p2, merged ) |
| 230 | |
| 231 | # meshA has expanded UVs, meshB has indexed UVs |
| 232 | p2["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p2["uv"].data, IECore.IntVectorData( [ 2, 1, 0, 3 ] ) ) |
| 233 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2 ) |
| 234 | self.verifyMerge( p1, p2, merged ) |
| 235 | |
| 236 | # meshA has indexed UVs, meshB has no UVs |
| 237 | p1["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p1["uv"].data, IECore.IntVectorData( [ 0, 3, 1, 2 ] ) ) |
| 238 | del p2["uv"] |
| 239 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2 ) |
| 240 | self.verifyMerge( p1, p2, merged ) |
| 241 | |
| 242 | # meshA has no UVs, meshB has indexed UVs |
| 243 | del p1["uv"] |
| 244 | p2 = IECoreScene.MeshPrimitive.createPlane( imath.Box2f( imath.V2f( 0 ), imath.V2f( 1 ) ) ) |
| 245 | p2["uv"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying, p2["uv"].data, IECore.IntVectorData( [ 2, 1, 0, 3 ] ) ) |
| 246 | merged = IECoreScene.MeshMergeOp()( input=p1, mesh=p2 ) |
| 247 | self.verifyMerge( p1, p2, merged ) |
| 248 | |
| 249 | if __name__ == "__main__": |
| 250 | unittest.main() |
nothing calls this directly
no test coverage detected