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

Method runTest

test/IECoreScene/CurveLineariserTest.py:45–92  ·  view source on GitHub ↗
( self, curves )

Source from the content-addressed store, hash-verified

43class CurveLineariserTest( unittest.TestCase ) :
44
45 def runTest( self, curves ) :
46
47 curves2 = IECoreScene.CurveLineariser()( input=curves, verticesPerSegment=1000 )
48
49 self.assertTrue( not curves.isSame( curves2 ) )
50 self.assertEqual( curves2.numCurves(), curves.numCurves() )
51 self.assertEqual( curves2.basis(), IECore.CubicBasisf.linear() )
52 self.assertEqual( curves2.periodic(), curves.periodic() )
53 self.assertEqual( curves.keys(), curves2.keys() )
54 self.assertTrue( curves2.arePrimitiveVariablesValid() )
55
56 e = IECoreScene.CurvesPrimitiveEvaluator( curves )
57 r = e.createResult()
58
59 e2 = IECoreScene.CurvesPrimitiveEvaluator( curves2 )
60 r2 = e.createResult()
61
62 curves["constantwidth"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.Constant, IECore.FloatData( 0.001 ) )
63 curves2["constantwidth"] = IECoreScene.PrimitiveVariable( IECoreScene.PrimitiveVariable.Interpolation.Constant, IECore.FloatData( 0.001 ) )
64 tempDir = tempfile.mkdtemp()
65 IECore.ObjectWriter( curves, os.path.join( tempDir, "c.cob" ) ).write()
66 IECore.ObjectWriter( curves2, os.path.join( tempDir, "c2.cob" ) ).write()
67
68 for curveIndex in range( 0, curves.numCurves() ) :
69
70 for i in range( 0, 100 ) :
71
72 v = float( i ) / 99
73
74 s = e.pointAtV( curveIndex, v, r )
75 s2 = e2.pointAtV( curveIndex, v, r2 )
76
77 self.assertTrue( s )
78 self.assertTrue( s2 )
79
80 for k in curves.keys() :
81
82 pv = r.primVar( curves[k] )
83 pv2 = r2.primVar( curves2[k] )
84
85 if isinstance( pv, ( float, int ) ) :
86 self.assertAlmostEqual( pv, pv2 )
87 elif isinstance( pv, ( imath.V3f, imath.Color3f ) ) :
88 self.assertTrue( pv.equalWithAbsError( pv2, 0.005 ) )
89 else :
90 self.assertEqual( pv, pv2 )
91
92 shutil.rmtree( tempDir )
93
94 def test3SegmentBSpline( self ) :
95

Calls 14

createResultMethod · 0.95
pointAtVMethod · 0.95
CurveLineariserMethod · 0.80
numCurvesMethod · 0.80
linearMethod · 0.80
periodicMethod · 0.80
PrimitiveVariableMethod · 0.80
ObjectWriterMethod · 0.80
joinMethod · 0.80
primVarMethod · 0.80

Tested by

no test coverage detected