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)  | 
|
| 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)  | 
|
| Geometry (Geometry && o) = default | 
|
| T * | as ()  | 
| const T * | as () const | 
| 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 | 
|---|---|
| S< IGeometry > | clone () const | 
| 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.  | 
| void | update_from (const GeometryCommit & commit)  | 
| virtual | ~IGeometry () = default | 
Protected Functions
| Type | Name | 
|---|---|
| virtual S< IGeometry > | do_clone () override const | 
| virtual std::string_view | get_type () noexcept override const | 
Protected Functions inherited from uipc::geometry::Geometry
| Type | Name | 
|---|---|
| S< AttributeCollection > | create (std::string_view name)  | 
| virtual void | do_build_from_attribute_collections (span< const std::string > names, span< const AttributeCollection * > collections) override | 
| virtual S< IGeometry > | do_clone () override const | 
| virtual void | do_collect_attribute_collections (vector< std::string > & names, vector< const AttributeCollection * > & collections) override const | 
| virtual void | do_collect_attribute_collections (vector< std::string > & names, vector< AttributeCollection * > & collections) override | 
| virtual Json | do_to_json () override const | 
| virtual void | do_update_from (const GeometryCommit & commit) override | 
| S< const AttributeCollection > | find (std::string_view name) const | 
| S< AttributeCollection > | find (std::string_view name)  | 
| virtual std::string_view | get_type () noexcept override const | 
Protected Functions inherited from uipc::geometry::IGeometry
| Type | Name | 
|---|---|
| virtual void | do_build_from_attribute_collections (span< const std::string > names, span< const AttributeCollection * > collections) = 0 | 
| virtual S< IGeometry > | do_clone () const = 0 | 
| virtual void | do_collect_attribute_collections (vector< std::string > & names, vector< const AttributeCollection * > & collections) const = 0 | 
| virtual void | do_collect_attribute_collections (vector< std::string > & names, vector< AttributeCollection * > & collections) = 0 | 
| virtual Json | do_to_json () const = 0 | 
| virtual void | do_update_from (const GeometryCommit & commit) = 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:
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:
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:
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:
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_clone
Implements uipc::geometry::Geometry::do_clone
function get_type
Implements uipc::geometry::Geometry::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