11from helper import *
22import pytest
33
4- def isEqualVector3 (a , b ):
4+
5+ def is_equal_vector_3 (a , b ):
56 diff = a - b
67 return diff .length () < 1.e-6
78
89
910# TEST 1
10- def decimate1 (size , pos1 , pos2 , pos3 ):
11+ def decimate_1 (size , pos1 , pos2 , pos3 ):
1112 mesh = mrmesh .makeCube (size , pos1 )
1213 settings = mrmesh .DecimateSettings ()
1314
14- result = mrmesh .decimateMesh ( mesh , settings )
15+ result = mrmesh .decimateMesh (mesh , settings )
1516
16- assert ( result .vertsDeleted == 0 )
17- assert ( result .facesDeleted == 0 )
17+ assert ( result .vertsDeleted == 0 )
18+ assert ( result .facesDeleted == 0 )
1819 # assert( result.errorIntroduced == 0 )
1920
20- assert ( mesh .topology .getValidVerts ().size () == 8 )
21- assert ( mesh .topology .getValidVerts ().count () == 8 )
22- assert ( mesh .topology .findHoleRepresentiveEdges ().size () == 0 )
21+ assert ( mesh .topology .getValidVerts ().size () == 8 )
22+ assert ( mesh .topology .getValidVerts ().count () == 8 )
23+ assert ( mesh .topology .findHoleRepresentiveEdges ().size () == 0 )
2324
2425
2526# TEST 2
26- def decimate2 (size , pos1 , pos2 , pos3 ):
27+ def decimate_2 (size , pos1 , pos2 , pos3 ):
2728 meshA = mrmesh .makeCube (size , pos1 )
2829 meshB = mrmesh .makeCube (size , pos2 )
2930
3031 bOperation = mrmesh .BooleanOperation .Intersection
3132 bResMapper = mrmesh .BooleanResultMapper ()
32- bResult = mrmesh .boolean ( meshA , meshB , bOperation , None , bResMapper )
33+ bResult = mrmesh .boolean (meshA , meshB , bOperation , None , bResMapper )
3334
3435 mesh = bResult .mesh
3536 settings = mrmesh .DecimateSettings ()
3637
37- result = mrmesh .decimateMesh ( mesh , settings )
38-
39- assert ( isEqualVector3 ( mesh .computeBoundingBox (mesh .topology .getValidFaces (), mrmesh .AffineXf3f () ).min , pos1 ) )
40- assert ( isEqualVector3 ( mesh .computeBoundingBox (mesh .topology .getValidFaces (), mrmesh .AffineXf3f () ).max , pos3 ) )
41-
42- assert ( result .vertsDeleted == 6 )
43- assert ( result .facesDeleted == 12 )
38+ result = mrmesh .decimateMesh (mesh , settings )
39+
40+ assert (
41+ is_equal_vector_3 (
42+ mesh .computeBoundingBox (
43+ mesh .topology .getValidFaces (),
44+ mrmesh .AffineXf3f ()).min ,
45+ pos1 ))
46+ assert (
47+ is_equal_vector_3 (
48+ mesh .computeBoundingBox (
49+ mesh .topology .getValidFaces (),
50+ mrmesh .AffineXf3f ()).max ,
51+ pos3 ))
52+
53+ assert (result .vertsDeleted == 6 )
54+ assert (result .facesDeleted == 12 )
4455 # assert( result.errorIntroduced == 0 )
45-
46- assert ( mesh .topology .getValidVerts ().size () == 14 )
47- assert ( mesh .topology .getValidVerts ().count () == 8 )
48- assert ( mesh .topology .findHoleRepresentiveEdges ().size () == 0 )
56+ assert (mesh .topology .getValidVerts ().size () == 14 )
57+ assert (mesh .topology .getValidVerts ().count () == 8 )
58+ assert (mesh .topology .findHoleRepresentiveEdges ().size () == 0 )
4959
5060
5161def test_deciamte ():
52- size = mrmesh .Vector3f .diagonal ( 2 )
53- pos1 = mrmesh .Vector3f .diagonal ( 0 )
54- pos2 = mrmesh .Vector3f .diagonal ( - 1 )
55- pos3 = mrmesh .Vector3f .diagonal ( 1 )
56- decimate1 (size , pos1 , pos2 , pos3 )
57- decimate2 (size , pos1 , pos2 , pos3 )
62+ size = mrmesh .Vector3f .diagonal (2 )
63+ pos1 = mrmesh .Vector3f .diagonal (0 )
64+ pos2 = mrmesh .Vector3f .diagonal (- 1 )
65+ pos3 = mrmesh .Vector3f .diagonal (1 )
66+ decimate_1 (size , pos1 , pos2 , pos3 )
67+ decimate_2 (size , pos1 , pos2 , pos3 )
0 commit comments