Blender V2.61 - r43446
|
#include "../extern/BOP_Interface.h"
#include "../../bsp/intern/BSP_CSGMesh_CFIterator.h"
#include <carve/csg_triangulator.hpp>
#include <carve/interpolator.hpp>
#include <carve/rescale.hpp>
Go to the source code of this file.
Defines | |
#define | MAX(x, y) ((x)>(y)?(x):(y)) |
#define | MIN(x, y) ((x)<(y)?(x):(y)) |
Typedefs | |
typedef unsigned int | uint |
Functions | |
static int | isFacePlanar (CSG_IFace &face, std::vector< carve::geom3d::Vector > &vertices) |
static carve::mesh::MeshSet< 3 > * | Carve_addMesh (CSG_FaceIteratorDescriptor &face_it, CSG_VertexIteratorDescriptor &vertex_it, carve::interpolate::FaceAttr< uint > &oface_num, uint &num_origfaces) |
static uint | quadMerge (std::map< carve::mesh::MeshSet< 3 >::vertex_t *, uint > *vertexToIndex_map, carve::mesh::MeshSet< 3 >::face_t *f1, carve::mesh::MeshSet< 3 >::face_t *f2, uint v, uint quad[4]) |
static BSP_CSGMesh * | Carve_exportMesh (carve::mesh::MeshSet< 3 > *&poly, carve::interpolate::FaceAttr< uint > &oface_num, uint num_origfaces) |
BoolOpState | BOP_performBooleanOperation (BoolOpType opType, BSP_CSGMesh **outputMesh, CSG_FaceIteratorDescriptor obAFaces, CSG_VertexIteratorDescriptor obAVertices, CSG_FaceIteratorDescriptor obBFaces, CSG_VertexIteratorDescriptor obBVertices) |
Definition in file BOP_CarveInterface.cpp.
#define MAX | ( | x, | |
y | |||
) | ((x)>(y)?(x):(y)) |
Definition at line 41 of file BOP_CarveInterface.cpp.
Referenced by BOP_performBooleanOperation(), WTURBULENCE::computeEigenvalues(), LbmFsgrSolver::handleCpdata(), BasicVector::Vector3Dim< Scalar >::maximize(), and ntlVector3Dim< Scalar >::maximize().
#define MIN | ( | x, | |
y | |||
) | ((x)<(y)?(x):(y)) |
Definition at line 42 of file BOP_CarveInterface.cpp.
Referenced by __nlSparseMatrixConstruct(), BOP_performBooleanOperation(), WTURBULENCE::computeEigenvalues(), LbmFsgrSolver::debugDisplayNode(), LbmFsgrSolver::handleCpdata(), BasicVector::Vector3Dim< Scalar >::minimize(), ntlVector3Dim< Scalar >::minimize(), ntlSetVec3f::operator*=(), and ntlSetVec3f::operator+=().
typedef unsigned int uint |
Definition at line 39 of file BOP_CarveInterface.cpp.
BoolOpState BOP_performBooleanOperation | ( | BoolOpType | opType, |
BSP_CSGMesh ** | outputMesh, | ||
CSG_FaceIteratorDescriptor | obAFaces, | ||
CSG_VertexIteratorDescriptor | obAVertices, | ||
CSG_FaceIteratorDescriptor | obBFaces, | ||
CSG_VertexIteratorDescriptor | obBVertices | ||
) |
Performs a generic booleam operation, the entry point for external modules.
opType | Boolean operation type BOP_INTERSECTION, BOP_UNION, BOP_DIFFERENCE |
outputMesh | Output mesh, the final result (the object C) |
obAFaces | Object A faces list |
obAVertices | Object A vertices list |
obBFaces | Object B faces list |
obBVertices | Object B vertices list |
interpFunc | Interpolating function |
Definition at line 332 of file BOP_CarveInterface.cpp.
References BOP_DIFFERENCE, BOP_ERROR, BOP_INTERSECTION, BOP_OK, BOP_UNION, Carve_addMesh(), Carve_exportMesh(), i, left(), MAX, max, MIN, min, and NULL.
static carve::mesh::MeshSet<3>* Carve_addMesh | ( | CSG_FaceIteratorDescriptor & | face_it, |
CSG_VertexIteratorDescriptor & | vertex_it, | ||
carve::interpolate::FaceAttr< uint > & | oface_num, | ||
uint & | num_origfaces | ||
) | [static] |
Definition at line 64 of file BOP_CarveInterface.cpp.
References CSG_FaceIteratorDescriptor::Done, CSG_VertexIteratorDescriptor::Done, CSG_VertexIteratorDescriptor::Fill, CSG_FaceIteratorDescriptor::Fill, i, isFacePlanar(), CSG_FaceIteratorDescriptor::it, CSG_VertexIteratorDescriptor::it, CSG_IFace::orig_face, CSG_IVertex::position, CSG_FaceIteratorDescriptor::Step, CSG_VertexIteratorDescriptor::Step, CSG_IFace::vertex_index, and CSG_IFace::vertex_number.
Referenced by BOP_performBooleanOperation().
static BSP_CSGMesh* Carve_exportMesh | ( | carve::mesh::MeshSet< 3 > *& | poly, |
carve::interpolate::FaceAttr< uint > & | oface_num, | ||
uint | num_origfaces | ||
) | [static] |
Definition at line 191 of file BOP_CarveInterface.cpp.
References BSP_CSGMesh::BuildEdges(), BSP_CSGMesh::FaceSet(), i, BSP_MVertex::m_edges, BSP_MFace::m_orig_face, BSP_MFace::m_plane, BSP_MFace::m_verts, BSP_CSGMesh::New(), NULL, quadMerge(), MT_Tuple4::setValue(), BSP_CSGMesh::SetVertices(), and BSP_CSGMesh::VertexSet().
Referenced by BOP_performBooleanOperation().
static int isFacePlanar | ( | CSG_IFace & | face, |
std::vector< carve::geom3d::Vector > & | vertices | ||
) | [static] |
Definition at line 44 of file BOP_CarveInterface.cpp.
References cross(), dot(), credits_svn_gen::e, fabs(), CSG_IFace::vertex_index, and CSG_IFace::vertex_number.
Referenced by Carve_addMesh().
static uint quadMerge | ( | std::map< carve::mesh::MeshSet< 3 >::vertex_t *, uint > * | vertexToIndex_map, |
carve::mesh::MeshSet< 3 >::face_t * | f1, | ||
carve::mesh::MeshSet< 3 >::face_t * | f2, | ||
uint | v, | ||
uint | quad[4] | ||
) | [static] |
Definition at line 142 of file BOP_CarveInterface.cpp.
Referenced by Carve_exportMesh().