MeshLib
 
Loading...
Searching...
No Matches
MRMeshC/MRBooleanOperation.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRVector.h"
5
7
30
38
48
50
53
56
59
62
65
68
70
74
77
80
83
86
89
MRBooleanOperation
Available CSG operations.
Definition MRMeshC/MRBooleanOperation.h:10
@ MRBooleanOperationInsideA
Part of mesh A that is inside of mesh B
Definition MRMeshC/MRBooleanOperation.h:12
@ MRBooleanOperationOutsideA
Part of mesh A that is outside of mesh B
Definition MRMeshC/MRBooleanOperation.h:16
@ MRBooleanOperationUnion
Union surface of two meshes (outside parts)
Definition MRMeshC/MRBooleanOperation.h:20
@ MRBooleanOperationInsideB
Part of mesh B that is inside of mesh A
Definition MRMeshC/MRBooleanOperation.h:14
@ MRBooleanOperationDifferenceBA
Surface of mesh B - surface of mesh A (outside B - inside A)
Definition MRMeshC/MRBooleanOperation.h:24
@ MRBooleanOperationOutsideB
Part of mesh B that is outside of mesh A
Definition MRMeshC/MRBooleanOperation.h:18
@ MRBooleanOperationCount
not a valid operation
Definition MRMeshC/MRBooleanOperation.h:28
@ MRBooleanOperationDifferenceAB
Surface of mesh A - surface of mesh B (outside A - inside B)
Definition MRMeshC/MRBooleanOperation.h:26
@ MRBooleanOperationIntersection
Intersection surface of two meshes (inside parts)
Definition MRMeshC/MRBooleanOperation.h:22
MRMESHC_API MRVertBitSet * mrBooleanResultMapperMapVerts(const MRBooleanResultMapper *mapper, const MRVertBitSet *oldBS, MRBooleanResultMapperMapObject obj)
Returns vertices bitset of result mesh corresponding input one.
MRMESHC_API bool mrBooleanResultMapperMapsIdentity(const MRBooleanResultMapperMaps *maps)
old topology indexes are valid if true
MRMESHC_API MRFaceBitSet * mrBooleanResultMapperMapFaces(const MRBooleanResultMapper *mapper, const MRFaceBitSet *oldBS, MRBooleanResultMapperMapObject obj)
Returns faces bitset of result mesh corresponding input one.
MRBooleanResultMapperMapObject
Input object index enum.
Definition MRMeshC/MRBooleanOperation.h:33
@ MRBooleanResultMapperMapObjectA
Definition MRMeshC/MRBooleanOperation.h:34
@ MRBooleanResultMapperMapObjectCount
Definition MRMeshC/MRBooleanOperation.h:36
@ MRBooleanResultMapperMapObjectB
Definition MRMeshC/MRBooleanOperation.h:35
MRMESHC_API const MRFaceMap mrBooleanResultMapperMapsCut2newFaces(const MRBooleanResultMapperMaps *maps)
"after cut" faces to "after stitch" faces (1-1)
MRMESHC_API MREdgeBitSet * mrBooleanResultMapperMapEdges(const MRBooleanResultMapper *mapper, const MREdgeBitSet *oldBS, MRBooleanResultMapperMapObject obj)
Returns edges bitset of result mesh corresponding input one.
MRMESHC_API const MRFaceMap mrBooleanResultMapperMapsCut2origin(const MRBooleanResultMapperMaps *maps)
MRMESHC_API MRBooleanResultMapper * mrBooleanResultMapperNew(void)
creates a new BooleanResultMapper object
MRMESHC_API const MRVertMap mrBooleanResultMapperMapsOld2NewVerts(const MRBooleanResultMapperMaps *maps)
"origin" vertices to "after stitch" vertices (1-1)
MRMESHC_API MRFaceBitSet * mrBooleanResultMapperNewFaces(const MRBooleanResultMapper *mapper)
Returns only new faces that are created during boolean operation.
MRMESHC_API void mrBooleanResultMapperFree(MRBooleanResultMapper *mapper)
deallocates a BooleanResultMapper object
MRMESHC_API const MRBooleanResultMapperMaps * mrBooleanResultMapperGetMaps(const MRBooleanResultMapper *mapper, MRBooleanResultMapperMapObject index)
MRMESHC_API const MRWholeEdgeMap mrBooleanResultMapperMapsOld2newEdges(const MRBooleanResultMapperMaps *maps)
"origin" edges to "after stitch" edges (1-1)
struct MRBooleanResultMapperMaps MRBooleanResultMapperMaps
Definition MRMeshC/MRBooleanOperation.h:49
MRMESHC_API MRFaceBitSet * mrBooleanResultMapperFilteredOldFaceBitSet(MRBooleanResultMapper *mapper, const MRFaceBitSet *oldBS, MRBooleanResultMapperMapObject obj)
returns updated oldBS leaving only faces that has corresponding ones in result mesh
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
struct MRVertBitSet MRVertBitSet
Definition MRMeshC/MRMeshFwd.h:38
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRFaceBitSet MRFaceBitSet
Definition MRMeshC/MRMeshFwd.h:37
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
struct MREdgeBitSet MREdgeBitSet
Definition MRMeshC/MRMeshFwd.h:35
Structure to map old mesh BitSets to new.