Visual Computing Library
Loading...
Searching...
No Matches
adj_vertices.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_VIEWS_MESH_COMPONENTS_ADJ_VERTICES_H
24
#define VCL_VIEWS_MESH_COMPONENTS_ADJ_VERTICES_H
25
26
#include <vclib/concepts/mesh.h>
27
#include <vclib/concepts/pointers.h>
28
#include <vclib/types.h>
29
30
namespace
vcl::views {
31
32
namespace
detail {
33
34
struct
AdjVerticesView
35
{
36
constexpr
AdjVerticesView() =
default
;
37
38
template
<comp::HasAdjacentVertices R>
39
friend
constexpr
auto
operator|(R&& r, AdjVerticesView)
40
{
41
if
constexpr
(IsPointer<R>)
42
return
r->adjVertices();
43
else
44
return
r.adjVertices();
45
}
46
};
47
48
}
// namespace detail
49
65
inline
constexpr
detail::AdjVerticesView
adjVertices
;
66
67
}
// namespace vcl::views
68
69
#endif
// VCL_VIEWS_MESH_COMPONENTS_ADJ_VERTICES_H
vcl::views::adjVertices
constexpr detail::AdjVerticesView adjVertices
The adjVertices view allows to obtain a view that access to the adjacent vertices of the object that ...
Definition
adj_vertices.h:65
vclib
core
include
vclib
views
mesh
components
adj_vertices.h
Generated by
1.9.8