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

Method verifyData

test/IECoreScene/MeshMergeOpTest.py:63–124  ·  view source on GitHub ↗
( self, meshA, meshB, merged, flipped=False )

Source from the content-addressed store, hash-verified

61 self.verifyData( mesh2, mesh1, merged, flipped=True )
62
63 def verifyData( self, meshA, meshB, merged, flipped=False ) :
64
65 for name in meshA.keys() :
66
67 self.assertTrue( name in merged )
68
69 interpolation = meshA[name].interpolation
70 if merged[name].indices :
71 self.assertEqual( len(merged[name].indices), meshA.variableSize( interpolation ) + meshB.variableSize( interpolation ) )
72 else :
73 self.assertEqual( len(merged[name].data), meshA.variableSize( interpolation ) + meshB.variableSize( interpolation ) )
74
75 offset = meshB.variableSize( interpolation ) if flipped else 0
76
77 if merged[name].indices and meshA[name].indices :
78 for i in range( 0, len(meshA[name].indices) ) :
79 index = merged[name].indices[offset + i]
80 indexA = meshA[name].indices[i]
81 self.assertEqual( index, indexA + offset if flipped else indexA )
82 self.assertEqual( merged[name].data[index], meshA[name].data[indexA] )
83
84 elif merged[name].indices :
85 for i in range( 0, len(meshA[name].data) ) :
86 index = merged[name].indices[offset + i]
87 indexA = offset + i
88 self.assertEqual( index, indexA )
89 self.assertEqual( merged[name].data[index], meshA[name].data[i] )
90
91 elif meshA[name].indices :
92 for i in range( 0, len(meshA[name].indices) ) :
93 indexA = meshA[name].indices[i]
94 self.assertEqual( merged[name].data[offset + i], meshA[name].data[indexA] )
95
96 else :
97 for i in range( 0, len(meshA[name].data) ) :
98 self.assertEqual( merged[name].data[offset + i], meshA[name].data[i] )
99
100 offset = 0 if flipped else meshA.variableSize( interpolation )
101 if name in meshB and meshB[name].interpolation == interpolation :
102
103 if merged[name].indices and meshB[name].indices :
104 for i in range( 0, len(meshB[name].indices) ) :
105 index = merged[name].indices[offset + i]
106 indexB = meshB[name].indices[i]
107 self.assertEqual( index, indexB if flipped else indexB + offset )
108 self.assertEqual( merged[name].data[index], meshB[name].data[indexB] )
109
110 elif merged[name].indices :
111 for i in range( 0, len(meshB[name].data) ) :
112 index = merged[name].indices[offset + i]
113 indexB = offset + i
114 self.assertEqual( index, indexB )
115 self.assertEqual( merged[name].data[index], meshB[name].data[i] )
116
117 elif meshB[name].indices :
118 for i in range( 0, len(meshB[name].indices) ) :
119 indexB = meshB[name].indices[i]
120 self.assertEqual( merged[name].data[offset + i], meshB[name].data[indexB] )

Callers 1

verifyMergeMethod · 0.95

Calls 3

lenFunction · 0.50
keysMethod · 0.45
variableSizeMethod · 0.45

Tested by

no test coverage detected