Open CASCADE Technology 7.8.2.dev
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:

Public Member Functions

 Poly_ArrayOfNodes ()
 Empty constructor of double-precision array.
 
 Poly_ArrayOfNodes (Standard_Integer theLength)
 Constructor of double-precision array.
 
 Poly_ArrayOfNodes (const Poly_ArrayOfNodes &theOther)
 Copy constructor.
 
 Poly_ArrayOfNodes (const gp_Pnt &theBegin, Standard_Integer theLength)
 Constructor wrapping pre-allocated C-array of values without copying them.
 
 Poly_ArrayOfNodes (const gp_Vec3f &theBegin, Standard_Integer theLength)
 Constructor wrapping pre-allocated C-array of values without copying them.
 
 ~Poly_ArrayOfNodes ()
 Destructor.
 
bool IsDoublePrecision () const
 Returns TRUE if array defines nodes with double precision.
 
void SetDoublePrecision (bool theIsDouble)
 Sets if array should define nodes with double or single precision. Raises exception if array was already allocated.
 
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).
 
Poly_ArrayOfNodesMove (Poly_ArrayOfNodes &theOther)
 Move assignment.
 
Poly_ArrayOfNodesoperator= (const Poly_ArrayOfNodes &theOther)
 Assignment operator;.
 
 Poly_ArrayOfNodes (Poly_ArrayOfNodes &&theOther) Standard_Noexcept
 Move constructor.
 
Poly_ArrayOfNodesoperator= (Poly_ArrayOfNodes &&theOther) Standard_Noexcept
 Move assignment operator;.
 
gp_Pnt Value (Standard_Integer theIndex) const
 A generalized accessor to point.
 
void SetValue (Standard_Integer theIndex, const gp_Pnt &theValue)
 A generalized setter for point.
 
gp_Pnt operator[] (Standard_Integer theIndex) const
 operator[] - alias to Value
 
- Public Member Functions inherited from NCollection_AliasedArray< MyAlignSize >
 NCollection_AliasedArray (Standard_Integer theStride)
 Empty constructor.
 
 NCollection_AliasedArray (Standard_Integer theStride, Standard_Integer theLength)
 Constructor.
 
 NCollection_AliasedArray (const NCollection_AliasedArray &theOther)
 Copy constructor.
 
 NCollection_AliasedArray (NCollection_AliasedArray &&theOther) Standard_Noexcept
 Move constructor.
 
template<typename Type_t >
 NCollection_AliasedArray (const Type_t &theBegin, Standard_Integer theLength)
 Constructor wrapping pre-allocated C-array of values without copying them.
 
Standard_Integer Stride () const
 Returns an element size in bytes.
 
Standard_Integer Size () const
 Size query.
 
Standard_Integer Length () const
 Length query (the same as Size())
 
Standard_Boolean IsEmpty () const
 Return TRUE if array has zero length.
 
Standard_Integer Lower () const
 Lower bound.
 
Standard_Integer Upper () const
 Upper bound.
 
Standard_Boolean IsDeletable () const
 myDeletable flag
 
Standard_Boolean IsAllocated () const
 IsAllocated flag - for naming compatibility.
 
Standard_Size SizeBytes () const
 Return buffer size in bytes.
 
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.
 
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.
 
NCollection_AliasedArrayoperator= (const NCollection_AliasedArray &theOther)
 Assignment operator;.
 
NCollection_AliasedArrayoperator= (NCollection_AliasedArray &&theOther)
 Move assignment operator;.
 
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.
 
 ~NCollection_AliasedArray ()
 Destructor - releases the memory.
 
const Standard_Bytevalue (Standard_Integer theIndex) const
 Access raw bytes of specified element.
 
Standard_BytechangeValue (Standard_Integer theIndex)
 Access raw bytes of specified element.
 
template<typename Type_t >
void Init (const Type_t &theValue)
 Initialize the items with theValue.
 
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.
 
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.
 
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.
 
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).
 
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).
 
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).
 
template<typename Type_t >
const Type_t & First () const
 Return first element.
 
template<typename Type_t >
Type_t & ChangeFirst ()
 Return first element.
 
template<typename Type_t >
const Type_t & Last () const
 Return last element.
 
template<typename Type_t >
Type_t & ChangeLast ()
 Return last element.
 

Additional Inherited Members

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

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)
inline

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)
inline

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: