Visual Computing Library
Loading...
Searching...
No Matches
per_vertex.h
1
/*****************************************************************************
2
* VCLib *
3
* Visual Computing Library *
4
* *
5
* Copyright(C) 2021-2025 *
6
* Visual Computing Lab *
7
* ISTI - Italian National Research Council *
8
* *
9
* All rights reserved. *
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the Mozilla Public License Version 2.0 as published *
13
* by the Mozilla Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
* This program is distributed in the hope that it will be useful, *
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
19
* Mozilla Public License Version 2.0 *
20
* (https://www.mozilla.org/en-US/MPL/2.0/) for more details. *
21
****************************************************************************/
22
23
#ifndef VCL_CONCEPTS_MESH_PER_VERTEX_H
24
#define VCL_CONCEPTS_MESH_PER_VERTEX_H
25
26
#include "containers/vertex_container.h"
27
#include "elements/vertex.h"
28
37
namespace
vcl {
38
50
template
<
typename
MeshType>
51
concept
HasPerVertexAdjacentEdges
=
52
HasVertices<MeshType>
&&
53
vert::HasAdjacentEdges<typename RemoveRef<MeshType>::VertexType
>;
54
66
template
<
typename
MeshType>
67
concept
HasPerVertexAdjacentFaces
=
68
HasVertices<MeshType>
&&
69
vert::HasAdjacentFaces<typename RemoveRef<MeshType>::VertexType
>;
70
82
template
<
typename
MeshType>
83
concept
HasPerVertexAdjacentVertices
=
84
HasVertices<MeshType>
&&
85
vert::HasAdjacentVertices<typename RemoveRef<MeshType>::VertexType
>;
86
97
template
<
typename
MeshType>
98
concept
HasPerVertexColor
=
99
HasVertices<MeshType>
&&
100
vert::HasColor<typename RemoveRef<MeshType>::VertexType
>;
101
112
template
<
typename
MeshType>
113
concept
HasPerVertexMark
=
114
HasVertices<MeshType>
&&
115
vert::HasMark<typename RemoveRef<MeshType>::VertexType
>;
116
127
template
<
typename
MeshType>
128
concept
HasPerVertexNormal
=
129
HasVertices<MeshType>
&&
130
vert::HasNormal<typename RemoveRef<MeshType>::VertexType
>;
131
143
template
<
typename
MeshType>
144
concept
HasPerVertexPrincipalCurvature
=
145
HasVertices<MeshType>
&&
146
vert::HasPrincipalCurvature<typename RemoveRef<MeshType>::VertexType
>;
147
158
template
<
typename
MeshType>
159
concept
HasPerVertexQuality
=
160
HasVertices<MeshType>
&&
161
vert::HasQuality<typename RemoveRef<MeshType>::VertexType
>;
162
173
template
<
typename
MeshType>
174
concept
HasPerVertexTexCoord
=
175
HasVertices<MeshType>
&&
176
vert::HasTexCoord<typename RemoveRef<MeshType>::VertexType
>;
177
187
template
<
typename
MeshType>
188
concept
HasPerVertexCustomComponents
=
189
HasVertices<MeshType>
&&
190
vert::HasCustomComponents<typename RemoveRef<MeshType>::VertexType
>;
191
192
}
// namespace vcl
193
194
#endif
// VCL_CONCEPTS_MESH_PER_VERTEX_H
vcl::HasPerVertexAdjacentEdges
Concept that checks if a Mesh has the per Vertex AdjacentEdges component.
Definition
per_vertex.h:51
vcl::HasPerVertexAdjacentFaces
Concept that checks if a Mesh has the per Vertex AdjacentFaces component.
Definition
per_vertex.h:67
vcl::HasPerVertexAdjacentVertices
Concept that checks if a Mesh has the per Vertex AdjacentVertices component.
Definition
per_vertex.h:83
vcl::HasPerVertexColor
Concept that checks if a Mesh has the per Vertex Color component.
Definition
per_vertex.h:98
vcl::HasPerVertexCustomComponents
Concept that checks if a Mesh has the per Vertex CustomComponents.
Definition
per_vertex.h:188
vcl::HasPerVertexMark
Concept that checks if a Mesh has the per Vertex Mark component.
Definition
per_vertex.h:113
vcl::HasPerVertexNormal
Concept that checks if a Mesh has the per Vertex Normal component.
Definition
per_vertex.h:128
vcl::HasPerVertexPrincipalCurvature
Concept that checks if a Mesh has the per Vertex PrincipalCurvature component.
Definition
per_vertex.h:144
vcl::HasPerVertexQuality
Concept that checks if a Mesh has the per Vertex Quality component.
Definition
per_vertex.h:159
vcl::HasPerVertexTexCoord
Concept that checks if a Mesh has the per Vertex TexCoord component.
Definition
per_vertex.h:174
vcl::HasVertices
HasVertices concepts is satisfied when at least one of its types is (or inherits from) a vcl::mesh::V...
Definition
vertex_container.h:130
vcl::vert::HasAdjacentEdges
Definition
vertex.h:48
vcl::vert::HasAdjacentFaces
Definition
vertex.h:52
vcl::vert::HasAdjacentVertices
Definition
vertex.h:56
vcl::vert::HasColor
Definition
vertex.h:62
vcl::vert::HasCustomComponents
Definition
vertex.h:66
vcl::vert::HasMark
Definition
vertex.h:70
vcl::vert::HasNormal
Definition
vertex.h:74
vcl::vert::HasPrincipalCurvature
Definition
vertex.h:78
vcl::vert::HasQuality
Definition
vertex.h:82
vcl::vert::HasTexCoord
Definition
vertex.h:86
vclib
core
include
vclib
concepts
mesh
per_vertex.h
Generated by
1.9.8