Open CASCADE Technology  7.7.0.dev
Public Member Functions

Poly_CoherentNode Class Reference

#include <Poly_CoherentNode.hxx>

Inheritance diagram for Poly_CoherentNode:
Inheritance graph
[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
 
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
 
void Clear (const Handle< NCollection_BaseAllocator > &)
 
void AddTriangle (const Poly_CoherentTriangle &theTri, const Handle< NCollection_BaseAllocator > &theA)
 
Standard_Boolean RemoveTriangle (const Poly_CoherentTriangle &theTri, const Handle< NCollection_BaseAllocator > &theA)
 
Poly_CoherentTriPtr::Iterator TriangleIterator () const
 
void Dump (Standard_OStream &theStream) const
 
- Public Member Functions inherited from gp_XYZ
 gp_XYZ ()
 Creates an XYZ object with zero coordinates (0,0,0) More...
 
 gp_XYZ (const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ)
 creates an XYZ with given coordinates More...
 
void SetCoord (const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ)
 For this XYZ object, assigns the values theX, theY and theZ to its three coordinates. More...
 
void SetCoord (const Standard_Integer theIndex, const Standard_Real theXi)
 modifies the coordinate of range theIndex theIndex = 1 => X is modified theIndex = 2 => Y is modified theIndex = 3 => Z is modified Raises OutOfRange if theIndex != {1, 2, 3}. More...
 
void SetX (const Standard_Real theX)
 Assigns the given value to the X coordinate. More...
 
void SetY (const Standard_Real theY)
 Assigns the given value to the Y coordinate. More...
 
void SetZ (const Standard_Real theZ)
 Assigns the given value to the Z coordinate. More...
 
Standard_Real Coord (const Standard_Integer theIndex) const
 returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned theIndex = 3 => Z is returned More...
 
Standard_RealChangeCoord (const Standard_Integer theIndex)
 
void Coord (Standard_Real &theX, Standard_Real &theY, Standard_Real &theZ) const
 
const Standard_RealGetData () const
 Returns a const ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS! More...
 
Standard_RealChangeData ()
 Returns a ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS! More...
 
Standard_Real X () const
 Returns the X coordinate. More...
 
Standard_Real Y () const
 Returns the Y coordinate. More...
 
Standard_Real Z () const
 Returns the Z coordinate. More...
 
Standard_Real Modulus () const
 computes Sqrt (X*X + Y*Y + Z*Z) where X, Y and Z are the three coordinates of this XYZ object. More...
 
Standard_Real SquareModulus () const
 Computes X*X + Y*Y + Z*Z where X, Y and Z are the three coordinates of this XYZ object. More...
 
Standard_Boolean IsEqual (const gp_XYZ &theOther, const Standard_Real theTolerance) const
 Returns True if he coordinates of this XYZ object are equal to the respective coordinates Other, within the specified tolerance theTolerance. I.e.: abs(<me>.X() - theOther.X()) <= theTolerance and abs(<me>.Y() - theOther.Y()) <= theTolerance and abs(<me>.Z() - theOther.Z()) <= theTolerance. More...
 
void Add (const gp_XYZ &theOther)
 
void operator+= (const gp_XYZ &theOther)
 
gp_XYZ Added (const gp_XYZ &theOther) const
 
gp_XYZ operator+ (const gp_XYZ &theOther) const
 
void Cross (const gp_XYZ &theOther)
 
void operator^= (const gp_XYZ &theOther)
 
gp_XYZ Crossed (const gp_XYZ &theOther) const
 
gp_XYZ operator^ (const gp_XYZ &theOther) const
 
Standard_Real CrossMagnitude (const gp_XYZ &theRight) const
 Computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||. More...
 
Standard_Real CrossSquareMagnitude (const gp_XYZ &theRight) const
 Computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2. More...
 
void CrossCross (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2)
 Triple vector product Computes <me> = <me>.Cross(theCoord1.Cross(theCoord2)) More...
 
gp_XYZ CrossCrossed (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) const
 Triple vector product computes New = <me>.Cross(theCoord1.Cross(theCoord2)) More...
 
void Divide (const Standard_Real theScalar)
 divides <me> by a real. More...
 
void operator/= (const Standard_Real theScalar)
 
gp_XYZ Divided (const Standard_Real theScalar) const
 divides <me> by a real. More...
 
gp_XYZ operator/ (const Standard_Real theScalar) const
 
Standard_Real Dot (const gp_XYZ &theOther) const
 computes the scalar product between <me> and theOther More...
 
Standard_Real operator* (const gp_XYZ &theOther) const
 
Standard_Real DotCross (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) const
 computes the triple scalar product More...
 
void Multiply (const Standard_Real theScalar)
 
void operator*= (const Standard_Real theScalar)
 
void Multiply (const gp_XYZ &theOther)
 
void operator*= (const gp_XYZ &theOther)
 
void Multiply (const gp_Mat &theMatrix)
 <me> = theMatrix * <me> More...
 
void operator*= (const gp_Mat &theMatrix)
 
gp_XYZ Multiplied (const Standard_Real theScalar) const
 
gp_XYZ operator* (const Standard_Real theScalar) const
 
gp_XYZ Multiplied (const gp_XYZ &theOther) const
 
gp_XYZ Multiplied (const gp_Mat &theMatrix) const
 New = theMatrix * <me> More...
 
gp_XYZ operator* (const gp_Mat &theMatrix) const
 
void Normalize ()
 
gp_XYZ Normalized () const
 
void Reverse ()
 
gp_XYZ Reversed () const
 
void Subtract (const gp_XYZ &theOther)
 
void operator-= (const gp_XYZ &theOther)
 
gp_XYZ Subtracted (const gp_XYZ &theOther) const
 
gp_XYZ operator- (const gp_XYZ &theOther) const
 
void SetLinearForm (const Standard_Real theA1, const gp_XYZ &theXYZ1, const Standard_Real theA2, const gp_XYZ &theXYZ2, const Standard_Real theA3, const gp_XYZ &theXYZ3, const gp_XYZ &theXYZ4)
 <me> is set to the following linear form : More...
 
void SetLinearForm (const Standard_Real theA1, const gp_XYZ &theXYZ1, const Standard_Real theA2, const gp_XYZ &theXYZ2, const Standard_Real theA3, const gp_XYZ &theXYZ3)
 <me> is set to the following linear form : More...
 
void SetLinearForm (const Standard_Real theA1, const gp_XYZ &theXYZ1, const Standard_Real theA2, const gp_XYZ &theXYZ2, const gp_XYZ &theXYZ3)
 <me> is set to the following linear form : More...
 
void SetLinearForm (const Standard_Real theA1, const gp_XYZ &theXYZ1, const Standard_Real theA2, const gp_XYZ &theXYZ2)
 <me> is set to the following linear form : More...
 
void SetLinearForm (const Standard_Real theA1, const gp_XYZ &theXYZ1, const gp_XYZ &theXYZ2)
 <me> is set to the following linear form : More...
 
void SetLinearForm (const gp_XYZ &theXYZ1, const gp_XYZ &theXYZ2)
 <me> is set to the following linear form : More...
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream. More...
 
Standard_Boolean InitFromJson (const Standard_SStream &theSStream, Standard_Integer &theStreamPos)
 Inits the content of me from the stream. More...
 

Detailed Description

Node of coherent triangulation. Contains:

Constructor & Destructor Documentation

◆ Poly_CoherentNode() [1/2]

Poly_CoherentNode::Poly_CoherentNode ( )
inline

Empty constructor.

◆ Poly_CoherentNode() [2/2]

Poly_CoherentNode::Poly_CoherentNode ( const gp_XYZ thePnt)
inline

Constructor.

Member Function Documentation

◆ AddTriangle()

void Poly_CoherentNode::AddTriangle ( const Poly_CoherentTriangle theTri,
const Handle< NCollection_BaseAllocator > &  theA 
)

Connect a triangle to this Node.

◆ Clear()

void Poly_CoherentNode::Clear ( const Handle< NCollection_BaseAllocator > &  )

Reset the Node to void.

◆ Dump()

void Poly_CoherentNode::Dump ( Standard_OStream theStream) const

◆ GetIndex()

Standard_Integer Poly_CoherentNode::GetIndex ( ) const
inline

Get the value of node Index.

◆ GetNormal()

gp_XYZ Poly_CoherentNode::GetNormal ( ) const
inline

Get the stored normal in the node.

◆ GetU()

Standard_Real Poly_CoherentNode::GetU ( ) const
inline

Get U coordinate of the Node.

◆ GetV()

Standard_Real Poly_CoherentNode::GetV ( ) const
inline

Get V coordinate of the Node.

◆ HasNormal()

Standard_Boolean Poly_CoherentNode::HasNormal ( ) const
inline

Query if the Node contains a normal vector.

◆ IsFreeNode()

Standard_Boolean Poly_CoherentNode::IsFreeNode ( ) const
inline

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

◆ RemoveTriangle()

Standard_Boolean Poly_CoherentNode::RemoveTriangle ( const Poly_CoherentTriangle theTri,
const Handle< NCollection_BaseAllocator > &  theA 
)

Disconnect a triangle from this Node.

◆ SetIndex()

void Poly_CoherentNode::SetIndex ( const Standard_Integer  theIndex)
inline

Set the value of node Index.

◆ SetNormal()

void Poly_CoherentNode::SetNormal ( const gp_XYZ theVector)

Define the normal vector in the Node.

◆ SetUV()

void Poly_CoherentNode::SetUV ( const Standard_Real  theU,
const Standard_Real  theV 
)
inline

Set the UV coordinates of the Node.

◆ TriangleIterator()

Poly_CoherentTriPtr::Iterator Poly_CoherentNode::TriangleIterator ( ) const
inline

Create an iterator of incident triangles.


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