![]() |
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().