Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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 double theU, const double theV)
 
double GetU () const
 
double GetV () const
 
void SetNormal (const gp_XYZ &theVector)
 
bool HasNormal () const
 
gp_XYZ GetNormal () const
 
void SetIndex (const int theIndex)
 
int GetIndex () const
 
bool IsFreeNode () const noexcept
 
void Clear (const occ::handle< NCollection_BaseAllocator > &)
 
void AddTriangle (const Poly_CoherentTriangle &theTri, const occ::handle< NCollection_BaseAllocator > &theA)
 
bool RemoveTriangle (const Poly_CoherentTriangle &theTri, const occ::handle< NCollection_BaseAllocator > &theA)
 
Poly_CoherentTriPtr::Iterator TriangleIterator () const
 
void Dump (Standard_OStream &theStream) const
 
- Public Member Functions inherited from gp_XYZ
constexpr gp_XYZ () noexcept
 Creates an XYZ object with zero coordinates (0,0,0)
 
constexpr gp_XYZ (const double theX, const double theY, const double theZ) noexcept
 creates an XYZ with given coordinates
 
constexpr void SetCoord (const double theX, const double theY, const double theZ) noexcept
 For this XYZ object, assigns the values theX, theY and theZ to its three coordinates.
 
constexpr void SetCoord (const int theIndex, const double 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}.
 
constexpr void SetX (const double theX) noexcept
 Assigns the given value to the X coordinate.
 
constexpr void SetY (const double theY) noexcept
 Assigns the given value to the Y coordinate.
 
constexpr void SetZ (const double theZ) noexcept
 Assigns the given value to the Z coordinate.
 
constexpr double Coord (const int theIndex) const
 returns the coordinate of range theIndex : theIndex = 1 => X is returned theIndex = 2 => Y is returned theIndex = 3 => Z is returned
 
constexpr doubleChangeCoord (const int theIndex)
 
constexpr void Coord (double &theX, double &theY, double &theZ) const noexcept
 
constexpr const doubleGetData () const noexcept
 Returns a const ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS!
 
doubleChangeData () noexcept
 Returns a ptr to coordinates location. Is useful for algorithms, but DOES NOT PERFORM ANY CHECKS!
 
constexpr double X () const noexcept
 Returns the X coordinate.
 
constexpr double Y () const noexcept
 Returns the Y coordinate.
 
constexpr double Z () const noexcept
 Returns the Z coordinate.
 
double Modulus () const
 Computes std::sqrt(X*X + Y*Y + Z*Z) where X, Y and Z are the three coordinates of this XYZ object.
 
constexpr double SquareModulus () const noexcept
 Computes X*X + Y*Y + Z*Z where X, Y and Z are the three coordinates of this XYZ object.
 
bool IsEqual (const gp_XYZ &theOther, const double theTolerance) const
 Returns True if he coordinates of this XYZ object are equal to the respective coordinates Other, within the specified tolerance theTolerance.
 
constexpr void Add (const gp_XYZ &theOther) noexcept
 
constexpr void operator+= (const gp_XYZ &theOther) noexcept
 
constexpr gp_XYZ Added (const gp_XYZ &theOther) const noexcept
 
constexpr gp_XYZ operator+ (const gp_XYZ &theOther) const noexcept
 
constexpr void Cross (const gp_XYZ &theOther) noexcept
 
constexpr void operator^= (const gp_XYZ &theOther) noexcept
 
constexpr gp_XYZ Crossed (const gp_XYZ &theOther) const noexcept
 
constexpr gp_XYZ operator^ (const gp_XYZ &theOther) const noexcept
 
double CrossMagnitude (const gp_XYZ &theRight) const
 Computes the magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||.
 
constexpr double CrossSquareMagnitude (const gp_XYZ &theRight) const noexcept
 Computes the square magnitude of the cross product between <me> and theRight. Returns || <me> ^ theRight ||**2.
 
constexpr void CrossCross (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) noexcept
 Triple vector product Computes <me> = <me>.Cross(theCoord1.Cross(theCoord2))
 
constexpr gp_XYZ CrossCrossed (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) const noexcept
 Triple vector product computes New = <me>.Cross(theCoord1.Cross(theCoord2))
 
constexpr void Divide (const double theScalar)
 divides <me> by a real.
 
constexpr void operator/= (const double theScalar)
 
constexpr gp_XYZ Divided (const double theScalar) const
 divides <me> by a real.
 
constexpr gp_XYZ operator/ (const double theScalar) const
 
constexpr double Dot (const gp_XYZ &theOther) const noexcept
 Computes the scalar product between <me> and theOther.
 
constexpr double operator* (const gp_XYZ &theOther) const noexcept
 
constexpr double DotCross (const gp_XYZ &theCoord1, const gp_XYZ &theCoord2) const noexcept
 Computes the triple scalar product.
 
constexpr void Multiply (const double theScalar) noexcept
 
constexpr void operator*= (const double theScalar) noexcept
 
constexpr void Multiply (const gp_XYZ &theOther) noexcept
 
constexpr void operator*= (const gp_XYZ &theOther) noexcept
 
constexpr void Multiply (const gp_Mat &theMatrix) noexcept
 <me> = theMatrix * <me>
 
constexpr void operator*= (const gp_Mat &theMatrix) noexcept
 
constexpr gp_XYZ Multiplied (const double theScalar) const noexcept
 
constexpr gp_XYZ operator* (const double theScalar) const noexcept
 
constexpr gp_XYZ Multiplied (const gp_XYZ &theOther) const noexcept
 
constexpr gp_XYZ Multiplied (const gp_Mat &theMatrix) const noexcept
 New = theMatrix * <me>
 
constexpr gp_XYZ operator* (const gp_Mat &theMatrix) const noexcept
 
void Normalize ()
 
gp_XYZ Normalized () const
 
constexpr void Reverse () noexcept
 
constexpr gp_XYZ Reversed () const noexcept
 
constexpr void Subtract (const gp_XYZ &theOther) noexcept
 
constexpr void operator-= (const gp_XYZ &theOther) noexcept
 
constexpr gp_XYZ Subtracted (const gp_XYZ &theOther) const noexcept
 
constexpr gp_XYZ operator- (const gp_XYZ &theOther) const noexcept
 
constexpr void SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2, const double theA3, const gp_XYZ &theXYZ3, const gp_XYZ &theXYZ4) noexcept
 <me> is set to the following linear form :
 
constexpr void SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2, const double theA3, const gp_XYZ &theXYZ3) noexcept
 <me> is set to the following linear form :
 
constexpr void SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2, const gp_XYZ &theXYZ3) noexcept
 <me> is set to the following linear form :
 
constexpr void SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const double theA2, const gp_XYZ &theXYZ2) noexcept
 <me> is set to the following linear form :
 
constexpr void SetLinearForm (const double theA1, const gp_XYZ &theXYZ1, const gp_XYZ &theXYZ2) noexcept
 <me> is set to the following linear form :
 
constexpr void SetLinearForm (const gp_XYZ &theXYZ1, const gp_XYZ &theXYZ2) noexcept
 <me> is set to the following linear form :
 
void DumpJson (Standard_OStream &theOStream, int theDepth=-1) const
 Dumps the content of me into the stream.
 
bool InitFromJson (const Standard_SStream &theSStream, int &theStreamPos)
 Inits the content of me from the stream.
 

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 occ::handle< NCollection_BaseAllocator > & theA )

Connect a triangle to this Node.

◆ Clear()

void Poly_CoherentNode::Clear ( const occ::handle< NCollection_BaseAllocator > & )

Reset the Node to void.

◆ Dump()

void Poly_CoherentNode::Dump ( Standard_OStream & theStream) const

◆ GetIndex()

int 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()

double Poly_CoherentNode::GetU ( ) const
inline

Get U coordinate of the Node.

◆ GetV()

double Poly_CoherentNode::GetV ( ) const
inline

Get V coordinate of the Node.

◆ HasNormal()

bool Poly_CoherentNode::HasNormal ( ) const
inline

Query if the Node contains a normal vector.

◆ IsFreeNode()

bool Poly_CoherentNode::IsFreeNode ( ) const
inlinenoexcept

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

◆ RemoveTriangle()

bool Poly_CoherentNode::RemoveTriangle ( const Poly_CoherentTriangle & theTri,
const occ::handle< NCollection_BaseAllocator > & theA )

Disconnect a triangle from this Node.

◆ SetIndex()

void Poly_CoherentNode::SetIndex ( const int 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 double theU,
const double 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: