Open CASCADE Technology  7.3.0
Public Member Functions
Poly_CoherentLink Class Reference

#include <Poly_CoherentLink.hxx>

Public Member Functions

 Poly_CoherentLink ()
 Poly_CoherentLink (const Standard_Integer iNode0, const Standard_Integer iNode1)
 Poly_CoherentLink (const Poly_CoherentTriangle &theTri, Standard_Integer iSide)
Standard_Integer Node (const Standard_Integer ind) const
Standard_Integer OppositeNode (const Standard_Integer ind) const
Standard_Address GetAttribute () const
void SetAttribute (const Standard_Address theAtt)
Standard_Boolean IsEmpty () const
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 Standard_Integer  iNode0,
const Standard_Integer  iNode1 

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,
Standard_Integer  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.

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

Member Function Documentation

◆ GetAttribute()

Standard_Address Poly_CoherentLink::GetAttribute ( ) const

Query the attribute of the Link.

◆ IsEmpty()

Standard_Boolean Poly_CoherentLink::IsEmpty ( ) const

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

◆ Node()

Standard_Integer Poly_CoherentLink::Node ( const Standard_Integer  ind) const

Return the node index in the current triangulation.

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 ( )

Invalidate this Link.

◆ OppositeNode()

Standard_Integer Poly_CoherentLink::OppositeNode ( const Standard_Integer  ind) const

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

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 ( const Standard_Address  theAtt)

Set the attribute of the Link.

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