MCPcopy Create free account
hub / github.com/ImageEngine/cortex / testReadNoPrimVarConversion

Method testReadNoPrimVarConversion

test/IECoreScene/PDCReader.py:120–167  ·  view source on GitHub ↗
( self )

Source from the content-addressed store, hash-verified

118 self.assertEqual( c["particleId"].data, IECore.DoubleVectorData( range( 0, 25 ) ) )
119
120 def testReadNoPrimVarConversion( self ) :
121
122 r = IECore.Reader.create( os.path.join( "test", "IECore", "data", "pdcFiles", "particleShape1.250.pdc" ) )
123 self.assertEqual( type( r ), IECoreScene.PDCParticleReader )
124
125 r["realType"].setValue( "native" )
126 r["convertPrimVarNames"].setValue( IECore.BoolData( False ) )
127 self.assertFalse( r.parameters()["convertPrimVarNames"].getTypedValue() )
128
129 self.assertEqual( r.numParticles(), 25 )
130 attrNames = r.attributeNames()
131 expectedAttrNamesAndTypes = {
132 "particleId" : IECore.DoubleVectorData,
133 "mass" : IECore.DoubleVectorData,
134 "lastWorldVelocity" : IECore.V3dVectorData,
135 "worldVelocityInObjectSpace" : IECore.V3dVectorData,
136 "worldVelocity" : IECore.V3dVectorData,
137 "lastWorldPosition" : IECore.V3dVectorData,
138 "worldPosition" : IECore.V3dVectorData,
139 "acceleration" : IECore.V3dVectorData,
140 "lastVelocity" : IECore.V3dVectorData,
141 "velocity" : IECore.V3dVectorData,
142 "lastPosition" : IECore.V3dVectorData,
143 "position" : IECore.V3dVectorData,
144 "lifespanPP" : IECore.DoubleVectorData,
145 "finalLifespanPP" : IECore.DoubleVectorData,
146 "emitterId" : IECore.DoubleVectorData,
147 "birthTime" : IECore.DoubleVectorData,
148 "age" : IECore.DoubleVectorData,
149 }
150 self.assertEqual( len( attrNames ), len( expectedAttrNamesAndTypes ) )
151 for i in expectedAttrNamesAndTypes.keys() :
152 self.assertTrue( i in attrNames )
153
154 c = r.read()
155 self.assertEqual( type( c ), IECoreScene.PointsPrimitive )
156 self.assertEqual( len( c ), len( expectedAttrNamesAndTypes ) )
157 for i in expectedAttrNamesAndTypes.keys() :
158 self.assertTrue( i in c )
159 self.assertEqual( type(c[i].data), expectedAttrNamesAndTypes[i] )
160 self.assertEqual( len(c[i].data), r.numParticles() )
161
162 for p in c["position"].data :
163 self.assertEqual( p.y, 0 )
164 self.assertTrue( abs( p.x ) < 1.1 )
165 self.assertTrue( abs( p.z ) < 1.1 )
166
167 self.assertEqual( c["particleId"].data, IECore.DoubleVectorData( range( 0, 25 ) ) )
168
169 def testFiltering( self ) :
170

Callers

nothing calls this directly

Calls 10

typeFunction · 0.85
joinMethod · 0.80
lenFunction · 0.50
createMethod · 0.45
setValueMethod · 0.45
parametersMethod · 0.45
numParticlesMethod · 0.45
attributeNamesMethod · 0.45
keysMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected