@@ -3704,10 +3704,10 @@ def testPointInstancerPrimvars( self ) :
37043704
37053705 fileName = os .path .join ( self .temporaryDirectory (), "pointInstancePrimvars.usda" )
37063706 stage = pxr .Usd .Stage .CreateNew ( fileName )
3707- points = pxr .UsdGeom .PointInstancer .Define ( stage , "/points" )
3708- points .CreatePositionsAttr ( [ ( v , v , v ) for v in range ( 0 , 5 ) ] )
3707+ pointInstancer = pxr .UsdGeom .PointInstancer .Define ( stage , "/points" )
3708+ pointInstancer .CreatePositionsAttr ( [ ( v , v , v ) for v in range ( 0 , 5 ) ] )
37093709
3710- primvars = pxr .UsdGeom .PrimvarsAPI ( points )
3710+ primvars = pxr .UsdGeom .PrimvarsAPI ( pointInstancer )
37113711 primvar = primvars .CreatePrimvar ( "myColor" , pxr .Sdf .ValueTypeNames .Color3fArray , "vertex" )
37123712 primvar .Set (
37133713 [ ( c , c , c ) for c in range ( 1 , 6 ) ]
@@ -3720,6 +3720,8 @@ def testPointInstancerPrimvars( self ) :
37203720 root = IECoreScene .SceneInterface .create ( fileName , IECore .IndexedIO .OpenMode .Read )
37213721 points = root .child ( "points" ).readObject ( 0 )
37223722
3723+ self .assertEqual ( points .keys (), ['P' , 'myColor' , 'prototypeRoots' ] )
3724+
37233725 self .assertIsInstance ( points , IECoreScene .PointsPrimitive )
37243726 self .assertIn ( "myColor" , points )
37253727 self .assertEqual (
@@ -3729,6 +3731,21 @@ def testPointInstancerPrimvars( self ) :
37293731 self .assertEqual ( points ["myColor" ].interpolation , IECoreScene .PrimitiveVariable .Interpolation .Vertex )
37303732 self .assertEqual ( points ["myColor" ].indices , None )
37313733
3734+ # Now try deactivating some ids
3735+
3736+ pointInstancer .DeactivateIds ( [ 0 , 2 ] )
3737+ pointInstancer .InvisIds ( [ 1 , 4 ], 0 )
3738+
3739+ stage .GetRootLayer ().Save ()
3740+
3741+ root = IECoreScene .SceneInterface .create ( fileName , IECore .IndexedIO .OpenMode .Read )
3742+ points = root .child ( "points" ).readObject ( 0 )
3743+
3744+ self .assertEqual ( points .keys (), ['P' , 'inactiveIds' , 'invisibleIds' , 'myColor' , 'prototypeRoots' ] )
3745+
3746+ self .assertEqual ( points ["inactiveIds" ], IECoreScene .PrimitiveVariable ( IECoreScene .PrimitiveVariable .Interpolation .Constant , IECore .Int64VectorData ( [ 0 , 2 ] ) ) )
3747+ self .assertEqual ( points ["invisibleIds" ], IECoreScene .PrimitiveVariable ( IECoreScene .PrimitiveVariable .Interpolation .Constant , IECore .Int64VectorData ( [ 1 , 4 ] ) ) )
3748+
37323749 def testArnoldArrayInputs ( self ) :
37333750
37343751 def assertExpectedArrayInputs ( network ) :
0 commit comments