23#ifndef VCL_MESH_ELEMENTS_EDGE_COMPONENTS_H
24#define VCL_MESH_ELEMENTS_EDGE_COMPONENTS_H
26#include "../components/adjacent_edges.h"
27#include "../components/adjacent_faces.h"
28#include "../components/bit_flags.h"
29#include "../components/color.h"
30#include "../components/custom_components.h"
31#include "../components/mark.h"
32#include "../components/normal.h"
33#include "../components/parent_mesh_pointer.h"
34#include "../components/quality.h"
35#include "../components/vertex_references.h"
101template<
bool INDEXED,
typename ParentEdgeType>
103 comp::AdjacentEdges<INDEXED, ParentEdgeType, -1,
false, ParentEdgeType>;
105template<
bool INDEXED,
typename ParentEdgeType>
106using VerticalAdjacentEdges = comp::
107 AdjacentEdges<INDEXED, ParentEdgeType, -1,
false, ParentEdgeType,
true>;
109template<
bool INDEXED,
typename ParentEdgeType>
110using OptionalAdjacentEdges = comp::AdjacentEdges<
119template<
typename ParentEdgeType>
120using AdjacentEdgeIndices =
121 comp::AdjacentEdges<
true, ParentEdgeType, -1,
false, ParentEdgeType>;
123template<
typename ParentEdgeType>
124using VerticalAdjacentEdgeIndices =
125 comp::AdjacentEdges<
true, ParentEdgeType, -1,
false, ParentEdgeType,
true>;
127template<
typename ParentEdgeType>
128using OptionalAdjacentEdgeIndices = comp::
129 AdjacentEdges<
true, ParentEdgeType, -1,
false, ParentEdgeType,
true,
true>;
131template<
typename ParentEdgeType>
132using AdjacentEdgePointers =
133 comp::AdjacentEdges<
false, ParentEdgeType, -1,
false, ParentEdgeType>;
135template<
typename ParentEdgeType>
136using VerticalAdjacentEdgePointers =
137 comp::AdjacentEdges<
false, ParentEdgeType, -1,
false, ParentEdgeType,
true>;
139template<
typename ParentEdgeType>
140using OptionalAdjacentEdgePointers = comp::
141 AdjacentEdges<
false, ParentEdgeType, -1,
false, ParentEdgeType,
true,
true>;
144template<
bool INDEXED,
typename FaceType,
typename ParentEdgeType>
146 comp::AdjacentFaces<INDEXED, FaceType, -1,
false, ParentEdgeType>;
148template<
bool INDEXED,
typename FaceType,
typename ParentEdgeType>
149using VerticalAdjacentFaces =
150 comp::AdjacentFaces<INDEXED, FaceType, -1,
false, ParentEdgeType,
true>;
152template<
bool INDEXED,
typename FaceType,
typename ParentEdgeType>
153using OptionalAdjacentFaces = comp::
154 AdjacentFaces<INDEXED, FaceType, -1,
false, ParentEdgeType,
true,
true>;
156template<
typename FaceType,
typename ParentEdgeType>
157using AdjacentFaceIndices =
158 comp::AdjacentFaces<
true, FaceType, -1,
false, ParentEdgeType>;
160template<
typename FaceType,
typename ParentEdgeType>
161using VerticalAdjacentFaceIndices =
162 comp::AdjacentFaces<
true, FaceType, -1,
false, ParentEdgeType,
true>;
164template<
typename FaceType,
typename ParentEdgeType>
165using OptionalAdjacentFaceIndices =
166 comp::AdjacentFaces<
true, FaceType, -1,
false, ParentEdgeType,
true,
true>;
168template<
typename FaceType,
typename ParentEdgeType>
169using AdjacentFacePointers =
170 comp::AdjacentFaces<
false, FaceType, -1,
false, ParentEdgeType>;
172template<
typename FaceType,
typename ParentEdgeType>
173using VerticalAdjacentFacePointers =
174 comp::AdjacentFaces<
false, FaceType, -1,
false, ParentEdgeType,
true>;
176template<
typename FaceType,
typename ParentEdgeType>
177using OptionalAdjacentFacePointers =
178 comp::AdjacentFaces<
false, FaceType, -1,
false, ParentEdgeType,
true,
true>;
181using BitFlags = comp::BitFlags<>;
184using Color = comp::Color<>;
186template<
typename ParentEdgeType>
187using VerticalColor = comp::Color<ParentEdgeType>;
189template<
typename ParentEdgeType>
190using OptionalColor = comp::Color<ParentEdgeType, true>;
193template<
typename ParentEdgeType>
194using CustomComponents = comp::CustomComponents<ParentEdgeType>;
197using Mark = comp::Mark<>;
199template<
typename ParentEdgeType>
200using VerticalMark = comp::Mark<ParentEdgeType>;
202template<
typename ParentEdgeType>
203using OptionalMark = comp::Mark<ParentEdgeType, true>;
206template<
typename ScalarType,
int N>
207using Normal = comp::Normal<Point<ScalarType, N>>;
209template<
typename ScalarType>
210using Normal3 = comp::Normal3<ScalarType>;
212using Normal3f = comp::Normal3f<>;
213using Normal3d = comp::Normal3d<>;
215template<
typename ScalarType,
int N,
typename ParentEdgeType>
216using VerticalNormal = comp::Normal<Point<ScalarType, N>, ParentEdgeType>;
218template<
typename ScalarType,
typename ParentEdgeType>
219using VerticalNormal3 = comp::Normal3<ScalarType, ParentEdgeType>;
221template<
typename ParentEdgeType>
222using VerticalNormal3f = comp::Normal3f<ParentEdgeType>;
224template<
typename ParentEdgeType>
225using VerticalNormal3d = comp::Normal3d<ParentEdgeType>;
227template<
typename ScalarType,
int N,
typename ParentEdgeType>
228using OptionalNormal = comp::Normal<Point<ScalarType, N>, ParentEdgeType,
true>;
230template<
typename ScalarType,
typename ParentEdgeType>
231using OptionalNormal3 = comp::Normal3<ScalarType, ParentEdgeType, true>;
233template<
typename ParentEdgeType>
234using OptionalNormal3f = comp::Normal3f<ParentEdgeType, true>;
236template<
typename ParentEdgeType>
237using OptionalNormal3d = comp::Normal3d<ParentEdgeType, true>;
240template<
typename MeshType>
241using ParentMeshPointer = comp::ParentMeshPointer<MeshType>;
244template<
typename QualityType>
245using Quality = comp::Quality<QualityType>;
247using Qualityf = comp::Qualityf<>;
248using Qualityd = comp::Qualityd<>;
250template<
typename QualityType,
typename ParentEdgeType>
251using VerticalQuality = comp::Quality<QualityType, ParentEdgeType>;
253template<
typename ParentEdgeType>
254using VerticalQualityf = comp::Quality<float, ParentEdgeType>;
256template<
typename ParentEdgeType>
257using VerticalQualityd = comp::Quality<double, ParentEdgeType>;
259template<
typename QualityType,
typename ParentEdgeType>
260using OptionalQuality = comp::Quality<QualityType, ParentEdgeType, true>;
262template<
typename ParentEdgeType>
263using OptionalQualityf = comp::Quality<float, ParentEdgeType, true>;
265template<
typename ParentEdgeType>
266using OptionalQualityd = comp::Quality<double, ParentEdgeType, true>;
269template<
bool INDEXED,
typename VertexType,
typename EdgeType>
270using VertexReferences =
271 comp::VertexReferences<INDEXED, VertexType, 2, EdgeType>;
273template<
typename VertexType,
typename EdgeType>
274using VertexIndices = comp::VertexReferences<true, VertexType, 2, EdgeType>;
276template<
typename VertexType,
typename EdgeType>
277using VertexPointers = comp::VertexReferences<false, VertexType, 2, EdgeType>;
A concept that checks whether a type T (that should be a Element) has the AdjacentEdges component (in...
Definition adjacent_edges.h:668
A concept that checks whether a type T (that should be a Element) has the AdjacentFaces component (in...
Definition adjacent_faces.h:672
A concept that checks whether a type T (that should be an Element) has the one of the BitFlags compon...
Definition bit_flags.h:101
A concept that checks whether a type T (that should be a Element or a Mesh) has the Color component (...
Definition color.h:132
A concept that checks whether a type T (that should be an Element or a Mesh) has the CustomComponents...
Definition custom_components.h:316
A concept that checks whether a type T (that should be a Element or a Mesh) has the Mark component (i...
Definition mark.h:198
A concept that checks whether a type T (that should be a Element) has the Normal component (inherits ...
Definition normal.h:133
A concept that checks whether a type T (that should be a Element) has the AdjacentEdges component (in...
Definition adjacent_edges.h:682
A concept that checks whether a type T (that should be a Element) has the AdjacentFaces component (in...
Definition adjacent_faces.h:686
A concept that checks whether a type T (that should be a Element or a Mesh) has the Color component (...
Definition color.h:144
A concept that checks whether a type T (that should be a Element or a Mesh) has the Mark component (i...
Definition mark.h:210
A concept that checks whether a type T (that should be a Element) has the Normal component (inherits ...
Definition normal.h:146
A concept that checks whether a type T (that should be a Element or a Mesh) has the Quality component...
Definition quality.h:144
A concept that checks whether a type T (that should be a Element or a Mesh) has the Quality component...
Definition quality.h:132
A concept that checks whether a type T (that should be a Element) has the VertexReferences component ...
Definition vertex_references.h:712
Definition edge_components.h:63
Definition edge_components.h:67
Definition edge_components.h:71
Definition edge_components.h:73
Definition edge_components.h:77
Definition edge_components.h:79
Definition edge_components.h:83
Definition edge_components.h:65
Definition edge_components.h:69
Definition edge_components.h:75
Definition edge_components.h:81
Definition edge_components.h:85
Definition edge_components.h:89
Definition edge_components.h:87
Definition edge_components.h:91