OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
Poly


Poly_CoherentLink Class Reference

#include <Poly_CoherentLink.hxx>


Public Member Functions

Standard_EXPORT Poly_CoherentLink ()
 Poly_CoherentLink (const Standard_Integer iNode0, const Standard_Integer iNode1)
Standard_EXPORT 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 ()

Private Attributes

Standard_Integer myNode [2]
Standard_Integer myOppositeNode [2]
Standard_Address myAttribute


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

Standard_EXPORT Poly_CoherentLink::Poly_CoherentLink  ) 
 

Empty constructor.

Poly_CoherentLink::Poly_CoherentLink const Standard_Integer  iNode0,
const Standard_Integer  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.

Standard_EXPORT 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.

Parameters:
theTri Triangle containing the link that is created
iSide Can be 0, 1 or 2. Index of the node


Member Function Documentation

Standard_Address Poly_CoherentLink::GetAttribute  )  const [inline]
 

Query the attribute of the Link.

Standard_Boolean Poly_CoherentLink::IsEmpty  )  const [inline]
 

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

Standard_Integer Poly_CoherentLink::Node const Standard_Integer  ind  )  const [inline]
 

Return the node index in the current triangulation.

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

void Poly_CoherentLink::Nullify  )  [inline]
 

Invalidate this Link.

Standard_Integer Poly_CoherentLink::OppositeNode const Standard_Integer  ind  )  const [inline]
 

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

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

void Poly_CoherentLink::SetAttribute const Standard_Address  theAtt  )  [inline]
 

Set the attribute of the Link.


Field Documentation

Standard_Address Poly_CoherentLink::myAttribute [private]
 

Standard_Integer Poly_CoherentLink::myNode[2] [private]
 

Standard_Integer Poly_CoherentLink::myOppositeNode[2] [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:13:12 2008 for OpenCASCADE by  doxygen 1.4.1