Class uipc::geometry::SimplicialComplex
ClassList > uipc > geometry > SimplicialComplex
A simplicial complex is a collection of simplices. More...
#include <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
Type | Name |
---|---|
typedef InstanceAttributesT< true > | CInstanceAttributes |
typedef MetaAttributesT< true > | CMetaAttributes |
typedef InstanceAttributesT< false > | InstanceAttributes |
typedef MetaAttributesT< false > | MetaAttributes |
Public Functions
Type | Name |
---|---|
SimplicialComplex () |
|
SimplicialComplex (const SimplicialComplex & o) = default |
|
SimplicialComplex (SimplicialComplex && 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 |
SimplicialComplex & | operator= (const SimplicialComplex & o) = delete |
SimplicialComplex & | operator= (SimplicialComplex && o) = delete |
AttributeSlot< Vector3 > & | positions () noexcept Get the positions of the vertices. |
const AttributeSlot< Vector3 > & | positions () noexcept const A short cut to get the positions of the vertices. |
TetrahedronAttributes | tetrahedra () noexcept A wrapper of the tetrahedra and its attributes of the simplicial complex. |
CTetrahedronAttributes | tetrahedra () noexcept const |
AttributeSlot< Matrix4x4 > & | transforms () A short-cut to get the non-const transforms attribute slot. |
const AttributeSlot< Matrix4x4 > & | transforms () const A short-cut to get the const transforms attribute slot. |
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
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
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
Type | Name |
---|---|
AttributeCollection | m_intances |
AttributeCollection | m_meta |
Protected Functions
Type | Name |
---|---|
virtual void | do_collect_attribute_collections (vector< std::string > & names, vector< AttributeCollection * > & collections) override |
virtual Json | do_to_json () override const |
virtual std::string_view | get_type () noexcept override const |
Protected Functions inherited from 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
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
In \(\mathbb{R}^3\), a simplicial complex is defined as follows: $$ K = (V, E, F, T), $$ where \(V\) is the set of vertices, \(E\) is the set of edges, \(F\) is the set of triangles, and \(T\) is the set of tetrahedra.
See also: Tutorial/Geometry
Public Types Documentation
typedef CEdgeAttributes
typedef CTetrahedronAttributes
using uipc::geometry::SimplicialComplex::CTetrahedronAttributes = SimplicialComplexAttributes<true, 3>;
typedef CTriangleAttributes
using uipc::geometry::SimplicialComplex::CTriangleAttributes = SimplicialComplexAttributes<true, 2>;
typedef CVertexAttributes
typedef EdgeAttributes
Alias for the edge attributes.
See also: SimplicialComplexAttributes
typedef TetrahedronAttributes
Alias for the tetrahedron attributes.
using uipc::geometry::SimplicialComplex::TetrahedronAttributes = SimplicialComplexAttributes<false, 3>;
See also: SimplicialComplexAttributes
typedef TriangleAttributes
Alias for the triangle attributes.
using uipc::geometry::SimplicialComplex::TriangleAttributes = SimplicialComplexAttributes<false, 2>;
See also: SimplicialComplexAttributes
typedef VertexAttributes
Alias for the vertex attributes.
See also: SimplicialComplexAttributes
Public Functions Documentation
function SimplicialComplex [1/3]
function SimplicialComplex [2/3]
function SimplicialComplex [3/3]
function dim
Get the dimension of the simplicial complex.
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.
Returns:
EdgeAttributes
function edges [2/2]
function operator=
SimplicialComplex & uipc::geometry::SimplicialComplex::operator= (
const SimplicialComplex & o
) = delete
function operator=
SimplicialComplex & uipc::geometry::SimplicialComplex::operator= (
SimplicialComplex && o
) = delete
function positions [1/2]
Get the positions of the vertices.
Returns:
AttributeSlot<Vector3>&
function positions [2/2]
A short cut to get the positions of the vertices.
Returns:
const AttributeSlot<Vector3>&
function tetrahedra [1/2]
A wrapper of the tetrahedra and its attributes of the simplicial complex.
Returns:
TetrahedronAttributes
function tetrahedra [2/2]
function transforms [1/2]
A short-cut to get the non-const transforms attribute slot.
Returns:
The attribute slot of the non-const transforms.
function transforms [2/2]
A short-cut to get the const transforms attribute slot.
Returns:
The attribute slot of the const transforms.
function triangles [1/2]
A wrapper of the triangles and its attributes of the simplicial complex.
Returns:
TriangleAttributes
function triangles [2/2]
function vertices [1/2]
A wrapper of the vertices and its attributes of the simplicial complex.
Returns:
VertexAttributeInfo
function vertices [2/2]
Protected Functions Documentation
function do_collect_attribute_collections
virtual void uipc::geometry::SimplicialComplex::do_collect_attribute_collections (
vector< std::string > & names,
vector< AttributeCollection * > & collections
) override
Implements uipc::geometry::Geometry::do_collect_attribute_collections
function do_to_json
Implements uipc::geometry::Geometry::do_to_json
function get_type
Implements uipc::geometry::IGeometry::get_type
Friends Documentation
friend formatter< SimplicialComplex >
struct uipc::geometry::SimplicialComplex::formatter< SimplicialComplex > (
fmt::formatter< SimplicialComplex >
)
The documentation for this class was generated from the following file include/uipc/geometry/simplicial_complex.h