Go to the documentation of this file.
8 class PropertyBrepData;
9 class PropertyBrepDataSet;
35 LX_GEOM_EXTERN
template class LX_GEOM_EXPORT std::weak_ptr<const Geom::BrepData>;
36 LX_GEOM_EXTERN
template class LX_GEOM_EXPORT std::weak_ptr<const Geom::BrepFace>;
37 LX_GEOM_EXTERN
template class LX_GEOM_EXPORT std::enable_shared_from_this<const Geom::BrepData>;
38 LX_GEOM_EXTERN
template class LX_GEOM_EXPORT std::enable_shared_from_this<const Geom::BrepFace>;
46 class LX_GEOM_EXPORT
BrepEdge :
public std::enable_shared_from_this<const Geom::BrepEdge>
68 class LX_GEOM_EXPORT
BrepFace :
public std::enable_shared_from_this<const Geom::BrepFace>
80 BrepFaceP* _pimpl =
nullptr;
95 BrepLoopP* _pimpl =
nullptr;
116 class LX_GEOM_EXPORT
BrepData :
public std::enable_shared_from_this<const Geom::BrepData>
208 std::vector<int> model;
int getFaceCount() const
Returns the number of faces in the Brep.
std::shared_ptr< const Geom::BrepFace > pConstBrepFace
Definition: BrepData.h:32
std::vector< Geom::Pnt > getPoints() const
bool operator!=(const Geom::BrepData &other) const
friend class BrepFace
Definition: BrepData.h:129
bool hasVoids() const
Checks if the BrepData has voids (holes)
BrepFace(pConstBrepData elem, int idx, size_t itPos)
void setModel(const std::vector< int > &model)
std::shared_ptr< Geom::BrepData > pBrepData
Definition: BrepData.h:28
Definition: BrepData.h:69
Defines a non-persistent vector in 3D space.
Definition: Vec.h:41
pConstBrepLoop getOuterLoop() const
std::shared_ptr< Geom::BrepFace > pBrepFace
Definition: BrepData.h:29
int addModelIndex(int idx)
Adds a model index and returns the position of the point.
Definition: PropertyBrepData.h:38
void reverse()
Reverses the orientation of all faces.
void setEmpty()
Sets the data structure empty.
BrepLoop(pConstBrepFace face, const std::vector< int > &model)
bool checkLoop(const std::vector< int > &model) const
The BrepData class holds the boundary representation of a FacetedBrep in the form of a model descript...
Definition: BrepData.h:117
bool isEmpty() const
Checks if the data structure is empty.
int64_t getUniquePointsCnt() const
void addFace(std::vector< int > index)
int64_t addUniquePointCheckIsNew(const Geom::Pnt &p, bool &r_is_new)
Geom::BrepData transformed(const Geom::Trsf &T) const
Transforms a vector with the transformation T.
void getPolygon(std::vector< Geom::Pnt > &poly) const
bool hasDegeneratedLoops() const
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:44
BrepData(const std::vector< Geom::Pnt > &baseFace, const Geom::Vec &extrude)
void add(pConstBrepData data)
Adds BrepData to this BrepData.
Definition: BrepData.h:85
std::vector< int > getModel() const
const std::vector< int > & getModel() const
std::vector< pConstBrepLoop > getInnerLoops() const
std::shared_ptr< const Geom::BrepData > pConstBrepData
Definition: BrepData.h:31
Geom::BrepData & operator=(const Geom::BrepData &rhs)
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.
const Geom::Pnt * getPointAt(int idx) const
Throws Base::OutOfRange if index is out of range.
BrepData(double tolerance)
Definition: PointMapWithTolerance.h:11
Definition: BrepData.h:59
double getModelingTolerance() const
Returns the modeling tolerance of the Brep.
Definition: BrepData.h:172
void unlock()
Unlock mutex.
Definition: PropertyBrepData.h:10
bool hasPoint(const Geom::Pnt &p)
Checks if a point is already in BrepData.
int getModelIndexAt(int idx) const
Throws Base::OutOfRange if index is out of range.
std::vector< const Geom::Pnt * > getPolygonPtr() const
std::vector< pConstBrepFace > getFaces() const
Returns all faces.
friend class BrepLoop
Definition: BrepData.h:130
BrepData(const BrepData &p)
Definition: BrepData.h:47
std::shared_ptr< const Geom::BrepLoop > pConstBrepLoop
Definition: BrepData.h:33
std::shared_ptr< Geom::BrepFace > pBrepLoop
Definition: BrepData.h:30
void transform(const Geom::Trsf &T)
bool getFaceNormal(Geom::Dir &normal, Geom::Pnt &pntOnFace) const
Definition: BrepData.h:52
bool operator==(const Geom::BrepData &other) const
std::vector< int > getModel() const
pConstBrepData getElement() const
int addUniquePoint(const Geom::Pnt &p)
Adds a unique point and returns the position of the point.
Definition: PropertyContainer.h:33