#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] |