# FoundationClasses
TKMath
Poly

# Poly_CoherentTriangle Class Reference

`#include <Poly_CoherentTriangle.hxx>`

## Public Member Functions

Standard_EXPORT | Poly_CoherentTriangle ()
Standard_EXPORT | 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_EXPORT Standard_Boolean | SetConnection (const Standard_Integer iConn, Poly_CoherentTriangle &theTr)
Standard_EXPORT Standard_Boolean | SetConnection (Poly_CoherentTriangle &theTri)
Standard_EXPORT void | RemoveConnection (const Standard_Integer iConn)
Standard_EXPORT Standard_Boolean | RemoveConnection (Poly_CoherentTriangle &theTri)
Standard_Integer | NConnections () const
Standard_Integer | GetConnectedNode (const Standard_Integer iConn) const
const Poly_CoherentTriangle * | GetConnectedTri (const Standard_Integer iConn) const
const Poly_CoherentLink * | GetLink (const Standard_Integer iLink) const
Standard_EXPORT Standard_Integer | FindConnection (const Poly_CoherentTriangle &) const

## Private Attributes

Standard_Integer | myNConnections
Standard_Integer | myNodes [3]
Standard_Integer | myNodesOnConnected [3]
const Poly_CoherentTriangle * | mypConnected [3]
const Poly_CoherentLink * | mypLink [3]

## Detailed Description

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

## Constructor & Destructor Documentation

Standard_EXPORT Poly_CoherentTriangle::Poly_CoherentTriangle | ( |  | ) |

| Empty constructor.

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

| Constructor.

## Member Function Documentation

Standard_EXPORT 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]`

| 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'

Standard_EXPORT 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_EXPORT void Poly_CoherentTriangle::RemoveConnection | ( | const Standard_Integer | iConn | ) |

Remove the connection with the given index.

Parameters:

  | iConn | Can be 0, 1 or 2 - index of the node that is opposite to the connection (shared link).

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

  | theTri | Triangle that is connected.

Returns:
  True if successful, False if the connection is rejected due to improper topology.

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

  | iConn | Can be 0, 1 or 2 - index of the node that is opposite to the connection (shared link).
  | theTr | Triangle that is connected on the given link.

Returns:
  True if successful, False if the connection is rejected due to improper topology.

## Field Documentation

Standard_Integer Poly_CoherentTriangle::myNConnections `[private]`

Standard_Integer Poly_CoherentTriangle::myNodes[3]`[private]`

Standard_Integer Poly_CoherentTriangle::myNodesOnConnected[3]`[private]`

const Poly_CoherentTriangle* Poly_CoherentTriangle::mypConnected[3]`[private]`

const Poly_CoherentLink* Poly_CoherentTriangle::mypLink[3]`[private]`

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

- Poly_CoherentTriangle.hxx