Skip to content

Class uipc::geometry::AbstractSimplicialComplex

ClassList > uipc > geometry > AbstractSimplicialComplex

Represents an abstract simplicial complex, containing vertices, edges, triangles, and tetrahedra. More...

  • #include <abstract_simplicial_complex.h>

Inherits the following classes: uipc::geometry::Geometry

Public Types

Type Name
typedef SimplicialComplexAttributes< true, 1 > CEdgeAttributes
typedef SimplicialComplexAttributes< true, 3 > CTetrahedronAttributes
typedef SimplicialComplexAttributes< true, 2 > CTriangleAttributes
typedef SimplicialComplexAttributes< true, 0 > CVertexAttributes
typedef SimplicialComplexAttributes< false, 1 > EdgeAttributes
Alias for the edge attributes.
typedef SimplicialComplexAttributes< false, 3 > TetrahedronAttributes
Alias for the tetrahedron attributes.
typedef SimplicialComplexAttributes< false, 2 > TriangleAttributes
Alias for the triangle attributes.
typedef SimplicialComplexAttributes< false, 0 > VertexAttributes
Alias for the vertex attributes.

Public Types inherited from uipc::geometry::Geometry

See uipc::geometry::Geometry

Type Name
typedef InstanceAttributesT< true > CInstanceAttributes
typedef MetaAttributesT< true > CMetaAttributes
typedef InstanceAttributesT< false > InstanceAttributes
typedef MetaAttributesT< false > MetaAttributes

Public Functions

Type Name
AbstractSimplicialComplex () = default
AbstractSimplicialComplex (const AbstractSimplicialComplex & o) = default
AbstractSimplicialComplex (AbstractSimplicialComplex && o) = default
IndexT dim () noexcept const
Get the dimension of the simplicial complex.
EdgeAttributes edges () noexcept
A wrapper of the edges and its attributes of the simplicial complex.
CEdgeAttributes edges () noexcept const
AbstractSimplicialComplex & operator= (const AbstractSimplicialComplex & o) = delete
AbstractSimplicialComplex & operator= (AbstractSimplicialComplex && o) = delete
TetrahedronAttributes tetrahedra () noexcept
A wrapper of the tetrahedra and its attributes of the simplicial complex.
CTetrahedronAttributes tetrahedra () noexcept const
TriangleAttributes triangles () noexcept
A wrapper of the triangles and its attributes of the simplicial complex.
CTriangleAttributes triangles () noexcept const
VertexAttributes vertices () noexcept
A wrapper of the vertices and its attributes of the simplicial complex.
CVertexAttributes vertices () noexcept const

Public Functions inherited from uipc::geometry::Geometry

See uipc::geometry::Geometry

Type Name
Geometry ()
Geometry (const Geometry & o) = default
Geometry (Geometry && o) = default
T * as ()
InstanceAttributes instances ()
Get the instance attributes of the geometries.
CInstanceAttributes instances () const
MetaAttributes meta ()
Get the meta attributes of the geometries.
CMetaAttributes meta () const
Geometry & operator= (const Geometry & o) = delete
Geometry & operator= (Geometry && o) = delete

Public Functions inherited from uipc::geometry::IGeometry

See uipc::geometry::IGeometry

Type Name
Json to_json () const
std::string_view type () noexcept const
Get the type of the geometries, check the type to downcast the geometries to a specific type.
virtual ~IGeometry () = default

Protected Attributes inherited from uipc::geometry::Geometry

See uipc::geometry::Geometry

Type Name
AttributeCollection m_intances
AttributeCollection m_meta

Protected Functions

Type Name
virtual Json do_to_json () override const
virtual std::string_view get_type () noexcept override const

Protected Functions inherited from uipc::geometry::Geometry

See uipc::geometry::Geometry

Type Name
virtual void do_collect_attribute_collections (vector< std::string > & names, vector< AttributeCollection * > & collections) override
virtual Json do_to_json () override const

Protected Functions inherited from uipc::geometry::IGeometry

See uipc::geometry::IGeometry

Type Name
virtual void do_collect_attribute_collections (vector< std::string > & names, vector< AttributeCollection * > & collections) = 0
virtual Json do_to_json () const = 0
virtual std::string_view get_type () noexcept const = 0

Detailed Description

Note:

Abstract simplicial complex does not contain any geometric information, such as coordinates of vertices.

Public Types Documentation

typedef CEdgeAttributes

using uipc::geometry::AbstractSimplicialComplex::CEdgeAttributes =  SimplicialComplexAttributes<true, 1>;

typedef CTetrahedronAttributes

using uipc::geometry::AbstractSimplicialComplex::CTetrahedronAttributes =  SimplicialComplexAttributes<true, 3>;

typedef CTriangleAttributes

using uipc::geometry::AbstractSimplicialComplex::CTriangleAttributes =  SimplicialComplexAttributes<true, 2>;

typedef CVertexAttributes

using uipc::geometry::AbstractSimplicialComplex::CVertexAttributes =  SimplicialComplexAttributes<true, 0>;

typedef EdgeAttributes

Alias for the edge attributes.

using uipc::geometry::AbstractSimplicialComplex::EdgeAttributes =  SimplicialComplexAttributes<false, 1>;

See also: SimplicialComplexAttributes


typedef TetrahedronAttributes

Alias for the tetrahedron attributes.

using uipc::geometry::AbstractSimplicialComplex::TetrahedronAttributes =  SimplicialComplexAttributes<false, 3>;

See also: SimplicialComplexAttributes


typedef TriangleAttributes

Alias for the triangle attributes.

using uipc::geometry::AbstractSimplicialComplex::TriangleAttributes =  SimplicialComplexAttributes<false, 2>;

See also: SimplicialComplexAttributes


typedef VertexAttributes

Alias for the vertex attributes.

using uipc::geometry::AbstractSimplicialComplex::VertexAttributes =  SimplicialComplexAttributes<false, 0>;

See also: SimplicialComplexAttributes


Public Functions Documentation

function AbstractSimplicialComplex [1/3]

uipc::geometry::AbstractSimplicialComplex::AbstractSimplicialComplex () = default

function AbstractSimplicialComplex [2/3]

uipc::geometry::AbstractSimplicialComplex::AbstractSimplicialComplex (
    const AbstractSimplicialComplex & o
) = default

function AbstractSimplicialComplex [3/3]

uipc::geometry::AbstractSimplicialComplex::AbstractSimplicialComplex (
    AbstractSimplicialComplex && o
) = default

function dim

Get the dimension of the simplicial complex.

IndexT uipc::geometry::AbstractSimplicialComplex::dim () noexcept const

Return the maximum dimension of the simplices in the simplicial complex.

Returns:

IndexT


function edges [1/2]

A wrapper of the edges and its attributes of the simplicial complex.

EdgeAttributes uipc::geometry::AbstractSimplicialComplex::edges () noexcept

Returns:

EdgeAttributes


function edges [2/2]

CEdgeAttributes uipc::geometry::AbstractSimplicialComplex::edges () noexcept const

function operator=

AbstractSimplicialComplex & uipc::geometry::AbstractSimplicialComplex::operator= (
    const AbstractSimplicialComplex & o
) = delete

function operator=

AbstractSimplicialComplex & uipc::geometry::AbstractSimplicialComplex::operator= (
    AbstractSimplicialComplex && o
) = delete

function tetrahedra [1/2]

A wrapper of the tetrahedra and its attributes of the simplicial complex.

TetrahedronAttributes uipc::geometry::AbstractSimplicialComplex::tetrahedra () noexcept

Returns:

TetrahedronAttributes


function tetrahedra [2/2]

CTetrahedronAttributes uipc::geometry::AbstractSimplicialComplex::tetrahedra () noexcept const

function triangles [1/2]

A wrapper of the triangles and its attributes of the simplicial complex.

TriangleAttributes uipc::geometry::AbstractSimplicialComplex::triangles () noexcept

Returns:

TriangleAttributes


function triangles [2/2]

CTriangleAttributes uipc::geometry::AbstractSimplicialComplex::triangles () noexcept const

function vertices [1/2]

A wrapper of the vertices and its attributes of the simplicial complex.

VertexAttributes uipc::geometry::AbstractSimplicialComplex::vertices () noexcept

Returns:

VertexAttributeInfo


function vertices [2/2]

CVertexAttributes uipc::geometry::AbstractSimplicialComplex::vertices () noexcept const

Protected Functions Documentation

function do_to_json

virtual Json uipc::geometry::AbstractSimplicialComplex::do_to_json () override const

Implements uipc::geometry::Geometry::do_to_json


function get_type

virtual std::string_view uipc::geometry::AbstractSimplicialComplex::get_type () noexcept override const

Implements uipc::geometry::IGeometry::get_type



The documentation for this class was generated from the following file include/uipc/geometry/abstract_simplicial_complex.h