Blender V2.61 - r43446
Public Member Functions

BOP_Mesh Class Reference

#include <BOP_Mesh.h>

List of all members.

Public Member Functions

 BOP_Mesh ()
 ~BOP_Mesh ()
BOP_Index addVertex (MT_Point3 point)
BOP_Index addFace (BOP_Face *face)
BOP_Index addFace (BOP_Face3 *face)
BOP_Index addFace (BOP_Face4 *face)
BOP_VertexgetVertex (BOP_Index v)
BOP_FacegetFace (BOP_Index v)
BOP_EdgegetEdge (BOP_Index v)
BOP_EdgegetEdge (BOP_Face *face, unsigned int edge)
BOP_EdgegetEdge (BOP_Face3 *face, unsigned int edge)
BOP_EdgegetEdge (BOP_Face4 *face, unsigned int edge)
BOP_EdgegetEdge (BOP_Index v1, BOP_Index v2)
bool getIndexEdge (BOP_Index v1, BOP_Index v2, BOP_Index &e)
BOP_VertexsgetVertexs ()
BOP_EdgesgetEdges ()
BOP_FacesgetFaces ()
BOP_FacegetFace (BOP_Index v1, BOP_Index v2, BOP_Index v3)
bool getIndexFace (BOP_Index v1, BOP_Index v2, BOP_Index v3, BOP_Index &f)
unsigned int getNumVertexs ()
unsigned int getNumEdges ()
unsigned int getNumFaces ()
unsigned int getNumVertexs (BOP_TAG tag)
unsigned int getNumFaces (BOP_TAG tag)
BOP_Index replaceVertexIndex (BOP_Index oldIndex, BOP_Index newIndex)
bool isClosedMesh ()
void print ()
void printFormat ()
void printFormat (BOP_Faces *faces)
void saveFormat (BOP_Faces *faces, char *filename)
void printFace (BOP_Face *face, int col=0)
void testPlane (BOP_Face *face)
void testMesh ()
void updatePlanes ()

Detailed Description

Definition at line 55 of file BOP_Mesh.h.


Constructor & Destructor Documentation

BOP_Mesh::BOP_Mesh ( )

Definition at line 43 of file BOP_Mesh.cpp.

References hash, and NULL.

BOP_Mesh::~BOP_Mesh ( )

Destroys a mesh.

Definition at line 57 of file BOP_Mesh.cpp.

References BLI_freelistN(), hash, MEM_freeN(), and NULL.


Member Function Documentation

BOP_Index BOP_Mesh::addFace ( BOP_Face face)

Adds a new face.

Parameters:
facemesh face
Returns:
mesh face index

Definition at line 234 of file BOP_Mesh.cpp.

References BOP_Face::size().

Referenced by BOP_addFace(), BOP_addMesh(), and clean_nonmanifold().

BOP_Index BOP_Mesh::addFace ( BOP_Face4 face)

Adds a new quad.

Parameters:
facemesh quad
Returns:
mesh face index

Definition at line 294 of file BOP_Mesh.cpp.

References BOP_Vertex::addEdge(), BOP_Edge::addFace(), BROKEN, getIndexEdge(), BOP_Face::getVertex(), getVertex(), and BOP_Face::setTAG().

BOP_Index BOP_Mesh::addFace ( BOP_Face3 face)

Adds a new triangle.

Parameters:
facemesh triangle
Returns:
mesh face index

Definition at line 247 of file BOP_Mesh.cpp.

References BOP_Vertex::addEdge(), BOP_Edge::addFace(), BROKEN, getIndexEdge(), BOP_Face::getVertex(), getVertex(), and BOP_Face::setTAG().

BOP_Index BOP_Mesh::addVertex ( MT_Point3  p)

Adds a new vertex.

Parameters:
pvertex point
Returns:
mesh vertex index

Definition at line 92 of file BOP_Mesh.cpp.

Referenced by BOP_addMesh(), and BOP_getVertexIndex().

BOP_Edge * BOP_Mesh::getEdge ( BOP_Face face,
unsigned int  edge 
)

Returns the mesh edge on the specified face and relative edge index.

Parameters:
facemesh face
edgeface relative edge index
Returns:
mesh edge on the specified face and relative index, NULL otherwise

Definition at line 490 of file BOP_Mesh.cpp.

References BOP_Face::size().

BOP_Edge * BOP_Mesh::getEdge ( BOP_Face3 face,
unsigned int  edge 
)

Returns the mesh edge on the specified triangle and relative edge index.

Parameters:
facemesh triangle
edgeface relative edge index
Returns:
mesh edge on the specified triangle and relative index, NULL otherwise

Definition at line 504 of file BOP_Mesh.cpp.

References BOP_Face::getVertex(), and NULL.

BOP_Edge * BOP_Mesh::getEdge ( BOP_Face4 face,
unsigned int  edge 
)

Returns the mesh edge on the specified quad and relative edge index.

Parameters:
facemesh quad
edgeface relative edge index
Returns:
mesh edge on the specified quad and relative index, NULL otherwise

Definition at line 524 of file BOP_Mesh.cpp.

References BOP_Face::getVertex(), and NULL.

BOP_Edge * BOP_Mesh::getEdge ( BOP_Index  v1,
BOP_Index  v2 
)

Returns the mesh edge with the specified vertex indexs.

Parameters:
v1vertex index
v2vertex index
Returns:
mesh edge with the specified vertex indexs, NULL otherwise

Definition at line 384 of file BOP_Mesh.cpp.

References HASH, hash, EdgeEntry::next, NULL, and EdgeEntry::v1.

BOP_Edge * BOP_Mesh::getEdge ( BOP_Index  i)

Returns the mesh edge with the specified index.

Parameters:
iedge index
Returns:
edge with the specified index

Definition at line 622 of file BOP_Mesh.cpp.

References i.

BOP_Edges & BOP_Mesh::getEdges ( )

Returns the edges set of this mesh.

Returns:
edges set

Definition at line 593 of file BOP_Mesh.cpp.

Referenced by clean_nonmanifold().

BOP_Face * BOP_Mesh::getFace ( BOP_Index  v1,
BOP_Index  v2,
BOP_Index  v3 
)

Returns the mesh face with the specified vertex indexs.

Parameters:
v1vertex index
v2vertex index
v3vertex index
Returns:
mesh edge with the specified vertex indexs, NULL otherwise

Definition at line 547 of file BOP_Mesh.cpp.

References NULL.

BOP_Face * BOP_Mesh::getFace ( BOP_Index  i)

Returns the mesh face with the specified index.

Parameters:
iface index
Returns:
face with the specified index

Definition at line 632 of file BOP_Mesh.cpp.

References i.

Referenced by BOP_getOppositeFace(), BOP_mergeVertexs(), clean_nonmanifold(), and deleteFace().

BOP_Faces & BOP_Mesh::getFaces ( )

Returns the faces set of this mesh.

Returns:
faces set

Definition at line 602 of file BOP_Mesh.cpp.

Referenced by BOP_exportMesh(), deleteFace(), and removeBrokenFaces().

bool BOP_Mesh::getIndexEdge ( BOP_Index  v1,
BOP_Index  v2,
BOP_Index e 
)

Returns the mesh edge index with the specified vertex indexs.

Parameters:
v1vertex index
v2vertex index
eedge index with the specified vertex indexs
Returns:
true if there is a mesh edge with the specified vertex indexs, false otherwise

Definition at line 426 of file BOP_Mesh.cpp.

References credits_svn_gen::e, HASH, hash, EdgeEntry::next, and EdgeEntry::v1.

Referenced by addFace().

bool BOP_Mesh::getIndexFace ( BOP_Index  v1,
BOP_Index  v2,
BOP_Index  v3,
BOP_Index f 
)

Returns the mesh face index with the specified vertex indexs.

Parameters:
v1vertex index
v2vertex index
v3vertex index
fface index with the specified vertex indexs
Returns:
true if there is a mesh face with the specified vertex indexs, false otherwise

Definition at line 566 of file BOP_Mesh.cpp.

unsigned int BOP_Mesh::getNumEdges ( )

Returns the number of edges of this mesh.

Returns:
number of edges

Definition at line 650 of file BOP_Mesh.cpp.

unsigned int BOP_Mesh::getNumFaces ( )

Returns the number of faces of this mesh.

Returns:
number of faces

Definition at line 659 of file BOP_Mesh.cpp.

Referenced by BOP_intersectCoplanarFaces(), BOP_intersectNonCoplanarFaces(), and BOP_mergeVertexs().

unsigned int BOP_Mesh::getNumFaces ( BOP_TAG  tag)

Returns the number of faces of this mesh with the specified tag.

Returns:
number of faces with the specified tag

Definition at line 681 of file BOP_Mesh.cpp.

unsigned int BOP_Mesh::getNumVertexs ( )

Returns the number of vertices of this mesh.

Returns:
number of vertices

Definition at line 641 of file BOP_Mesh.cpp.

Referenced by BOP_addMesh(), and BOP_intersectionBoolOp().

unsigned int BOP_Mesh::getNumVertexs ( BOP_TAG  tag)

Returns the number of vertices of this mesh with the specified tag.

Returns:
number of vertices with the specified tag

Definition at line 668 of file BOP_Mesh.cpp.

BOP_Vertex * BOP_Mesh::getVertex ( BOP_Index  i)
BOP_Vertexs & BOP_Mesh::getVertexs ( )

Returns the vertices set of this mesh.

Returns:
vertices set

Definition at line 584 of file BOP_Mesh.cpp.

Referenced by BOP_exportMesh().

bool BOP_Mesh::isClosedMesh ( )

Definition at line 789 of file BOP_Mesh.cpp.

References BROKEN, BOP_Edge::getFaces(), and i.

Referenced by BOP_performBooleanOperation().

void BOP_Mesh::print ( )
void BOP_Mesh::printFace ( BOP_Face face,
int  col = 0 
)
void BOP_Mesh::printFormat ( )
void BOP_Mesh::printFormat ( BOP_Faces faces)
BOP_Index BOP_Mesh::replaceVertexIndex ( BOP_Index  oldIndex,
BOP_Index  newIndex 
)
void BOP_Mesh::saveFormat ( BOP_Faces faces,
char *  filename 
)
void BOP_Mesh::testMesh ( )

Referenced by BOP_intersectionBoolOp().

void BOP_Mesh::testPlane ( BOP_Face face)
void BOP_Mesh::updatePlanes ( )

The documentation for this class was generated from the following files: