( self )
| 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 |
nothing calls this directly
no test coverage detected