Easy3D 2.6.1
|
Base class for a property array. More...
#include <easy3d/core/property.h>
Public Member Functions | |
BasePropertyArray (const std::string &name) | |
Default constructor. | |
virtual | ~BasePropertyArray ()=default |
Destructor. | |
virtual void | reserve (size_t n)=0 |
Reserves memory for n elements. | |
virtual void | resize (size_t n)=0 |
Resizes storage to hold n elements. | |
virtual void | shrink_to_fit ()=0 |
Free unused memory. | |
virtual void | push_back ()=0 |
Extend the number of elements by one. | |
virtual void | reset (size_t idx)=0 |
Resets an element to its default value. | |
virtual bool | transfer (const BasePropertyArray &other)=0 |
Copies the entire properties from another property array. | |
virtual bool | transfer (const BasePropertyArray &other, std::size_t from, std::size_t to)=0 |
Copies a property from one index to another. | |
virtual void | swap (size_t i0, size_t i1)=0 |
Swaps the storage place of two elements. | |
virtual void | copy (size_t from, size_t to)=0 |
Copies an element from one index to another. | |
virtual BasePropertyArray * | clone () const =0 |
Returns a deep copy of the property array. | |
virtual BasePropertyArray * | empty_clone () const =0 |
Returns an empty copy of the property array. | |
virtual const std::type_info & | type () const =0 |
Returns the type information of the property. | |
const std::string & | name () const |
Returns the name of the property. | |
void | set_name (const std::string &n) |
Sets the name of the property. | |
bool | is_same (const BasePropertyArray &other) const |
Tests if two properties are the same. | |
Base class for a property array.
|
inlineexplicit |
Default constructor.
name | The name of the property array. |
|
pure virtual |
Returns a deep copy of the property array.
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Copies an element from one index to another.
from | The index to copy from. |
to | The index to copy to. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Returns an empty copy of the property array.
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
inline |
Tests if two properties are the same.
other | The other property array to compare with. |
|
inline |
Returns the name of the property.
|
pure virtual |
Extend the number of elements by one.
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Reserves memory for n elements.
n | The number of elements to reserve memory for. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Resets an element to its default value.
idx | The index of the element to reset. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Resizes storage to hold n elements.
n | The number of elements to resize to. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
inline |
Sets the name of the property.
n | The new name of the property. |
|
pure virtual |
Free unused memory.
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Swaps the storage place of two elements.
i0 | The index of the first element. |
i1 | The index of the second element. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Copies the entire properties from another property array.
other | The other property array to copy from. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Copies a property from one index to another.
other | The other property array to copy from. |
from | The index to copy from. |
to | The index to copy to. |
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.
|
pure virtual |
Returns the type information of the property.
Implemented in const_reference< T >, const_reference< T >, PropertyArray< T >, PropertyArray< bool >, PropertyArray< double >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::Vec< 3, float > >, PropertyArray< float >, PropertyArray< int >, PropertyArray< NormalCone >, PropertyArray< Points >, PropertyArray< Quadric >, reference< T >, and reference< T >.