# FoundationClasses
TKMath
Poly

# Poly_CoherentNode Class Reference

`#include <Poly_CoherentNode.hxx>`

Inheritance diagram for Poly_CoherentNode:

[legend]

## Public Member Functions

| Poly_CoherentNode ()
| Poly_CoherentNode (const gp_XYZ &thePnt)
void | SetUV (const Standard_Real theU, const Standard_Real theV)
Standard_Real | GetU () const
Standard_Real | GetV () const
Standard_EXPORT void | SetNormal (const gp_XYZ &theVector)
Standard_Boolean | HasNormal () const
gp_XYZ | GetNormal () const
void | SetIndex (const Standard_Integer theIndex)
Standard_Integer | GetIndex () const
Standard_Boolean | IsFreeNode () const
Standard_EXPORT void | Clear (const Handle_NCollection_BaseAllocator &)
Standard_EXPORT void | AddTriangle (const Poly_CoherentTriangle &theTri, const Handle_NCollection_BaseAllocator &theA)
Standard_EXPORT Standard_Boolean | RemoveTriangle (const Poly_CoherentTriangle &theTri, const Handle_NCollection_BaseAllocator &theA)
Poly_CoherentTriPtr::Iterator | TriangleIterator () const
Standard_EXPORT void | Dump (Standard_OStream &theStream) const

## Private Attributes

Standard_Real | myUV [2]
Poly_CoherentTriPtr * | myTriangles
Standard_Integer | myIndex
Standard_ShortReal | myNormal [3]

## Detailed Description

Node of coherent triangulation. Contains:

- Coordinates of a 3D point defining the node location
- 2D point coordinates
- List of triangles that use this Node
- Integer index, normally the index of the node in the original triangulation

## Constructor & Destructor Documentation

Poly_CoherentNode::Poly_CoherentNode | ( |  | ) | `[inline]`

| Empty constructor.

Poly_CoherentNode::Poly_CoherentNode | ( | const gp_XYZ & | thePnt | ) | `[inline]`

| Constructor.

## Member Function Documentation

Standard_EXPORT void Poly_CoherentNode::AddTriangle | ( | const Poly_CoherentTriangle & | theTri,
|  | const Handle_NCollection_BaseAllocator & | theA
| ) |

| Connect a triangle to this Node.

Standard_EXPORT void Poly_CoherentNode::Clear | ( | const Handle_NCollection_BaseAllocator & |  | ) |

| Reset the Node to void.

Standard_EXPORT void Poly_CoherentNode::Dump | ( | Standard_OStream & | theStream | ) | const

Standard_Integer Poly_CoherentNode::GetIndex | ( |  | ) | const`[inline]`

| Get the value of node Index.

gp_XYZ Poly_CoherentNode::GetNormal | ( |  | ) | const`[inline]`

| Get the stored normal in the node.

Standard_Real Poly_CoherentNode::GetU | ( |  | ) | const`[inline]`

| Get U coordinate of the Node.

Standard_Real Poly_CoherentNode::GetV | ( |  | ) | const`[inline]`

| Get V coordinate of the Node.

Standard_Boolean Poly_CoherentNode::HasNormal | ( |  | ) | const`[inline]`

| Query if the Node contains a normal vector.

Standard_Boolean Poly_CoherentNode::IsFreeNode | ( |  | ) | const`[inline]`

| Check if this is a free node, i.e., a node without a single incident triangle.

Standard_EXPORT Standard_Boolean Poly_CoherentNode::RemoveTriangle | ( | const Poly_CoherentTriangle & | theTri,
|  | const Handle_NCollection_BaseAllocator & | theA
| ) |

| Disconnect a triangle from this Node.

void Poly_CoherentNode::SetIndex | ( | const Standard_Integer | theIndex | ) | `[inline]`

| Set the value of node Index.

Standard_EXPORT void Poly_CoherentNode::SetNormal | ( | const gp_XYZ & | theVector | ) |

| Define the normal vector in the Node.

void Poly_CoherentNode::SetUV | ( | const Standard_Real | theU,
|  | const Standard_Real | theV
| ) | `[inline]`

| Set the UV coordinates of the Node.

Poly_CoherentTriPtr::Iterator Poly_CoherentNode::TriangleIterator | ( |  | ) | const`[inline]`

| Create an iterator of incident triangles.

## Field Documentation

Standard_Integer Poly_CoherentNode::myIndex `[private]`

Standard_ShortReal Poly_CoherentNode::myNormal[3]`[private]`

Poly_CoherentTriPtr* Poly_CoherentNode::myTriangles `[private]`

Standard_Real Poly_CoherentNode::myUV[2]`[private]`

| Destructor.

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

- Poly_CoherentNode.hxx