Visual Computing Library
Loading...
Searching...
No Matches
Edge Requirements

List functions that allows to check, enable and assert the availability of components in the Edge Elements of a Mesh. More...

Collaboration diagram for Edge Requirements:

Functions

template<EdgeMeshConcept MeshType>
bool vcl::isEdgeContainerCompact (const MeshType &m)
 Returns true if the given mesh has its EdgeContainer compact.
 
template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeAdjacentEdgesAvailable (const MeshType &m)
 Returns true if the AdjacentEdges component is available (enabled) in the Edge element of the input mesh m.
 
template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeAdjacentEdgesOptional (MeshType &m)
 If the input mesh has a EdgeContainer, and the Edge Element has a AdjacentEdges Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the AdjacentEdges component will be available in the Edge Element of the mesh.
 
template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeAdjacentFacesAvailable (const MeshType &m)
 Returns true if the AdjacentFaces component is available (enabled) in the Edge element of the input mesh m.
 
template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeAdjacentFacesOptional (MeshType &m)
 If the input mesh has a EdgeContainer, and the Edge Element has a AdjacentFaces Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the AdjacentFaces component will be available in the Edge Element of the mesh.
 
template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeColorAvailable (const MeshType &m)
 Returns true if the Color component is available (enabled) in the Edge element of the input mesh m.
 
template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeColorOptional (MeshType &m)
 If the input mesh has a EdgeContainer, and the Edge Element has a Color Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Color component will be available in the Edge Element of the mesh.
 
template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeMarkAvailable (const MeshType &m)
 Returns true if the Mark component is available (enabled) in the Edge element of the input mesh m.
 
template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeMarkOptional (MeshType &m)
 If the input mesh has a EdgeContainer, and the Edge Element has a Mark Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Mark component will be available in the Edge Element of the mesh.
 
template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeNormalAvailable (const MeshType &m)
 Returns true if the Normal component is available (enabled) in the Edge element of the input mesh m.
 
template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeNormalOptional (MeshType &m)
 If the input mesh has a EdgeContainer, and the Edge Element has a Normal Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Normal component will be available in the Edge Element of the mesh.
 
template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeQualityAvailable (const MeshType &m)
 Returns true if the Quality component is available (enabled) in the Edge element of the input mesh m.
 
template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeQualityOptional (MeshType &m)
 If the input mesh has a EdgeContainer, and the Edge Element has a Quality Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Quality component will be available in the Edge Element of the mesh.
 
template<EdgeMeshConcept MeshType>
void vcl::requireEdgeContainerCompactness (const MeshType &m)
 This function asserts that a Mesh has the EdgeContainer compact (no elements flagged as deleted).
 
template<EdgeMeshConcept MeshType>
requires HasPerEdgeAdjacentEdges<MeshType>
void vcl::requirePerEdgeAdjacentEdges (const MeshType &m)
 This function asserts that a Mesh has a EdgeContainer, the Edge has a AdjacentEdges Component, and that the AdjacentEdges Component is enabled and available at runtime.
 
template<EdgeMeshConcept MeshType>
requires HasPerEdgeAdjacentFaces<MeshType>
void vcl::requirePerEdgeAdjacentFaces (const MeshType &m)
 This function asserts that a Mesh has a EdgeContainer, the Edge has a AdjacentFaces Component, and that the AdjacentFaces Component is enabled and available at runtime.
 
template<EdgeMeshConcept MeshType>
requires HasPerEdgeColor<MeshType>
void vcl::requirePerEdgeColor (const MeshType &m)
 This function asserts that a Mesh has a EdgeContainer, the Edge has a Color Component, and that the Color Component is enabled and available at runtime.
 
template<EdgeMeshConcept MeshType>
requires HasPerEdgeMark<MeshType>
void vcl::requirePerEdgeMark (const MeshType &m)
 This function asserts that a Mesh has a EdgeContainer, the Edge has a Mark Component, and that the Mark Component is enabled and available at runtime.
 
template<EdgeMeshConcept MeshType>
requires HasPerEdgeNormal<MeshType>
void vcl::requirePerEdgeNormal (const MeshType &m)
 This function asserts that a Mesh has a EdgeContainer, the Edge has a Normal Component, and that the Normal Component is enabled and available at runtime.
 
template<EdgeMeshConcept MeshType>
requires HasPerEdgeQuality<MeshType>
void vcl::requirePerEdgeQuality (const MeshType &m)
 This function asserts that a Mesh has a EdgeContainer, the Edge has a Quality Component, and that the Quality Component is enabled and available at runtime.
 

Detailed Description

List functions that allows to check, enable and assert the availability of components in the Edge Elements of a Mesh.

Function Documentation

◆ enableIfPerEdgeAdjacentEdgesOptional()

template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeAdjacentEdgesOptional ( MeshType &  m)

If the input mesh has a EdgeContainer, and the Edge Element has a AdjacentEdges Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the AdjacentEdges component will be available in the Edge Element of the mesh.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which enable the AdjacentEdges component in the Edge Element.
Returns
true if the AdjacentEdges Component is available in the EdgeElement after the call of this funciton.

◆ enableIfPerEdgeAdjacentFacesOptional()

template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeAdjacentFacesOptional ( MeshType &  m)

If the input mesh has a EdgeContainer, and the Edge Element has a AdjacentFaces Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the AdjacentFaces component will be available in the Edge Element of the mesh.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which enable the AdjacentFaces component in the Edge Element.
Returns
true if the AdjacentFaces Component is available in the EdgeElement after the call of this funciton.

◆ enableIfPerEdgeColorOptional()

template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeColorOptional ( MeshType &  m)

If the input mesh has a EdgeContainer, and the Edge Element has a Color Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Color component will be available in the Edge Element of the mesh.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which enable the Color component in the Edge Element.
Returns
true if the Color Component is available in the EdgeElement after the call of this funciton.

◆ enableIfPerEdgeMarkOptional()

template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeMarkOptional ( MeshType &  m)

If the input mesh has a EdgeContainer, and the Edge Element has a Mark Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Mark component will be available in the Edge Element of the mesh.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which enable the Mark component in the Edge Element.
Returns
true if the Mark Component is available in the EdgeElement after the call of this funciton.

◆ enableIfPerEdgeNormalOptional()

template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeNormalOptional ( MeshType &  m)

If the input mesh has a EdgeContainer, and the Edge Element has a Normal Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Normal component will be available in the Edge Element of the mesh.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which enable the Normal component in the Edge Element.
Returns
true if the Normal Component is available in the EdgeElement after the call of this funciton.

◆ enableIfPerEdgeQualityOptional()

template<EdgeMeshConcept MeshType>
bool vcl::enableIfPerEdgeQualityOptional ( MeshType &  m)

If the input mesh has a EdgeContainer, and the Edge Element has a Quality Component, this function enables the Component in the Element if the component needs to be enabled (meaning that it is optional). Returns true if, after the call of this function, the Quality component will be available in the Edge Element of the mesh.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which enable the Quality component in the Edge Element.
Returns
true if the Quality Component is available in the EdgeElement after the call of this funciton.

◆ isEdgeContainerCompact()

template<EdgeMeshConcept MeshType>
bool vcl::isEdgeContainerCompact ( const MeshType &  m)

Returns true if the given mesh has its EdgeContainer compact.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
mthe mesh on which check the compactness of the EdgeContainer.
Returns
true if the EdgeContainer is compact.

◆ isPerEdgeAdjacentEdgesAvailable()

template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeAdjacentEdgesAvailable ( const MeshType &  m)

Returns true if the AdjacentEdges component is available (enabled) in the Edge element of the input mesh m.

This function returns true when the AdjacentEdges component can be used on the element, whether the component is horizontal, vertical or optional.

These are the following cases:

  • if the Edge Element does not have a AdjacentEdges Component, the function returns false;
  • if the Edge Element has a non-optional AdjacentEdges Component, the function returns true;
  • if the Edge Element has an optional AdjacentEdges Component, the function returns true if the AdjacentEdges component is enabled, false otherwise (this check is the only one that is made at runtime);
Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which check the availability of the AdjacentEdges Component in the Edge Element.
Returns
true if the AdjacentEdges Component is available in the Edge Element of the given Mesh.

◆ isPerEdgeAdjacentFacesAvailable()

template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeAdjacentFacesAvailable ( const MeshType &  m)

Returns true if the AdjacentFaces component is available (enabled) in the Edge element of the input mesh m.

This function returns true when the AdjacentFaces component can be used on the element, whether the component is horizontal, vertical or optional.

These are the following cases:

  • if the Edge Element does not have a AdjacentFaces Component, the function returns false;
  • if the Edge Element has a non-optional AdjacentFaces Component, the function returns true;
  • if the Edge Element has an optional AdjacentFaces Component, the function returns true if the AdjacentFaces component is enabled, false otherwise (this check is the only one that is made at runtime);
Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which check the availability of the AdjacentFaces Component in the Edge Element.
Returns
true if the AdjacentFaces Component is available in the Edge Element of the given Mesh.

◆ isPerEdgeColorAvailable()

template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeColorAvailable ( const MeshType &  m)

Returns true if the Color component is available (enabled) in the Edge element of the input mesh m.

This function returns true when the Color component can be used on the element, whether the component is horizontal, vertical or optional.

These are the following cases:

  • if the Edge Element does not have a Color Component, the function returns false;
  • if the Edge Element has a non-optional Color Component, the function returns true;
  • if the Edge Element has an optional Color Component, the function returns true if the Color component is enabled, false otherwise (this check is the only one that is made at runtime);
Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which check the availability of the Color Component in the Edge Element.
Returns
true if the Color Component is available in the Edge Element of the given Mesh.

◆ isPerEdgeMarkAvailable()

template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeMarkAvailable ( const MeshType &  m)

Returns true if the Mark component is available (enabled) in the Edge element of the input mesh m.

This function returns true when the Mark component can be used on the element, whether the component is horizontal, vertical or optional.

These are the following cases:

  • if the Edge Element does not have a Mark Component, the function returns false;
  • if the Edge Element has a non-optional Mark Component, the function returns true;
  • if the Edge Element has an optional Mark Component, the function returns true if the Mark component is enabled, false otherwise (this check is the only one that is made at runtime);
Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which check the availability of the Mark Component in the Edge Element.
Returns
true if the Mark Component is available in the Edge Element of the given Mesh.

◆ isPerEdgeNormalAvailable()

template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeNormalAvailable ( const MeshType &  m)

Returns true if the Normal component is available (enabled) in the Edge element of the input mesh m.

This function returns true when the Normal component can be used on the element, whether the component is horizontal, vertical or optional.

These are the following cases:

  • if the Edge Element does not have a Normal Component, the function returns false;
  • if the Edge Element has a non-optional Normal Component, the function returns true;
  • if the Edge Element has an optional Normal Component, the function returns true if the Normal component is enabled, false otherwise (this check is the only one that is made at runtime);
Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which check the availability of the Normal Component in the Edge Element.
Returns
true if the Normal Component is available in the Edge Element of the given Mesh.

◆ isPerEdgeQualityAvailable()

template<EdgeMeshConcept MeshType>
bool vcl::isPerEdgeQualityAvailable ( const MeshType &  m)

Returns true if the Quality component is available (enabled) in the Edge element of the input mesh m.

This function returns true when the Quality component can be used on the element, whether the component is horizontal, vertical or optional.

These are the following cases:

  • if the Edge Element does not have a Quality Component, the function returns false;
  • if the Edge Element has a non-optional Quality Component, the function returns true;
  • if the Edge Element has an optional Quality Component, the function returns true if the Quality component is enabled, false otherwise (this check is the only one that is made at runtime);
Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Parameters
[in]mthe mesh on which check the availability of the Quality Component in the Edge Element.
Returns
true if the Quality Component is available in the Edge Element of the given Mesh.

◆ requireEdgeContainerCompactness()

template<EdgeMeshConcept MeshType>
void vcl::requireEdgeContainerCompactness ( const MeshType &  m)

This function asserts that a Mesh has the EdgeContainer compact (no elements flagged as deleted).

If the EdgeContainer is not compact, a vcl::MissingCompactnessException will be thrown.

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingCompactnessExceptionif the EdgeContainer is not compact.
Parameters
[in]mthe mesh on which check the compactness of the EdgeContainer.

◆ requirePerEdgeAdjacentEdges()

template<EdgeMeshConcept MeshType>
requires HasPerEdgeAdjacentEdges<MeshType>
void vcl::requirePerEdgeAdjacentEdges ( const MeshType &  m)

This function asserts that a Mesh has a EdgeContainer, the Edge has a AdjacentEdges Component, and that the AdjacentEdges Component is enabled and available at runtime.

If the Mesh:

  • has not a Container of the given ElementEnumType;
  • has the Container but the Element has not a Component of the given ComponentEnumType; a build error will be generated.

If the Mesh:

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingComponentExceptionif the AdjacentEdges Component is not enabled in the EdgeContainer of the Mesh.
Parameters
[in]mthe mesh on which check the availability of the AdjacentEdges Component in the Edge.

◆ requirePerEdgeAdjacentFaces()

template<EdgeMeshConcept MeshType>
requires HasPerEdgeAdjacentFaces<MeshType>
void vcl::requirePerEdgeAdjacentFaces ( const MeshType &  m)

This function asserts that a Mesh has a EdgeContainer, the Edge has a AdjacentFaces Component, and that the AdjacentFaces Component is enabled and available at runtime.

If the Mesh:

  • has not a Container of the given ElementEnumType;
  • has the Container but the Element has not a Component of the given ComponentEnumType; a build error will be generated.

If the Mesh:

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingComponentExceptionif the AdjacentFaces Component is not enabled in the EdgeContainer of the Mesh.
Parameters
[in]mthe mesh on which check the availability of the AdjacentFaces Component in the Edge.

◆ requirePerEdgeColor()

template<EdgeMeshConcept MeshType>
requires HasPerEdgeColor<MeshType>
void vcl::requirePerEdgeColor ( const MeshType &  m)

This function asserts that a Mesh has a EdgeContainer, the Edge has a Color Component, and that the Color Component is enabled and available at runtime.

If the Mesh:

  • has not a Container of the given ElementEnumType;
  • has the Container but the Element has not a Component of the given ComponentEnumType; a build error will be generated.

If the Mesh:

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingComponentExceptionif the Color Component is not enabled in the EdgeContainer of the Mesh.
Parameters
[in]mthe mesh on which check the availability of the Color Component in the Edge.

◆ requirePerEdgeMark()

template<EdgeMeshConcept MeshType>
requires HasPerEdgeMark<MeshType>
void vcl::requirePerEdgeMark ( const MeshType &  m)

This function asserts that a Mesh has a EdgeContainer, the Edge has a Mark Component, and that the Mark Component is enabled and available at runtime.

If the Mesh:

  • has not a Container of the given ElementEnumType;
  • has the Container but the Element has not a Component of the given ComponentEnumType; a build error will be generated.

If the Mesh:

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingComponentExceptionif the Mark Component is not enabled in the EdgeContainer of the Mesh.
Parameters
[in]mthe mesh on which check the availability of the Mark Component in the Edge.

◆ requirePerEdgeNormal()

template<EdgeMeshConcept MeshType>
requires HasPerEdgeNormal<MeshType>
void vcl::requirePerEdgeNormal ( const MeshType &  m)

This function asserts that a Mesh has a EdgeContainer, the Edge has a Normal Component, and that the Normal Component is enabled and available at runtime.

If the Mesh:

  • has not a Container of the given ElementEnumType;
  • has the Container but the Element has not a Component of the given ComponentEnumType; a build error will be generated.

If the Mesh:

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingComponentExceptionif the Normal Component is not enabled in the EdgeContainer of the Mesh.
Parameters
[in]mthe mesh on which check the availability of the Normal Component in the Edge.

◆ requirePerEdgeQuality()

template<EdgeMeshConcept MeshType>
requires HasPerEdgeQuality<MeshType>
void vcl::requirePerEdgeQuality ( const MeshType &  m)

This function asserts that a Mesh has a EdgeContainer, the Edge has a Quality Component, and that the Quality Component is enabled and available at runtime.

If the Mesh:

  • has not a Container of the given ElementEnumType;
  • has the Container but the Element has not a Component of the given ComponentEnumType; a build error will be generated.

If the Mesh:

Template Parameters
MeshTypethe type of the Mesh to check, it must satisfy the EdgeMeshConcept.
Exceptions
vcl::MissingComponentExceptionif the Quality Component is not enabled in the EdgeContainer of the Mesh.
Parameters
[in]mthe mesh on which check the availability of the Quality Component in the Edge.