Open CASCADE Technology 6.6.0
Public Member Functions
Poly_CoherentTriangle Class Reference

#include <Poly_CoherentTriangle.hxx>

Public Member Functions

 Poly_CoherentTriangle ()
 Poly_CoherentTriangle (const Standard_Integer iNode0, const Standard_Integer iNode1, const Standard_Integer iNode2)
Standard_Integer Node (const Standard_Integer ind) const
Standard_Boolean IsEmpty () const
Standard_Boolean SetConnection (const Standard_Integer iConn, Poly_CoherentTriangle &theTr)
Standard_Boolean SetConnection (Poly_CoherentTriangle &theTri)
void RemoveConnection (const Standard_Integer iConn)
Standard_Boolean RemoveConnection (Poly_CoherentTriangle &theTri)
Standard_Integer NConnections () const
Standard_Integer GetConnectedNode (const Standard_Integer iConn) const
const Poly_CoherentTriangleGetConnectedTri (const Standard_Integer iConn) const
const Poly_CoherentLinkGetLink (const Standard_Integer iLink) const
Standard_Integer FindConnection (const Poly_CoherentTriangle &) const

Detailed Description

Data class used in Poly_CoherentTriangultion. Implements a triangle with references to its neighbours.


Constructor & Destructor Documentation

Poly_CoherentTriangle::Poly_CoherentTriangle ( )

Empty constructor.

Poly_CoherentTriangle::Poly_CoherentTriangle ( const Standard_Integer  iNode0,
const Standard_Integer  iNode1,
const Standard_Integer  iNode2 
)

Constructor.


Member Function Documentation

Standard_Integer Poly_CoherentTriangle::FindConnection ( const Poly_CoherentTriangle ) const

Retuns the index of the connection with the given triangle, or -1 if not found.

Standard_Integer Poly_CoherentTriangle::GetConnectedNode ( const Standard_Integer  iConn) const [inline]

Query the connected node on the given side. Returns -1 if there is no connection on the specified side.

const Poly_CoherentTriangle* Poly_CoherentTriangle::GetConnectedTri ( const Standard_Integer  iConn) const [inline]

Query the connected triangle on the given side. Returns NULL if there is no connection on the specified side.

const Poly_CoherentLink* Poly_CoherentTriangle::GetLink ( const Standard_Integer  iLink) const [inline]

Query the Link associate with the given side of the Triangle. May return NULL if there are no links in the triangulation.

Standard_Boolean Poly_CoherentTriangle::IsEmpty ( ) const [inline]

Set the Node at the given position 'ind'. Query if this is a valid triangle.

Standard_Integer Poly_CoherentTriangle::NConnections ( ) const [inline]

Query the number of connected triangles.

Standard_Integer Poly_CoherentTriangle::Node ( const Standard_Integer  ind) const [inline]

Query the node index in the position given by the parameter 'ind'

void Poly_CoherentTriangle::RemoveConnection ( const Standard_Integer  iConn)

Remove the connection with the given index.

Parameters:
iConnCan be 0, 1 or 2 - index of the node that is opposite to the connection (shared link).
Standard_Boolean Poly_CoherentTriangle::RemoveConnection ( Poly_CoherentTriangle theTri)

Remove the connection with the given Triangle.

Returns:
True if successfuol or False if the connection has not been found.
Standard_Boolean Poly_CoherentTriangle::SetConnection ( Poly_CoherentTriangle theTri)

Create connection with another triangle theTri. This method creates both connections: in this triangle and in theTri. This method is slower than the previous one, because it makes analysis what sides of both triangles are connected.

Parameters:
theTriTriangle that is connected.
Returns:
True if successful, False if the connection is rejected due to improper topology.
Standard_Boolean Poly_CoherentTriangle::SetConnection ( const Standard_Integer  iConn,
Poly_CoherentTriangle theTr 
)

Create connection with another triangle theTri. This method creates both connections: in this triangle and in theTri. You do not need to call the same method on triangle theTr.

Parameters:
iConnCan be 0, 1 or 2 - index of the node that is opposite to the connection (shared link).
theTrTriangle that is connected on the given link.
Returns:
True if successful, False if the connection is rejected due to improper topology.

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines