Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
Poly_CoherentLink Class Reference

#include <Poly_CoherentLink.hxx>

Public Member Functions

 Poly_CoherentLink ()
 
 Poly_CoherentLink (const int iNode0, const int iNode1)
 
 Poly_CoherentLink (const Poly_CoherentTriangle &theTri, int iSide)
 
int Node (const int ind) const
 
int OppositeNode (const int ind) const
 
voidGetAttribute () const
 
void SetAttribute (void *const theAtt)
 
bool IsEmpty () const noexcept
 
void Nullify ()
 

Detailed Description

Link between two mesh nodes that is created by existing triangle(s). Keeps reference to the opposite node of each incident triangle. The referred node with index "0" is always on the left side of the link, the one with the index "1" is always on the right side. It is possible to find both incident triangles using the method Poly_CoherentTriangulation::FindTriangle().

Any Link can store an arbitrary pointer that is called Attribute.

Constructor & Destructor Documentation

◆ Poly_CoherentLink() [1/3]

Poly_CoherentLink::Poly_CoherentLink ( )

Empty constructor.

◆ Poly_CoherentLink() [2/3]

Poly_CoherentLink::Poly_CoherentLink ( const int iNode0,
const int iNode1 )
inline

Constructor. Creates a Link that has no reference to 'opposite nodes'. This constructor is useful to create temporary object that is not inserted into any existing triangulation.

◆ Poly_CoherentLink() [3/3]

Poly_CoherentLink::Poly_CoherentLink ( const Poly_CoherentTriangle & theTri,
int iSide )

Constructor, takes a triangle and a side. A link is created always such that myNode[0] < myNode[1]. Unlike the previous constructor, this one assigns the 'opposite node' fields. This constructor is used when a link is inserted into a Poly_CoherentTriangulation structure.

Parameters
theTriTriangle containing the link that is created
iSideCan be 0, 1 or 2. Index of the node

Member Function Documentation

◆ GetAttribute()

void * Poly_CoherentLink::GetAttribute ( ) const
inline

Query the attribute of the Link.

◆ IsEmpty()

bool Poly_CoherentLink::IsEmpty ( ) const
inlinenoexcept

Query the status of the link - if it is an invalid one. An invalid link has Node members equal to -1.

◆ Node()

int Poly_CoherentLink::Node ( const int ind) const
inline

Return the node index in the current triangulation.

Parameters
ind0 or 1 making distinction of the two nodes that constitute the Link. Node(0) always returns a smaller number than Node(1).

◆ Nullify()

void Poly_CoherentLink::Nullify ( )
inline

Invalidate this Link.

◆ OppositeNode()

int Poly_CoherentLink::OppositeNode ( const int ind) const
inline

Return the opposite node (belonging to the left or right incident triangle) index in the current triangulation.

Parameters
ind0 or 1 making distinction of the two involved triangles: 0 on the left, 1 on the right side of the Link.

◆ SetAttribute()

void Poly_CoherentLink::SetAttribute ( void *const theAtt)
inline

Set the attribute of the Link.


The documentation for this class was generated from the following file: