#include <cl_Mesh_Basis.hpp>
Public Member Functions | |
| Basis () | |
| ~Basis () override | |
| Basis (const Basis &)=delete | |
| Basis & | operator= (const Basis &)=delete |
| Basis (Basis &&)=delete | |
| Basis & | operator= (Basis &&)=delete |
| virtual EntityType | entity_type () const |
| returns the type of this vertex | |
| virtual uint | number_of_nodes () const |
| virtual uint | number_of_edges () const |
| virtual uint | number_of_faces () const |
| virtual Node * | node (const uint aIndex) |
| virtual const Node * | node (const uint aIndex) const |
| virtual Edge * | edge (const uint aIndex) |
| virtual const Edge * | edge (const uint aIndex) const |
| virtual Face * | face (const uint aIndex=0) |
| virtual const Face * | face (const uint aIndex=0) const |
| virtual uint | number_of_elements () const |
| virtual Element * | element (const uint aIndex) |
| bool | is_hanging () const |
| uint | number_of_sources () const |
| Basis * | source (const uint aIndex) |
| const Basis * | source (const uint aIndex) const |
| Node * | source_node (const uint aIndex) |
| const Node * | source_node (const uint aIndex) const |
| real | weight (const uint aIndex) const |
| void | set_weight (const uint aIndex, const real aValue) |
| void | set_sources (Cell< Basis * > &aSources, const Vector< real > &aCoefficients) |
| Stores borrowed pointers to the sources and copies the weights. | |
| void | set_sources (Cell< Basis * > &aSources, const Cell< real > &aCoefficients) |
| void | set_sources (Cell< Node * > &aSources, const Vector< real > &aCoefficients) |
| void | reset_source_container () |
| void | allocate_source_container (uint aNumSources) |
| void | add_source (Basis *aSource, const real aWeight=1.0) |
| void | flag_sources () |
| void | increment_dof_counter () |
| void | allocate_dof_container () |
| void | reset_dof_container () |
| void | insert_dof (graph::Vertex *aDof) |
| uint | number_of_dofs () const |
| graph::Vertex * | dof (const uint aIndex) |
| bool | holds_dof (const graph::Vertex *aDof) const |
| bool | has_dof_container () const |
| true while a container is allocated, whatever its count | |
| Public Member Functions inherited from belfem::graph::Vertex | |
| Vertex ()=default | |
| virtual | ~Vertex () |
| void | set_id (const id_t aID) |
| id_t | id () const |
| virtual void | set_index (const index_t aIndex) |
| virtual index_t | index () const |
| virtual void | set_owner (const proc_t aOwner) |
| virtual proc_t | owner () const |
| index_t | level () const |
| void | set_level (const index_t aLevel) |
| virtual void | flag (const uint8_t aIndex=0) |
| virtual void | unflag (const uint8_t aIndex=0) |
| virtual bool | is_flagged (const uint8_t aIndex=0) const |
| void | increment_vertex_counter () |
| void | init_vertex_container () |
| void | init_vertex_container (const uint aSize) |
| void | reset_vertex_container () |
| void | insert_vertex (Vertex *aVertex) |
| uint | number_of_vertices () const |
| virtual Vertex * | vertex (const uint aIndex) |
| virtual auto | vertex (const uint aIndex) const -> decltype(this) |
| virtual void | init_element_container () |
| virtual void | reset_element_container () |
| void | sort_vertices () |
| sorts the vertices according to their index | |
| void | reverse_vertices () |
Additional Inherited Members | |
| Protected Attributes inherited from belfem::graph::Vertex | |
| uint32_t | mVertexCounter = 0 |
| Vertex ** | mVertices = nullptr |
| belfem::mesh::Basis::Basis | ( | ) |
|
override |
|
delete |
|
delete |
Appends one source to the allocation sized by allocate_source_container().
|
inline |
| void belfem::mesh::Basis::allocate_source_container | ( | uint | aNumSources | ) |
Allocates exactly the number of source slots that subsequent add_source() calls must append. Capacity is deliberately not stored on every Basis; callers own this invariant.
|
inline |
Reimplemented in belfem::mesh::ControlPoint, belfem::mesh::Element, belfem::mesh::Face, belfem::mesh::Facet, belfem::mesh::Segment, and belfem::mesh::Vertex.
|
virtual |
returns the type of this vertex
Reimplemented in belfem::mesh::ControlPoint, belfem::mesh::Edge, belfem::mesh::Element, belfem::mesh::Face, belfem::mesh::Facet, belfem::mesh::Node, and belfem::mesh::Vertex.
Reimplemented in belfem::mesh::Element, belfem::mesh::ElementTemplate< N, C, E, T, F >, belfem::mesh::Facet, and belfem::mesh::Vertex.
Reimplemented in belfem::mesh::Element, belfem::mesh::ElementTemplate< N, C, E, T, F >, belfem::mesh::Facet, and belfem::mesh::Vertex.
| void belfem::mesh::Basis::flag_sources | ( | ) |
|
inline |
true while a container is allocated, whatever its count
|
inline |
true if the container holds aDof. Pointers are compared, never dereferenced; false when no container is allocated
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented in belfem::mesh::Element, belfem::mesh::ElementTemplate< N, C, E, T, F >, belfem::mesh::Facet, and belfem::mesh::Vertex.
|
virtual |
Reimplemented in belfem::mesh::ControlPoint, belfem::mesh::Element, belfem::mesh::Face, belfem::mesh::Facet, and belfem::mesh::Vertex.
|
virtual |
Reimplemented in belfem::mesh::Element, belfem::mesh::ElementTemplate< N, C, E, T, F >, and belfem::mesh::Vertex.
|
virtual |
|
inline |
|
inline |
| void belfem::mesh::Basis::reset_source_container | ( | ) |
| void belfem::mesh::Basis::set_sources | ( | Cell< Basis * > & | aSources, |
| const Cell< real > & | aCoefficients ) |
| void belfem::mesh::Basis::set_sources | ( | Cell< Basis * > & | aSources, |
| const Vector< real > & | aCoefficients ) |
Stores borrowed pointers to the sources and copies the weights.
The sources and the dofs stay owned by whoever created them. The basis owns its pointer arrays and its copy of the weights. Every set_sources() and insert_dof() overload shares this contract.
| void belfem::mesh::Basis::set_sources | ( | Cell< Node * > & | aSources, |
| const Vector< real > & | aCoefficients ) |