Open CASCADE Technology  7.7.0.dev
Public Member Functions

Poly_ArrayOfNodes Class Reference

Defines an array of 3D nodes of single/double precision configurable at construction time. More...

#include <Poly_ArrayOfNodes.hxx>

Inheritance diagram for Poly_ArrayOfNodes:
Inheritance graph
[legend]

Public Member Functions

 Poly_ArrayOfNodes ()
 Empty constructor of double-precision array. More...
 
 Poly_ArrayOfNodes (Standard_Integer theLength)
 Constructor of double-precision array. More...
 
 Poly_ArrayOfNodes (const Poly_ArrayOfNodes &theOther)
 Copy constructor. More...
 
 Poly_ArrayOfNodes (const gp_Pnt &theBegin, Standard_Integer theLength)
 Constructor wrapping pre-allocated C-array of values without copying them. More...
 
 Poly_ArrayOfNodes (const gp_Vec3f &theBegin, Standard_Integer theLength)
 Constructor wrapping pre-allocated C-array of values without copying them. More...
 
 ~Poly_ArrayOfNodes ()
 Destructor. More...
 
bool IsDoublePrecision () const
 Returns TRUE if array defines nodes with double precision. More...
 
void SetDoublePrecision (bool theIsDouble)
 Sets if array should define nodes with double or single precision. Raises exception if array was already allocated. More...
 
Poly_ArrayOfNodesAssign (const Poly_ArrayOfNodes &theOther)
 Copies data of theOther array to this. The arrays should have the same length, but may have different precision / number of components (data conversion will be applied in the latter case). More...
 
Poly_ArrayOfNodesMove (Poly_ArrayOfNodes &theOther)
 Move assignment. More...
 
Poly_ArrayOfNodesoperator= (const Poly_ArrayOfNodes &theOther)
 Assignment operator;. More...
 
 Poly_ArrayOfNodes (Poly_ArrayOfNodes &&theOther) noexcept
 Move constructor. More...
 
Poly_ArrayOfNodesoperator= (Poly_ArrayOfNodes &&theOther) noexcept
 Move assignment operator;. More...
 
gp_Pnt Value (Standard_Integer theIndex) const
 A generalized accessor to point. More...
 
void SetValue (Standard_Integer theIndex, const gp_Pnt &theValue)
 A generalized setter for point. More...
 
gp_Pnt operator[] (Standard_Integer theIndex) const
 operator[] - alias to Value More...
 
- Public Member Functions inherited from NCollection_AliasedArray< MyAlignSize >
 NCollection_AliasedArray (Standard_Integer theStride)
 Empty constructor. More...
 
 NCollection_AliasedArray (Standard_Integer theStride, Standard_Integer theLength)
 Constructor. More...
 
 NCollection_AliasedArray (const NCollection_AliasedArray &theOther)
 Copy constructor. More...
 
 NCollection_AliasedArray (NCollection_AliasedArray &&theOther) noexcept
 Move constructor. More...
 
template<typename Type_t >
 NCollection_AliasedArray (const Type_t &theBegin, Standard_Integer theLength)
 Constructor wrapping pre-allocated C-array of values without copying them. More...
 
Standard_Integer Stride () const
 Returns an element size in bytes. More...
 
Standard_Integer Size () const
 Size query. More...
 
Standard_Integer Length () const
 Length query (the same as Size()) More...
 
Standard_Boolean IsEmpty () const
 Return TRUE if array has zero length. More...
 
Standard_Integer Lower () const
 Lower bound. More...
 
Standard_Integer Upper () const
 Upper bound. More...
 
Standard_Boolean IsDeletable () const
 myDeletable flag More...
 
Standard_Boolean IsAllocated () const
 IsAllocated flag - for naming compatibility. More...
 
Standard_Size SizeBytes () const
 Return buffer size in bytes. More...
 
NCollection_AliasedArrayAssign (const NCollection_AliasedArray &theOther)
 Copies data of theOther array to this. This array should be pre-allocated and have the same length as theOther; otherwise exception Standard_DimensionMismatch is thrown. More...
 
NCollection_AliasedArrayMove (NCollection_AliasedArray &theOther)
 Move assignment. This array will borrow all the data from theOther. The moved object will keep pointer to the memory buffer and range, but it will not free the buffer on destruction. More...
 
NCollection_AliasedArrayoperator= (const NCollection_AliasedArray &theOther)
 Assignment operator;. More...
 
NCollection_AliasedArrayoperator= (NCollection_AliasedArray &&theOther)
 Move assignment operator;. More...
 
void Resize (Standard_Integer theLength, Standard_Boolean theToCopyData)
 Resizes the array to specified bounds. No re-allocation will be done if length of array does not change, but existing values will not be discarded if theToCopyData set to FALSE. More...
 
 ~NCollection_AliasedArray ()
 Destructor - releases the memory. More...
 
const Standard_Bytevalue (Standard_Integer theIndex) const
 Access raw bytes of specified element. More...
 
Standard_BytechangeValue (Standard_Integer theIndex)
 Access raw bytes of specified element. More...
 
template<typename Type_t >
void Init (const Type_t &theValue)
 Initialize the items with theValue. More...
 
template<typename Type_t >
const Type_t & Value (Standard_Integer theIndex) const
 Access element with specified position and type. This method requires size of a type matching stride value. More...
 
template<typename Type_t >
void Value (Standard_Integer theIndex, Type_t &theValue) const
 Access element with specified position and type. This method requires size of a type matching stride value. More...
 
template<typename Type_t >
Type_t & ChangeValue (Standard_Integer theIndex)
 Access element with specified position and type. This method requires size of a type matching stride value. More...
 
template<typename Type_t >
const Type_t & Value2 (Standard_Integer theIndex) const
 Access element with specified position and type. This method allows wrapping element into smaller type (e.g. to alias 2-components within 3-component vector). More...
 
template<typename Type_t >
void Value2 (Standard_Integer theIndex, Type_t &theValue) const
 Access element with specified position and type. This method allows wrapping element into smaller type (e.g. to alias 2-components within 3-component vector). More...
 
template<typename Type_t >
Type_t & ChangeValue2 (Standard_Integer theIndex)
 Access element with specified position and type. This method allows wrapping element into smaller type (e.g. to alias 2-components within 3-component vector). More...
 
template<typename Type_t >
const Type_t & First () const
 Return first element. More...
 
template<typename Type_t >
Type_t & ChangeFirst ()
 Return first element. More...
 
template<typename Type_t >
const Type_t & Last () const
 Return last element. More...
 
template<typename Type_t >
Type_t & ChangeLast ()
 Return last element. More...
 

Additional Inherited Members

- Protected Attributes inherited from NCollection_AliasedArray< MyAlignSize >
Standard_BytemyData
 data pointer More...
 
Standard_Integer myStride
 element size More...
 
Standard_Integer mySize
 number of elements More...
 
Standard_Boolean myDeletable
 flag showing who allocated the array More...
 

Detailed Description

Defines an array of 3D nodes of single/double precision configurable at construction time.

Constructor & Destructor Documentation

◆ Poly_ArrayOfNodes() [1/6]

Poly_ArrayOfNodes::Poly_ArrayOfNodes ( )
inline

Empty constructor of double-precision array.

◆ Poly_ArrayOfNodes() [2/6]

Poly_ArrayOfNodes::Poly_ArrayOfNodes ( Standard_Integer  theLength)
inline

Constructor of double-precision array.

◆ Poly_ArrayOfNodes() [3/6]

Poly_ArrayOfNodes::Poly_ArrayOfNodes ( const Poly_ArrayOfNodes theOther)

Copy constructor.

◆ Poly_ArrayOfNodes() [4/6]

Poly_ArrayOfNodes::Poly_ArrayOfNodes ( const gp_Pnt theBegin,
Standard_Integer  theLength 
)
inline

Constructor wrapping pre-allocated C-array of values without copying them.

◆ Poly_ArrayOfNodes() [5/6]

Poly_ArrayOfNodes::Poly_ArrayOfNodes ( const gp_Vec3f theBegin,
Standard_Integer  theLength 
)
inline

Constructor wrapping pre-allocated C-array of values without copying them.

◆ ~Poly_ArrayOfNodes()

Poly_ArrayOfNodes::~Poly_ArrayOfNodes ( )

Destructor.

◆ Poly_ArrayOfNodes() [6/6]

Poly_ArrayOfNodes::Poly_ArrayOfNodes ( Poly_ArrayOfNodes &&  theOther)
inlinenoexcept

Move constructor.

Member Function Documentation

◆ Assign()

Poly_ArrayOfNodes& Poly_ArrayOfNodes::Assign ( const Poly_ArrayOfNodes theOther)

Copies data of theOther array to this. The arrays should have the same length, but may have different precision / number of components (data conversion will be applied in the latter case).

◆ IsDoublePrecision()

bool Poly_ArrayOfNodes::IsDoublePrecision ( ) const
inline

Returns TRUE if array defines nodes with double precision.

◆ Move()

Poly_ArrayOfNodes& Poly_ArrayOfNodes::Move ( Poly_ArrayOfNodes theOther)
inline

Move assignment.

◆ operator=() [1/2]

Poly_ArrayOfNodes& Poly_ArrayOfNodes::operator= ( const Poly_ArrayOfNodes theOther)
inline

Assignment operator;.

See also
Assign()

◆ operator=() [2/2]

Poly_ArrayOfNodes& Poly_ArrayOfNodes::operator= ( Poly_ArrayOfNodes &&  theOther)
inlinenoexcept

Move assignment operator;.

See also
Move()

◆ operator[]()

gp_Pnt Poly_ArrayOfNodes::operator[] ( Standard_Integer  theIndex) const
inline

operator[] - alias to Value

◆ SetDoublePrecision()

void Poly_ArrayOfNodes::SetDoublePrecision ( bool  theIsDouble)
inline

Sets if array should define nodes with double or single precision. Raises exception if array was already allocated.

◆ SetValue()

void Poly_ArrayOfNodes::SetValue ( Standard_Integer  theIndex,
const gp_Pnt theValue 
)
inline

A generalized setter for point.

◆ Value()

gp_Pnt Poly_ArrayOfNodes::Value ( Standard_Integer  theIndex) const
inline

A generalized accessor to point.


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