Open CASCADE Technology: Poly_Connect Class Reference

Open CASCADE Technology 6.9.1

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
Poly_Connect Class Reference

Provides an algorithm to explore, inside a triangulation, the adjacency data for a node or a triangle. Adjacency data for a node consists of triangles which contain the node. Adjacency data for a triangle consists of: More...

`#include <Poly_Connect.hxx>`

## Public Member Functions
| Poly_Connect (const Handle< Poly_Triangulation > &T)
| Constructs an algorithm to explore the adjacency data of nodes or triangles for the triangulation T. More...
Handle< Poly_Triangulation > | Triangulation () const
| Returns the triangulation analyzed by this tool. More...
Standard_Integer | Triangle (const Standard_Integer N) const
| Returns the index of a triangle containing the node at index N in the nodes table specific to the triangulation analyzed by this tool. More...
void | Triangles (const Standard_Integer T, Standard_Integer &t1, Standard_Integer &t2, Standard_Integer &t3) const
| Returns in t1, t2 and t3, the indices of the 3 triangles adjacent to the triangle at index T in the triangles table specific to the triangulation analyzed by this tool. Warning Null indices are returned when there are fewer than 3 adjacent triangles. More...
void | Nodes (const Standard_Integer T, Standard_Integer &n1, Standard_Integer &n2, Standard_Integer &n3) const
| Returns, in n1, n2 and n3, the indices of the 3 nodes adjacent to the triangle referenced at index T in the triangles table specific to the triangulation analyzed by this tool. Warning Null indices are returned when there are fewer than 3 adjacent nodes. More...
void | Initialize (const Standard_Integer N)
| Initializes an iterator to search for all the triangles containing the node referenced at index N in the nodes table, for the triangulation analyzed by this tool. The iterator is managed by the following functions: More...
Standard_Boolean | More () const
| Returns true if there is another element in the iterator defined with the function Initialize (i.e. if there is another triangle containing the given node). More...
void | Next ()
| Advances the iterator defined with the function Initialize to access the next triangle. Note: There is no action if the iterator is empty (i.e. if the function More returns false).-. More...
Standard_Integer | Value () const
| Returns the index of the current triangle to which the iterator, defined with the function Initialize, points. This is an index in the triangles table specific to the triangulation analyzed by this tool. More...

## Detailed Description

Provides an algorithm to explore, inside a triangulation, the adjacency data for a node or a triangle. Adjacency data for a node consists of triangles which contain the node. Adjacency data for a triangle consists of:

- the 3 adjacent triangles which share an edge of the triangle,
- and the 3 nodes which are the other nodes of these adjacent triangles. Example Inside a triangulation, a triangle T has nodes n1, n2 and n3. It has adjacent triangles AT1, AT2 and AT3 where:
- AT1 shares the nodes n2 and n3,
- AT2 shares the nodes n3 and n1,
- AT3 shares the nodes n1 and n2. It has adjacent nodes an1, an2 and an3 where:
- an1 is the third node of AT1,
- an2 is the third node of AT2,
- an3 is the third node of AT3. So triangle AT1 is composed of nodes n2, n3 and an1. There are two ways of using this algorithm.
- From a given node you can look for one triangle that passes through the node, then look for the triangles adjacent to this triangle, then the adjacent nodes. You can thus explore the triangulation step by step (functions Triangle, Triangles and Nodes).
- From a given node you can look for all the triangles that pass through the node (iteration method, using the functions Initialize, More, Next and Value). A Connect object can be seen as a tool which analyzes a triangulation and translates it into a series of triangles. By doing this, it provides an interface with other tools and applications working on basic triangles, and which do not work directly with a Poly_Triangulation.

## Constructor & Destructor Documentation

Poly_Connect::Poly_Connect | ( | const Handle< Poly_Triangulation > & | T | ) |

Constructs an algorithm to explore the adjacency data of nodes or triangles for the triangulation T.

## Member Function Documentation

void Poly_Connect::Initialize | ( | const Standard_Integer | N | ) |

Initializes an iterator to search for all the triangles containing the node referenced at index N in the nodes table, for the triangulation analyzed by this tool. The iterator is managed by the following functions:

- More, which checks if there are still elements in the iterator
- Next, which positions the iterator on the next element
- Value, which returns the current element. The use of such an iterator provides direct access to the triangles around a particular node, i.e. it avoids iterating on all the component triangles of a triangulation. Example Poly_Connect C(Tr); for (C.Initialize(n1);C.More();C.Next()) { t = C.Value(); }

Standard_Boolean Poly_Connect::More | ( |  | ) | const

Returns true if there is another element in the iterator defined with the function Initialize (i.e. if there is another triangle containing the given node).

void Poly_Connect::Next | ( |  | ) |

Advances the iterator defined with the function Initialize to access the next triangle. Note: There is no action if the iterator is empty (i.e. if the function More returns false).-.

void Poly_Connect::Nodes | ( | const Standard_Integer | T,
|  | Standard_Integer & | n1,
|  | Standard_Integer & | n2,
|  | Standard_Integer & | n3
| ) |  | const

Returns, in n1, n2 and n3, the indices of the 3 nodes adjacent to the triangle referenced at index T in the triangles table specific to the triangulation analyzed by this tool. Warning Null indices are returned when there are fewer than 3 adjacent nodes.

Standard_Integer Poly_Connect::Triangle | ( | const Standard_Integer | N | ) | const

Returns the index of a triangle containing the node at index N in the nodes table specific to the triangulation analyzed by this tool.

void Poly_Connect::Triangles | ( | const Standard_Integer | T,
|  | Standard_Integer & | t1,
|  | Standard_Integer & | t2,
|  | Standard_Integer & | t3
| ) |  | const

Returns in t1, t2 and t3, the indices of the 3 triangles adjacent to the triangle at index T in the triangles table specific to the triangulation analyzed by this tool. Warning Null indices are returned when there are fewer than 3 adjacent triangles.

Handle< Poly_Triangulation > Poly_Connect::Triangulation | ( |  | ) | const

Returns the triangulation analyzed by this tool.

Standard_Integer Poly_Connect::Value | ( |  | ) | const

Returns the index of the current triangle to which the iterator, defined with the function Initialize, points. This is an index in the triangles table specific to the triangulation analyzed by this tool.

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

- Poly_Connect.hxx