Easy3D 2.5.3
|
Base class for a property array. More...
Public Member Functions | |
BasePropertyArray (const std::string &name) | |
Default constructor. | |
virtual | ~BasePropertyArray ()=default |
Destructor. | |
virtual void | reserve (size_t n)=0 |
Reserve memory for n elements. More... | |
virtual void | resize (size_t n)=0 |
Resize storage to hold n elements. More... | |
virtual void | shrink_to_fit ()=0 |
Free unused memory. More... | |
virtual void | push_back ()=0 |
Extend the number of elements by one. More... | |
virtual void | reset (size_t idx)=0 |
Reset element to default value. More... | |
virtual bool | transfer (const BasePropertyArray &other)=0 |
Copy the entire properties from other . More... | |
virtual bool | transfer (const BasePropertyArray &other, std::size_t from, std::size_t to)=0 |
Copy the property[from] of other to this->property[to]. More... | |
virtual void | swap (size_t i0, size_t i1)=0 |
Let two elements swap their storage place. More... | |
virtual void | copy (size_t from, size_t to)=0 |
Let copy 'from' -> 'to'. More... | |
virtual BasePropertyArray * | clone () const =0 |
Return a deep copy of self. More... | |
virtual BasePropertyArray * | empty_clone () const =0 |
Return a empty copy of self. More... | |
virtual const std::type_info & | type () const =0 |
Return the type_info of the property. More... | |
const std::string & | name () const |
Return the name of the property. | |
void | set_name (const std::string &n) |
Set the name of the property. | |
bool | is_same (const BasePropertyArray &other) const |
Base class for a property array.
|
pure virtual |
Return a deep copy of self.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Let copy 'from' -> 'to'.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Return a empty copy of self.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
inline |
Test if two properties are the same.
|
pure virtual |
Extend the number of elements by one.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Reserve memory for n elements.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Reset element to default value.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Resize storage to hold n elements.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Free unused memory.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Let two elements swap their storage place.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Copy the entire properties from other
.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Copy the property[from] of other
to this->property[to].
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.
|
pure virtual |
Return the type_info of the property.
Implemented in PropertyArray< T >, PropertyArray< easy3d::Graph::VertexConnectivity >, PropertyArray< easy3d::Graph::EdgeConnectivity >, PropertyArray< bool >, PropertyArray< easy3d::Vec >, PropertyArray< easy3d::PolyMesh::VertexConnectivity >, PropertyArray< easy3d::PolyMesh::EdgeConnectivity >, PropertyArray< easy3d::PolyMesh::HalfFaceConnectivity >, PropertyArray< easy3d::PolyMesh::CellConnectivity >, PropertyArray< easy3d::SurfaceMesh::VertexConnectivity >, PropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity >, PropertyArray< easy3d::SurfaceMesh::FaceConnectivity >, PropertyArray< easy3d::SurfaceMesh::Vertex >, PropertyArray< float >, PropertyArray< double >, PropertyArray< int >, PropertyArray< easy3d::SurfaceMesh::Halfedge >, PropertyArray< easy3d::Quadric >, PropertyArray< easy3d::NormalCone >, and PropertyArray< Points >.