Blender V2.61 - r43446
Functions

BOP_Face2Face.h File Reference

#include "BOP_Mesh.h"
#include "BOP_Segment.h"
#include "BOP_Triangulator.h"
#include "BOP_Splitter.h"
#include "BOP_BSPTree.h"

Go to the source code of this file.

Functions

void BOP_Face2Face (BOP_Mesh *mesh, BOP_Faces *facesA, BOP_Faces *facesB)
void BOP_sew (BOP_Mesh *mesh, BOP_Faces *facesA, BOP_Faces *facesB)
void BOP_removeOverlappedFaces (BOP_Mesh *mesh, BOP_Faces *facesA, BOP_Faces *facesB)

Detailed Description

Definition in file BOP_Face2Face.h.


Function Documentation

void BOP_Face2Face ( BOP_Mesh mesh,
BOP_Faces facesA,
BOP_Faces facesB 
)

Computes intersections between faces of both lists.

Parameters:
meshmesh that contains the faces, edges and vertices
facesAset of faces from object A
facesBset of faces from object B

Two optimizations were added here: 1) keep the bounding box for a face once it's created; this is especially important for B faces, since they were being created and recreated over and over 2) associate a "split" index in the faceB vector with each A face; when an A face is split, we will not need to recheck any B faces have already been checked against that original A face

Definition at line 161 of file BOP_Face2Face.cpp.

References BOP_containsPoint(), BOP_intersectCoplanarFaces(), BOP_intersectNonCoplanarFaces(), BOP_orientation(), BROKEN, BOP_Face::getBBox(), BOP_Face::getPlane(), BOP_Face::getSplit(), BOP_Face::getTAG(), BOP_Face::getVertex(), BOP_Mesh::getVertex(), BOP_BBox::intersect(), NULL, PHANTOM, BOP_Face::setBBox(), and BOP_Face::setSplit().

Referenced by BOP_intersectionBoolOp().

void BOP_removeOverlappedFaces ( BOP_Mesh mesh,
BOP_Faces facesA,
BOP_Faces facesB 
)

Removes faces from facesB that are overlapped with anyone from facesA.

Parameters:
meshmesh that contains the faces, edges and vertices
facesAset of faces from object A
facesBset of faces from object B

Definition at line 1171 of file BOP_Face2Face.cpp.

References BOP_containsPoint(), BOP_overlap(), BROKEN, BOP_Face::getPlane(), BOP_Face::getTAG(), BOP_Face::getVertex(), BOP_Mesh::getVertex(), i, OVERLAPPED, BOP_Face::setTAG(), MT_Tuple4::x(), MT_Tuple4::y(), and MT_Tuple4::z().

Referenced by BOP_intersectionBoolOp().

void BOP_sew ( BOP_Mesh mesh,
BOP_Faces facesA,
BOP_Faces facesB 
)

Computes intesections of coplanars faces from object A with faces from object B.

Parameters:
meshmesh that contains the faces, edges and vertices
facesAset of faces from object A
facesBset of faces from object B

Definition at line 235 of file BOP_Face2Face.cpp.

References BOP_containsPoint(), BOP_intersectCoplanarFaces(), BOP_orientation(), BROKEN, BOP_Face::getPlane(), BOP_Face::getTAG(), BOP_Face::getVertex(), BOP_Mesh::getVertex(), and PHANTOM.

Referenced by BOP_intersectionBoolOp().