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