MeVisLab Toolbox Reference
ml::WEMFaceOp Namespace Reference

Helper namespace for performing operations on a face. More...

Functions

MLWEM_EXPORT bool cutFace (WEMFace *face, WEMVector< WEMFaceCut > *faceCuts, WEMPatch *wemPatch, WEMVector< WEMIndexedFace > *cutFaces, bool traversedTrue, WEMNode **nodeTable, WEMVector< WEMNode > **edgeTable1, int *hitEdgeTable1, WEMVector< WEMNode > **edgeTable2, int *hitEdgeTable2, unsigned int intersectingFlag)
 Applies the given cuts to the given face (boolOp version). More...
 
MLWEM_EXPORT bool cutFace (WEMFace *face, WEMVector< WEMFaceCut > *faceCuts, WEMPatch *wemPatch, WEMVector< WEMIndexedFace > *cutFaces, bool traversedTrue, WEMNode **nodeTable, WEMVector< WEMNode > **edgeTable, int *hitEdgeTable, unsigned int intersectingFlag)
 Applies the given cuts to the given face (selectRegion version). More...
 
MLWEM_EXPORT void smoothFaceNormals (WEMPatch *wemPatch, unsigned int numSmoothingPasses, ProgressField *progressFld=nullptr)
 Smooths all face normals. More...
 
MLWEM_EXPORT bool intersectFaces (WEMFace *face1, WEMVector< WEMPartialFaceCut > *partialCuts1, WEMFace *face2, WEMVector< WEMPartialFaceCut > *partialCuts2)
 Intersects the two given faces and outputs the partial cuts to the given lists. More...
 
void _addFaceCut (WEMFace *face, WEMFaceCut *faceCut, WEMIndexedFace *nFace, WEMPatch *wemPatch, bool reverse, WEMVector< WEMNode > **edgeTable1, int *hitEdgeTable1, WEMVector< WEMNode > **edgeTable2, int *hitEdgeTable2)
 Adds the given face cut to nFace (boolOp version). More...
 
void _addFaceCut (WEMFace *face, WEMFaceCut *faceCut, WEMIndexedFace *nFace, WEMPatch *wemPatch, bool reverse, WEMVector< WEMNode > **edgeTable, int *hitEdgeTable)
 Adds the given face cut to nFace (selectRegion version). More...
 
void _addStab (WEMFace *face, WEMFaceCut *faceCut, WEMIndexedFace *nFace, WEMPatch *wemPatch, WEMVector< WEMNode > **edgeTable2, int *hitEdgeTable2)
 Adds the given face cut (stab) to nFace (boolOp version). More...
 
void _addStab (WEMFace *face, WEMFaceCut *faceCut, WEMIndexedFace *nFace, WEMPatch *wemPatch)
 Adds the given face cut (stab) to nFace (selectRegion version). More...
 
void _addPartialStab (WEMFace *face, WEMFaceCut *faceCut, int start, int end, WEMIndexedFace *nFace, WEMPatch *wemPatch, WEMVector< WEMNode > **edgeTable2, int *hitEdgeTable2)
 Adds the given face cut (stab) to nFace, partially between given indices (boolOp version). More...
 
void _addPartialStab (WEMFace *face, WEMFaceCut *faceCut, int start, int end, WEMIndexedFace *nFace, WEMPatch *wemPatch)
 Adds the given face cut (stab) to nFace, partially between given indices (selectRegion version). More...
 

Detailed Description

Helper namespace for performing operations on a face.

Function Documentation

◆ _addFaceCut() [1/2]

void ml::WEMFaceOp::_addFaceCut ( WEMFace face,
WEMFaceCut faceCut,
WEMIndexedFace nFace,
WEMPatch wemPatch,
bool  reverse,
WEMVector< WEMNode > **  edgeTable,
int *  hitEdgeTable 
)

Adds the given face cut to nFace (selectRegion version).

◆ _addFaceCut() [2/2]

void ml::WEMFaceOp::_addFaceCut ( WEMFace face,
WEMFaceCut faceCut,
WEMIndexedFace nFace,
WEMPatch wemPatch,
bool  reverse,
WEMVector< WEMNode > **  edgeTable1,
int *  hitEdgeTable1,
WEMVector< WEMNode > **  edgeTable2,
int *  hitEdgeTable2 
)

Adds the given face cut to nFace (boolOp version).

◆ _addPartialStab() [1/2]

void ml::WEMFaceOp::_addPartialStab ( WEMFace face,
WEMFaceCut faceCut,
int  start,
int  end,
WEMIndexedFace nFace,
WEMPatch wemPatch 
)

Adds the given face cut (stab) to nFace, partially between given indices (selectRegion version).

◆ _addPartialStab() [2/2]

void ml::WEMFaceOp::_addPartialStab ( WEMFace face,
WEMFaceCut faceCut,
int  start,
int  end,
WEMIndexedFace nFace,
WEMPatch wemPatch,
WEMVector< WEMNode > **  edgeTable2,
int *  hitEdgeTable2 
)

Adds the given face cut (stab) to nFace, partially between given indices (boolOp version).

◆ _addStab() [1/2]

void ml::WEMFaceOp::_addStab ( WEMFace face,
WEMFaceCut faceCut,
WEMIndexedFace nFace,
WEMPatch wemPatch 
)

Adds the given face cut (stab) to nFace (selectRegion version).

◆ _addStab() [2/2]

void ml::WEMFaceOp::_addStab ( WEMFace face,
WEMFaceCut faceCut,
WEMIndexedFace nFace,
WEMPatch wemPatch,
WEMVector< WEMNode > **  edgeTable2,
int *  hitEdgeTable2 
)

Adds the given face cut (stab) to nFace (boolOp version).

◆ cutFace() [1/2]

MLWEM_EXPORT bool ml::WEMFaceOp::cutFace ( WEMFace face,
WEMVector< WEMFaceCut > *  faceCuts,
WEMPatch wemPatch,
WEMVector< WEMIndexedFace > *  cutFaces,
bool  traversedTrue,
WEMNode **  nodeTable,
WEMVector< WEMNode > **  edgeTable,
int *  hitEdgeTable,
unsigned int  intersectingFlag 
)

Applies the given cuts to the given face (selectRegion version).

Returns whether the operation was successful.

◆ cutFace() [2/2]

MLWEM_EXPORT bool ml::WEMFaceOp::cutFace ( WEMFace face,
WEMVector< WEMFaceCut > *  faceCuts,
WEMPatch wemPatch,
WEMVector< WEMIndexedFace > *  cutFaces,
bool  traversedTrue,
WEMNode **  nodeTable,
WEMVector< WEMNode > **  edgeTable1,
int *  hitEdgeTable1,
WEMVector< WEMNode > **  edgeTable2,
int *  hitEdgeTable2,
unsigned int  intersectingFlag 
)

Applies the given cuts to the given face (boolOp version).

Returns whether the operation was successful.

◆ intersectFaces()

MLWEM_EXPORT bool ml::WEMFaceOp::intersectFaces ( WEMFace face1,
WEMVector< WEMPartialFaceCut > *  partialCuts1,
WEMFace face2,
WEMVector< WEMPartialFaceCut > *  partialCuts2 
)

Intersects the two given faces and outputs the partial cuts to the given lists.

◆ smoothFaceNormals()

MLWEM_EXPORT void ml::WEMFaceOp::smoothFaceNormals ( WEMPatch wemPatch,
unsigned int  numSmoothingPasses,
ProgressField progressFld = nullptr 
)

Smooths all face normals.