#include <spToolModelCombiner.hpp>
Classes | |
| struct | SFace |
| struct | SLine |
| struct | SModel |
| struct | STriangle |
| struct | SVertex |
Public Member Functions | |
| MeshBooleanOperator () | |
| ~MeshBooleanOperator () | |
| void | combineModels (scene::Mesh *MeshA, scene::Mesh *MeshB, const EModelCombinations Method=COMBINATION_UNION) |
Static Public Member Functions | |
| static void | setPrecision (const f32 Precision) |
| static f32 | getPrecision () |
Friends | |
| bool | cmpModelTrianglePlane (const MeshBooleanOperator::STriangle &obj1, const MeshBooleanOperator::STriangle &obj2) |
| bool | cmpModelCutLinePlane (const MeshBooleanOperator::SLine &obj1, const MeshBooleanOperator::SLine &obj2) |
| bool | cmpModelCutVertexPosition (const MeshBooleanOperator::SVertex &obj1, const MeshBooleanOperator::SVertex &obj2) |
| bool | cmpTrianglePointDistance (const MeshBooleanOperator::SModel::STrianglePointDistance &obj1, const MeshBooleanOperator::SModel::STrianglePointDistance &obj2) |
MeshBooleanOperator is used to combine two models or to cut a model using a mask model. The following methods for combining models can be used:
Model combination methods notes:
+------+
| |
+---+--+ B |
| | | |
| A +--+---+
| |
+------+
COMBINATION_UNION: COMBINATION_DIFFERENCE: COMBINATION_DIFFERENCEINV: COMBINATION_INTERSECTION:
+------+ +------+
| | | |
+---+ B | +---+ B +--+ B | +--+ B
| | | | | | | |
| A +---+ | A +--+ A +---+ A +--+
| | | |
+------+ +------+
| sp::tool::MeshBooleanOperator::MeshBooleanOperator | ( | ) |
| sp::tool::MeshBooleanOperator::~MeshBooleanOperator | ( | ) |
| void sp::tool::MeshBooleanOperator::combineModels | ( | scene::Mesh * | MeshA, | |
| scene::Mesh * | MeshB, | |||
| const EModelCombinations | Method = COMBINATION_UNION | |||
| ) |
Combines two models. The result is the two modified models.
| MeshA,: | First mesh which is to be combined with the second one. | |
| MeshB,: | Second mesh which is to be combined with the first one. | |
| Method,: | Method which specifies how the models are to be combined. |
| static f32 sp::tool::MeshBooleanOperator::getPrecision | ( | ) | [static] |
| static void sp::tool::MeshBooleanOperator::setPrecision | ( | const f32 | Precision | ) | [static] |
| bool cmpModelCutLinePlane | ( | const MeshBooleanOperator::SLine & | obj1, | |
| const MeshBooleanOperator::SLine & | obj2 | |||
| ) | [friend] |
| bool cmpModelCutVertexPosition | ( | const MeshBooleanOperator::SVertex & | obj1, | |
| const MeshBooleanOperator::SVertex & | obj2 | |||
| ) | [friend] |
| bool cmpModelTrianglePlane | ( | const MeshBooleanOperator::STriangle & | obj1, | |
| const MeshBooleanOperator::STriangle & | obj2 | |||
| ) | [friend] |
| bool cmpTrianglePointDistance | ( | const MeshBooleanOperator::SModel::STrianglePointDistance & | obj1, | |
| const MeshBooleanOperator::SModel::STrianglePointDistance & | obj2 | |||
| ) | [friend] |
1.7.1