C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
Face loop. More...
#include <topology.h>
Public Member Functions | |
MbLoop () | |
Empty constructor. | |
template<class OrientEdges > | |
MbLoop (const OrientEdges &initList) | |
Constructor by oriented edge or array of oriented edges. | |
virtual | ~MbLoop () |
Destructor. | |
MbeTopologyType | IsA () const override |
A type of element. | |
void | CheckVertices () |
Check and reconcile vertices of the loop. | |
size_t | GetEdgesCount () const |
Get the number of edges of the loop. | |
MbeLabelState | GetLabel (void *key=nullptr) const |
Get a label of the loop. | |
void | SetOwnLabel (MbeLabelState l, void *key=nullptr) const |
Set a label of the loop. | |
void | SetLabelThrough (MbeLabelState l, void *key=nullptr) const |
Set a label for self and loop vertices. | |
void | SetLabelThrough (MbeLabelState l, void *key, bool setLock) const |
Set a label for self and loop vertices. | |
void | RemovePrivateLabelThrough (void *key) const |
Remove private label for self and loop edges. | |
void | SetCurveEdgesLabel (MbeLabelState, void *key=nullptr) const |
Set a label for edges. | |
void | CheckEdgesLabel (void *key=nullptr) const |
Check edges labels and set own label. | |
void | RemovePrivateLabel (void *key=nullptr) const |
Remove private label. | |
template<class VerticesVector > | |
void | GetVertices (VerticesVector &vertices) const |
Get a set of loop vertices. | |
template<class VerticesSet > | |
void | GetVerticesSet (VerticesSet &vertices) const |
Get a set of loop vertices. | |
template<class EdgesVector > | |
void | GetEdges (EdgesVector &edges, bool findSame=true) const |
Get a set of face edges. | |
template<class EdgesSet > | |
void | GetEdgesSet (EdgesSet &edges) const |
Get a set of face edges. | |
template<class EdgesVector , class EdgesSet > | |
void | GetEdges (EdgesVector &edges, EdgesSet &edgesCache) const |
Get a set of face unique edges. | |
template<class OrientedEdgesVector > | |
void | GetOrientedEdges (OrientedEdgesVector &edges, bool findSame=true) const |
Get a set of oriented edges. | |
void | InitOrientedEdge (size_t edgeIndex, MbCurveEdge &initEdge, bool initOrientation, bool replaceVertices) |
Replacement of the basis edge. | |
MbOrientedEdge * | GetOrientedEdge (size_t index) const |
Get an oriented edge by the number. | |
MbOrientedEdge * | SetOrientedEdge (size_t index) |
Get an oriented edge by the number. | |
MbOrientedEdge * | _GetOrientedEdge (size_t index) const |
Get an oriented edge by the number without check of correctness of the index. | |
MbOrientedEdge * | _SetOrientedEdge (size_t index) |
Get an oriented edge by the number without check of correctness of the index. | |
void | _AddEdge (const MbOrientedEdge &) |
Add an edge without check. | |
void | _InsertEdge (size_t k, const MbOrientedEdge &) |
Insert an edge at the given index without check of index correctness. | |
void | _AddEdgeAfter (const MbOrientedEdge &, size_t k) |
Add an edge after an edge at the given index without check of index correctness. | |
void | AddEdge (const MbOrientedEdge &) |
Add an edge. | |
void | InsertEdge (size_t k, MbOrientedEdge &) |
Insert an edge before an edge at the given index. | |
void | AddEdgeAfter (MbOrientedEdge &, size_t k) |
Add an edge after an edge at the given index. | |
MbOrientedEdge * | DetachEdge (size_t index) |
Detach an edge at the given index. | |
void | DeleteEdge (size_t index) |
Delete an edge at the given index. | |
void | DetachEdges (bool setNullToFace=false) |
Detach all edges from the loop. | |
void | DeleteEdges (bool setNullToFace=false) |
Delete all edges of the loop. | |
size_t | GetEdgeIndex (const MbCurveEdge &edge, bool orient) const |
Get the number of a face edge in the loop. | |
bool | FindNeighbourEdge (const MbCurveEdge &edge, bool orient, bool next, MbCurveEdge *&findEdge, bool &findOrient) const |
Find the next edge after the given one (next==true) or before the given one (next==false). | |
void | PartialReverse () |
Change orientation of the loop (the order of oriented edges and their orientation). | |
void | Inverse () |
Change the order of oriented edges without changing of their orientation. | |
bool | IsVertexOn (const MbVertex *vertex, size_t *index=nullptr) const |
Does a vertex belong a path? | |
void | ChangeSurface (MbSurface &oldSurf, MbSurface &newSurf, bool orient) |
Replacement of the pointers to a surface. | |
const MbVertex * | FindVertexByName (const MbName &) const |
Find loop vertex by name. | |
const MbCurveEdge * | FindEdgeByName (const MbName &) const |
Find loop edge by name. | |
const MbVertex * | FindVertexByHash (const SimpleName h) const |
Find loop vertex by hash of a name. | |
const MbCurveEdge * | FindEdgeByHash (const SimpleName h) const |
Find loop edge by hash of a name. | |
MbContour & | MakeContour (const MbSurface &surf, bool faceSense, bool doExact, MbRegDuplicate *iReg, bool calculateMetricLength=true) const |
Create two-dimensional contour by loop. | |
MbContour & | MakeContour (const MbSurface &surf, bool faceSense, bool calculateMetricLength=true) const |
Create two-dimensional contour by loop. | |
MbContourOnSurface & | MakeContourOnSurface (const MbSurface &surf, bool faceSense, bool doExact=false) const |
Create contour on surface by loop. | |
MbContour3D & | MakeContour3D (bool doExact=false) const |
Create spatial contour by loop. | |
bool | CalculateGabarit (const MbSurface &, bool faceSense) const |
Calculate bounding box of loop. | |
bool | GetGabarit (const MbSurface &, bool faceSense, MbRect &r) const |
Calculate bounding rectangle of loop. | |
const MbRect & | GetGabarit (const MbSurface &surf, bool faceSense) const |
Direct access to the variable of bounding box with a call of calculation. | |
const MbRect & | GetGabarit () const |
Direct access to the variable of bounding box without a call of calculation. | |
void | CopyGabarit (const MbContour &c) |
Copy bounding box from contour. | |
void | CopyGabarit (const MbLoop &c) const |
Copy bounding box of loop. | |
void | SetEmptyGabarit () const |
Reset bounding box - make it undefined. | |
void | GetProperties (MbProperties &) |
Get properties of the object. | |
void | SetProperties (const MbProperties &) |
Set properties of the object. | |
void | Transform (const MbMatrix3D &, MbRegTransform *=nullptr) |
Transform an object according to the matrix. | |
void | Move (const MbVector3D &, MbRegTransform *=nullptr) |
Move an object along a vector. | |
void | Rotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr) |
Rotate an object at a given angle around an axis. | |
void | Move (MbVector &, const MbSurface &, bool) |
Move two-dimensional curves along the vector in the surface parameter region (all at once). | |
bool | IsBoundaryFace (double mEps=Math::metricEpsilon) const |
Is a contour boundary? | |
void | EdgesReserve (size_t additionalSpace) |
Reserve space for a given number of elements. | |
void | EdgesAdjust () |
Free the unnecessary memory. | |
![]() | |
MbeRefType | RefType () const override |
Registration type (for copying, duplication). | |
void | PrepareWrite () const |
Prepare an object for writing. | |
bool | IsAVertex () const |
Is it a vertex? | |
bool | IsAWireEdge () const |
Is it an edge of wireframe? | |
bool | IsAnEdge () const |
Is it an edge? | |
bool | IsAFace () const |
Is it a face? | |
bool | IsAShell () const |
Is it a shell? | |
bool | IsAProxy () const |
Is it a proxy? | |
![]() | |
refcount_t | GetUseCount () const |
Get count of references (get count of owners of an object). | |
refcount_t | AddRef () const |
Increase count of references by one. | |
refcount_t | DecRef () const |
Decrease count of references by one. | |
refcount_t | Release () const |
Decrease count of references by one and if count of references became zero, then remove itself. | |
![]() | |
TapeBase (RegistrableRec regs=noRegistrable) | |
Constructor. | |
TapeBase (const TapeBase &) | |
Copy-constructor. | |
virtual | ~TapeBase () |
Destructor. | |
RegistrableRec | GetRegistrable () const |
Whether the stream class is registrable. | |
void | SetRegistrable (RegistrableRec regs=registrable) const |
Set the state of registration of the stream class. | |
virtual const char * | GetPureName (const VersionContainer &) const |
Get the class name. | |
virtual bool | IsFamilyRegistrable () const |
Whether the object belongs to a registrable family. | |
![]() | |
void | Lock () const |
Switch lock on (locking happens only in parallel region). | |
void | Unlock () const |
Switch lock off if locking has been set. | |
Protected Attributes | |
RPArray< MbOrientedEdge > | edgeList |
An array of edges forming a loop. | |
MbRect | rect |
A bounding box in a surface parameter space. | |
MbLabel | label |
Temporary label for performing of operations. | |
Additional Inherited Members | |
![]() | |
MbTopItem () | |
Constructor. | |
![]() | |
MbRefItem () | |
Constructor without parameters. | |
Face loop.
A face loop represents a closed composite curve passing along the face boundary.
A loop is formed by a sequence of oriented edges MbOrientedEdge. A loop is always closed.
A loop is directed in such way that the face is always located on the left side, if the moving along the loop is performed on the face external side.