OpenLexocad
27.0
|
The BrepData class holds the boundary representation of a FacetedBrep in the form of a model description and unique points. Each added point has an index. The model is formed by using the indices where '-1' indicates the end of a face and '-2' indicates the end of a loop. More...
#include <BrepData.h>
Public Member Functions | |
BrepData () | |
BrepData (double tolerance) | |
~BrepData (void) | |
BrepData::BrepData (const BrepData &p) | |
BrepData (const std::vector< Geom::Pnt > &baseFace, const Geom::Vec &extrude) | |
std::vector< Geom::Pnt > | getPoints () const |
int64_t | getUniquePointsCnt () const |
std::vector< int > | getModel () const |
void | setModel (const std::vector< int > &model) |
bool | checkLoop (const std::vector< int > &model) const |
bool | hasDegeneratedLoops () const |
void | add (pConstBrepData data) |
Adds BrepData to this BrepData. More... | |
int | addUniquePoint (const Geom::Pnt &p) |
Adds a unique point and returns the position of the point. More... | |
int | addModelIndex (int idx) |
Adds a model index and returns the position of the point. More... | |
int | getModelIndexAt (int idx) const |
Throws Base::OutOfRange if index is out of range. More... | |
const Geom::Pnt * | getPointAt (int idx) const |
Throws Base::OutOfRange if index is out of range. More... | |
bool | hasPoint (const Geom::Pnt &p) |
Checks if a point is already in BrepData. More... | |
void | setEmpty () |
Sets the data structure empty. More... | |
bool | isEmpty () const |
Checks if the data structure is empty. More... | |
int | getFaceCount () const |
Returns the number of faces in the Brep. More... | |
std::vector< pConstBrepFace > | getFaces () const |
Returns all faces. More... | |
double | getModelingTolerance () const |
Returns the modeling tolerance of the Brep. More... | |
bool | hasVoids () const |
Checks if the BrepData has voids (holes) More... | |
void | reverse () |
Reverses the orientation of all faces. More... | |
void | lock () |
Lock mutex. More... | |
void | unlock () |
Unlock mutex. More... | |
Geom::BrepData & | operator= (const Geom::BrepData &rhs) |
bool | operator== (const Geom::BrepData &other) const |
bool | operator!= (const Geom::BrepData &other) const |
void | addFace (std::vector< int > index) |
int64_t | addUniquePointCheckIsNew (const Geom::Pnt &p, bool &r_is_new) |
void | transform (const Geom::Trsf &T) |
Geom::BrepData | transformed (const Geom::Trsf &T) const |
Transforms a vector with the transformation T. More... | |
void | dump () |
void | _addPointAtIndex (const Geom::Pnt &p, int idx) |
Adds a point at position 'idx'. This is only for fast restoring of saved data. For internal use. More... | |
Friends | |
class | Core::PropertyBrepData |
class | Core::PropertyBrepDataSet |
class | BrepFace |
class | BrepLoop |
class | Topo::FaceTool |
The BrepData class holds the boundary representation of a FacetedBrep in the form of a model description and unique points. Each added point has an index. The model is formed by using the indices where '-1' indicates the end of a face and '-2' indicates the end of a loop.
Example: model = { 0, 1, 2, 3, -2, -1 }
In the BrepData class all points are unique within a given tolerance. The face normals and the outer loop normals must always point outwards (away from the material) while inner loops point inwards. The FacetedBrep can be open or closed.
Geom::BrepData::BrepData | ( | ) |
Geom::BrepData::BrepData | ( | double | tolerance | ) |
Geom::BrepData::~BrepData | ( | void | ) |
void Geom::BrepData::_addPointAtIndex | ( | const Geom::Pnt & | p, |
int | idx | ||
) |
Adds a point at position 'idx'. This is only for fast restoring of saved data. For internal use.
void Geom::BrepData::add | ( | pConstBrepData | data | ) |
void Geom::BrepData::addFace | ( | std::vector< int > | index | ) |
int Geom::BrepData::addModelIndex | ( | int | idx | ) |
Adds a model index and returns the position of the point.
int Geom::BrepData::addUniquePoint | ( | const Geom::Pnt & | p | ) |
Adds a unique point and returns the position of the point.
int64_t Geom::BrepData::addUniquePointCheckIsNew | ( | const Geom::Pnt & | p, |
bool & | r_is_new | ||
) |
Geom::BrepData::BrepData::BrepData | ( | const BrepData & | p | ) |
bool Geom::BrepData::checkLoop | ( | const std::vector< int > & | model | ) | const |
void Geom::BrepData::dump | ( | ) |
int Geom::BrepData::getFaceCount | ( | ) | const |
Returns the number of faces in the Brep.
std::vector<pConstBrepFace> Geom::BrepData::getFaces | ( | ) | const |
Returns all faces.
std::vector<int> Geom::BrepData::getModel | ( | ) | const |
int Geom::BrepData::getModelIndexAt | ( | int | idx | ) | const |
Throws Base::OutOfRange if index is out of range.
|
inline |
Returns the modeling tolerance of the Brep.
const Geom::Pnt* Geom::BrepData::getPointAt | ( | int | idx | ) | const |
Throws Base::OutOfRange if index is out of range.
std::vector<Geom::Pnt> Geom::BrepData::getPoints | ( | ) | const |
int64_t Geom::BrepData::getUniquePointsCnt | ( | ) | const |
bool Geom::BrepData::hasDegeneratedLoops | ( | ) | const |
bool Geom::BrepData::hasVoids | ( | ) | const |
Checks if the BrepData has voids (holes)
bool Geom::BrepData::isEmpty | ( | ) | const |
Checks if the data structure is empty.
void Geom::BrepData::lock | ( | ) |
Lock mutex.
bool Geom::BrepData::operator!= | ( | const Geom::BrepData & | other | ) | const |
Geom::BrepData& Geom::BrepData::operator= | ( | const Geom::BrepData & | rhs | ) |
bool Geom::BrepData::operator== | ( | const Geom::BrepData & | other | ) | const |
void Geom::BrepData::reverse | ( | ) |
Reverses the orientation of all faces.
void Geom::BrepData::setEmpty | ( | ) |
Sets the data structure empty.
void Geom::BrepData::setModel | ( | const std::vector< int > & | model | ) |
void Geom::BrepData::transform | ( | const Geom::Trsf & | T | ) |
Geom::BrepData Geom::BrepData::transformed | ( | const Geom::Trsf & | T | ) | const |
Transforms a vector with the transformation T.
void Geom::BrepData::unlock | ( | ) |
Unlock mutex.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |