23#ifndef VCL_MESH_REQUIREMENTS_EDGE_REQUIREMENTS_H
24#define VCL_MESH_REQUIREMENTS_EDGE_REQUIREMENTS_H
26#include "../containers/edge_container.h"
27#include "element_requirements.h"
29#include <vclib/concepts/mesh.h>
30#include <vclib/exceptions/mesh.h>
57template<EdgeMeshConcept MeshType>
91template<EdgeMeshConcept MeshType>
116template<EdgeMeshConcept MeshType>
121 CompId::ADJACENT_EDGES>(
m);
152template<EdgeMeshConcept MeshType>
177template<EdgeMeshConcept MeshType>
182 CompId::ADJACENT_FACES>(
m);
213template<EdgeMeshConcept MeshType>
237template<EdgeMeshConcept MeshType>
271template<EdgeMeshConcept MeshType>
295template<EdgeMeshConcept MeshType>
329template<EdgeMeshConcept MeshType>
353template<EdgeMeshConcept MeshType>
387template<EdgeMeshConcept MeshType>
411template<EdgeMeshConcept MeshType>
440template<EdgeMeshConcept MeshType>
475template<EdgeMeshConcept MeshType>
511template<EdgeMeshConcept MeshType>
547template<EdgeMeshConcept MeshType>
582template<EdgeMeshConcept MeshType>
617template<EdgeMeshConcept MeshType>
652template<EdgeMeshConcept MeshType>
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
Concept that checks if a Mesh has the per Edge AdjacentEdges component.
Definition per_edge.h:51
Concept that checks if a Mesh has the per Edge AdjacentFaces component.
Definition per_edge.h:67
Concept that checks if a Mesh has the per Edge Color component.
Definition per_edge.h:97
Concept that checks if a Mesh has the per Edge Mark component.
Definition per_edge.h:128
Concept that checks if a Mesh has the per Edge Normal component.
Definition per_edge.h:142
Concept that checks if a Mesh has the per Edge Quality component.
Definition per_edge.h:157
bool enableIfPerEdgeMarkOptional(MeshType &m)
If the input mesh has a EdgeContainer, and the Edge Element has a Mark Component, this function enabl...
Definition edge_requirements.h:296
bool isPerEdgeColorAvailable(const MeshType &m)
Returns true if the Color component is available (enabled) in the Edge element of the input mesh m.
Definition edge_requirements.h:214
void requirePerEdgeMark(const MeshType &m)
This function asserts that a Mesh has a EdgeContainer, the Edge has a Mark Component,...
Definition edge_requirements.h:583
void requireEdgeContainerCompactness(const MeshType &m)
This function asserts that a Mesh has the EdgeContainer compact (no elements flagged as deleted).
Definition edge_requirements.h:441
bool enableIfPerEdgeAdjacentEdgesOptional(MeshType &m)
If the input mesh has a EdgeContainer, and the Edge Element has a AdjacentEdges Component,...
Definition edge_requirements.h:117
bool isPerEdgeAdjacentEdgesAvailable(const MeshType &m)
Returns true if the AdjacentEdges component is available (enabled) in the Edge element of the input m...
Definition edge_requirements.h:92
bool isPerEdgeNormalAvailable(const MeshType &m)
Returns true if the Normal component is available (enabled) in the Edge element of the input mesh m.
Definition edge_requirements.h:330
bool isPerEdgeMarkAvailable(const MeshType &m)
Returns true if the Mark component is available (enabled) in the Edge element of the input mesh m.
Definition edge_requirements.h:272
bool isPerEdgeAdjacentFacesAvailable(const MeshType &m)
Returns true if the AdjacentFaces component is available (enabled) in the Edge element of the input m...
Definition edge_requirements.h:153
bool enableIfPerEdgeColorOptional(MeshType &m)
If the input mesh has a EdgeContainer, and the Edge Element has a Color Component,...
Definition edge_requirements.h:238
void requirePerEdgeAdjacentFaces(const MeshType &m)
This function asserts that a Mesh has a EdgeContainer, the Edge has a AdjacentFaces Component,...
Definition edge_requirements.h:512
bool isEdgeContainerCompact(const MeshType &m)
Returns true if the given mesh has its EdgeContainer compact.
Definition edge_requirements.h:58
void requirePerEdgeNormal(const MeshType &m)
This function asserts that a Mesh has a EdgeContainer, the Edge has a Normal Component,...
Definition edge_requirements.h:618
bool isPerEdgeQualityAvailable(const MeshType &m)
Returns true if the Quality component is available (enabled) in the Edge element of the input mesh m.
Definition edge_requirements.h:388
bool enableIfPerEdgeAdjacentFacesOptional(MeshType &m)
If the input mesh has a EdgeContainer, and the Edge Element has a AdjacentFaces Component,...
Definition edge_requirements.h:178
bool enableIfPerEdgeNormalOptional(MeshType &m)
If the input mesh has a EdgeContainer, and the Edge Element has a Normal Component,...
Definition edge_requirements.h:354
void requirePerEdgeColor(const MeshType &m)
This function asserts that a Mesh has a EdgeContainer, the Edge has a Color Component,...
Definition edge_requirements.h:548
bool enableIfPerEdgeQualityOptional(MeshType &m)
If the input mesh has a EdgeContainer, and the Edge Element has a Quality Component,...
Definition edge_requirements.h:412
void requirePerEdgeQuality(const MeshType &m)
This function asserts that a Mesh has a EdgeContainer, the Edge has a Quality Component,...
Definition edge_requirements.h:653
void requirePerEdgeAdjacentEdges(const MeshType &m)
This function asserts that a Mesh has a EdgeContainer, the Edge has a AdjacentEdges Component,...
Definition edge_requirements.h:476
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