23#ifndef VCL_MESH_REQUIREMENTS_ELEMENT_REQUIREMENTS_H
24#define VCL_MESH_REQUIREMENTS_ELEMENT_REQUIREMENTS_H
26#include <vclib/mesh/exceptions.h>
27#include <vclib/mesh/mesh.h>
45template<u
int ELEM_ID, MeshConcept MeshType>
81template<u
int ELEM_ID, u
int COMP_ID, MeshConcept MeshType>
85 using Container = mesh::ContainerOfElementType<ELEM_ID, MeshType>;
86 using Element = Container::ElementType;
119template<u
int ELEM_ID, u
int COMP_ID, MeshConcept MeshType>
123 using Container = mesh::ContainerOfElementType<ELEM_ID, MeshType>;
124 using Element = Container::ElementType;
157template<u
int ELEM_ID, MeshConcept MeshType>
163 " Container of the Mesh is not compact.");
193template<u
int ELEM_ID, u
int COMP_ID, MeshConcept MeshType>
200 " Component is not enabled.");
A class representing a box in N-dimensional space.
Definition box.h:46
The Element class.
Definition element.h:75
Exception thrown when the mesh is not compact.
Definition exceptions.h:84
Exception thrown when a mesh/element component is missing (not enabled).
Definition exceptions.h:108
The HasComponentOfType concept checks whether a type T (that may be a Mesh or a MeshElement) has a co...
Definition component.h:248
The HasOptionalComponentOfType concept checks whether a type T (that should be a MeshElement) has an ...
Definition component.h:290
bool isPerElementComponentAvailable(const MeshType &m)
Returns true if the given component is available in the given element of the input mesh m.
Definition element_requirements.h:82
bool isElementContainerCompact(const MeshType &m)
Returns true if the given mesh has its Container of the given Element compact.
Definition element_requirements.h:46
void requirePerElementComponent(const MeshType &m)
This function asserts that a Mesh has the Container of the given Element ID, the Element has a Compon...
Definition element_requirements.h:194
void requireElementContainerCompactness(const MeshType &m)
This function asserts that a Mesh has the Container of the given Element ID compact (no elements flag...
Definition element_requirements.h:158
bool enableIfPerElementComponentOptional(MeshType &m)
Makes available the given Component in the given Element of the input mesh m, and returns true if it ...
Definition element_requirements.h:120