MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / test_boolean_exposing

Function test_boolean_exposing

test_python/test_booleanExposing.py:10–50  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8
9
10def test_boolean_exposing():
11 size = mrmesh.Vector3f.diagonal(2)
12 pos1 = mrmesh.Vector3f.diagonal(0)
13 pos2 = mrmesh.Vector3f.diagonal(-1)
14 pos3 = mrmesh.Vector3f.diagonal(1)
15
16 meshA = mrmesh.makeCube(size, pos1)
17 meshB = mrmesh.makeCube(size, pos2)
18
19 bOperation = mrmesh.BooleanOperation.Intersection
20 bResMapper = mrmesh.BooleanResultMapper()
21 bResult = mrmesh.boolean(meshA, meshB, bOperation, None, bResMapper)
22 assert bResult.valid(), bResult.errorString
23
24 bResMesh = bResult.mesh
25
26 assert is_equal_vector3(
27 bResMesh.computeBoundingBox(
28 bResMesh.topology.getValidFaces(), mrmesh.AffineXf3f()
29 ).min,
30 pos1,
31 )
32 assert is_equal_vector3(
33 bResMesh.computeBoundingBox(
34 bResMesh.topology.getValidFaces(), mrmesh.AffineXf3f()
35 ).max,
36 pos3,
37 )
38
39 assert bResMesh.topology.getValidVerts().count() == 14
40 assert bResMesh.topology.findHoleRepresentiveEdges().size() == 0
41
42 brmmAA = bResMapper.map(meshA.topology.getValidVerts(), mrmesh.BooleanResMapObj.A)
43 brmmBB = bResMapper.map(meshB.topology.getValidVerts(), mrmesh.BooleanResMapObj.B)
44
45 filteredOldFacesA = bResMapper.filteredOldFaceBitSet( meshA.topology.getValidFaces(), mrmesh.BooleanResMapObj.A )
46 mapsA = bResMapper.getMaps(mrmesh.BooleanResMapObj.A)
47 assert mapsA.cut2newFaces.vec.size() == 30
48 assert brmmAA.count() == 1
49 assert brmmBB.count() == 1
50 assert filteredOldFacesA.count() == 6
51
52
53def test_unite_many_meshes():

Callers

nothing calls this directly

Calls 10

mapMethod · 0.95
filteredOldFaceBitSetMethod · 0.95
is_equal_vector3Function · 0.85
BooleanResultMapperMethod · 0.80
countMethod · 0.80
diagonalMethod · 0.45
validMethod · 0.45
computeBoundingBoxMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected