Blender V2.61 - r43446
|
#include <BOP_BSPTree.h>
Public Member Functions | |
BOP_BSPTree () | |
virtual | ~BOP_BSPTree () |
void | addMesh (BOP_Mesh *mesh, BOP_Faces &facesList) |
void | addFace (BOP_Mesh *mesh, BOP_Face *face) |
virtual void | addFace (const MT_Point3 &p1, const MT_Point3 &p2, const MT_Point3 &p3, const MT_Plane3 &plane) |
BOP_TAG | classifyFace (const MT_Point3 &p1, const MT_Point3 &p2, const MT_Point3 &p3, const MT_Plane3 &plane) const |
BOP_TAG | filterFace (const MT_Point3 &p1, const MT_Point3 &p2, const MT_Point3 &p3, BOP_Face *face) |
BOP_TAG | simplifiedClassifyFace (const MT_Point3 &p1, const MT_Point3 &p2, const MT_Point3 &p3, const MT_Plane3 &plane) const |
unsigned int | getDeep () const |
void | print () |
void | setRoot (BOP_BSPNode *root) |
BOP_BSPNode * | getRoot () const |
Protected Attributes | |
BOP_BSPNode * | m_root |
BOP_BSPNode * | m_bspBB |
BOP_BBox | m_bbox |
Definition at line 41 of file BOP_BSPTree.h.
BOP_BSPTree::BOP_BSPTree | ( | ) |
Constructs a new BSP tree.
Definition at line 40 of file BOP_BSPTree.cpp.
BOP_BSPTree::~BOP_BSPTree | ( | ) | [virtual] |
Destroys a BSP tree.
Definition at line 49 of file BOP_BSPTree.cpp.
Adds a new face into bsp tree.
mesh | Input data for BSP tree. |
face | index to mesh face. |
Definition at line 74 of file BOP_BSPTree.cpp.
References BOP_Face::getPlane(), BOP_Face::getVertex(), and BOP_Mesh::getVertex().
Referenced by addMesh().
void BOP_BSPTree::addFace | ( | const MT_Point3 & | p1, |
const MT_Point3 & | p2, | ||
const MT_Point3 & | p3, | ||
const MT_Plane3 & | plane | ||
) | [virtual] |
Adds new facee to the bsp-tree.
p1 | first face point. |
p2 | second face point. |
p3 | third face point. |
plane | face plane. |
Definition at line 89 of file BOP_BSPTree.cpp.
References BOP_BBox::add(), BOP_BSPNode::addFace(), m_bbox, m_root, and NULL.
Adds all mesh faces to BSP tree.
mesh | mesh to add. |
facesList | face list to add. |
Definition at line 60 of file BOP_BSPTree.cpp.
References addFace().
Referenced by BOP_intersectionBoolOp().
BOP_TAG BOP_BSPTree::classifyFace | ( | const MT_Point3 & | p1, |
const MT_Point3 & | p2, | ||
const MT_Point3 & | p3, | ||
const MT_Plane3 & | plane | ||
) | const |
Tests face vs bsp-tree (returns where is the face respect bsp planes).
p1 | first face triangle point. |
p2 | secons face triangle point. |
p3 | third face triangle point. |
plane | face plane. |
Definition at line 120 of file BOP_BSPTree.cpp.
References BOP_BSPNode::classifyFace(), m_root, NULL, and OUT.
Referenced by BOP_meshFilter().
BOP_TAG BOP_BSPTree::filterFace | ( | const MT_Point3 & | p1, |
const MT_Point3 & | p2, | ||
const MT_Point3 & | p3, | ||
BOP_Face * | face | ||
) |
Filters a face using the BSP bounding infomation.
p1 | first face triangle point. |
p2 | secons face triangle point. |
p3 | third face triangle point. |
face | face to test. |
Definition at line 139 of file BOP_BSPTree.cpp.
References BOP_BSPNode::classifyFace(), BOP_Face::getPlane(), m_bspBB, NULL, and UNCLASSIFIED.
Referenced by BOP_simplifiedMeshFilter().
unsigned int BOP_BSPTree::getDeep | ( | ) | const |
Returns the deep of this BSP tree.
Definition at line 174 of file BOP_BSPTree.cpp.
References BOP_BSPNode::getDeep(), m_root, and NULL.
Referenced by BOP_intersectionBoolOp().
BOP_BSPNode* BOP_BSPTree::getRoot | ( | ) | const [inline] |
Definition at line 72 of file BOP_BSPTree.h.
References m_root.
void BOP_BSPTree::print | ( | ) |
Prints debug information.
Definition at line 185 of file BOP_BSPTree.cpp.
References m_root, NULL, and BOP_BSPNode::print().
void BOP_BSPTree::setRoot | ( | BOP_BSPNode * | root | ) | [inline] |
Definition at line 71 of file BOP_BSPTree.h.
References m_root, and MakeCursor::root.
BOP_TAG BOP_BSPTree::simplifiedClassifyFace | ( | const MT_Point3 & | p1, |
const MT_Point3 & | p2, | ||
const MT_Point3 & | p3, | ||
const MT_Plane3 & | plane | ||
) | const |
Tests face vs bsp-tree (returns where is the face respect bsp planes).
p1 | first face triangle point. |
p2 | secons face triangle point. |
p3 | third face triangle point. |
plane | face plane. |
Definition at line 159 of file BOP_BSPTree.cpp.
References m_root, NULL, OUT, and BOP_BSPNode::simplifiedClassifyFace().
Referenced by BOP_meshClassify().
BOP_BBox BOP_BSPTree::m_bbox [protected] |
Definition at line 46 of file BOP_BSPTree.h.
Referenced by addFace().
BOP_BSPNode* BOP_BSPTree::m_bspBB [protected] |
Definition at line 45 of file BOP_BSPTree.h.
Referenced by BOP_BSPTree(), filterFace(), and ~BOP_BSPTree().
BOP_BSPNode* BOP_BSPTree::m_root [protected] |
Definition at line 44 of file BOP_BSPTree.h.
Referenced by addFace(), BOP_BSPTree(), classifyFace(), getDeep(), getRoot(), print(), setRoot(), simplifiedClassifyFace(), and ~BOP_BSPTree().