Geogram
Version 1.9.1
A programming library of geometric algorithms
mesh_segmentation.h
1
/*
2
* Copyright (c) 2000-2022 Inria
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
* * Neither the name of the ALICE Project-Team nor the names of its
14
* contributors may be used to endorse or promote products derived from this
15
* software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*
29
* Contact: Bruno Levy
30
*
31
* https://www.inria.fr/fr/bruno-levy
32
*
33
* Inria,
34
* Domaine de Voluceau,
35
* 78150 Le Chesnay - Rocquencourt
36
* FRANCE
37
*
38
*/
39
40
#ifndef GEOGRAM_MESH_MESH_SEGMENTATION
41
#define GEOGRAM_MESH_MESH_SEGMENTATION
42
43
#include <
geogram/basic/common.h
>
44
#include <
geogram/basic/attributes.h
>
45
51
namespace
GEO
{
52
class
Mesh;
53
54
enum
MeshSegmenter
{
55
57
SEGMENT_GEOMETRIC_VSA_L2
,
58
60
SEGMENT_GEOMETRIC_VSA_L12
,
61
63
SEGMENT_SPECTRAL_8
,
64
66
SEGMENT_SPECTRAL_20
,
67
72
SEGMENT_SPECTRAL_100
,
73
75
SEGMENT_INERTIA_AXIS
76
};
77
89
index_t
GEOGRAM_API
mesh_segment
(
90
Mesh
& mesh,
MeshSegmenter
segmenter,
91
index_t
nb_segments,
bool
verbose=
false
92
);
93
94
}
95
96
#endif
attributes.h
Generic mechanism for attributes.
GEO::Mesh
Represents a mesh.
Definition:
mesh.h:2701
common.h
Common include file, providing basic definitions. Should be included before anything else by all head...
GEO
Global Vorpaline namespace.
Definition:
basic.h:55
GEO::index_t
geo_index_t index_t
The type for storing and manipulating indices.
Definition:
numeric.h:329
GEO::MeshSegmenter
MeshSegmenter
Definition:
mesh_segmentation.h:54
GEO::SEGMENT_SPECTRAL_8
@ SEGMENT_SPECTRAL_8
Definition:
mesh_segmentation.h:63
GEO::SEGMENT_GEOMETRIC_VSA_L12
@ SEGMENT_GEOMETRIC_VSA_L12
Definition:
mesh_segmentation.h:60
GEO::SEGMENT_GEOMETRIC_VSA_L2
@ SEGMENT_GEOMETRIC_VSA_L2
Definition:
mesh_segmentation.h:57
GEO::SEGMENT_INERTIA_AXIS
@ SEGMENT_INERTIA_AXIS
Definition:
mesh_segmentation.h:75
GEO::SEGMENT_SPECTRAL_20
@ SEGMENT_SPECTRAL_20
Definition:
mesh_segmentation.h:66
GEO::SEGMENT_SPECTRAL_100
@ SEGMENT_SPECTRAL_100
Definition:
mesh_segmentation.h:72
GEO::mesh_segment
index_t mesh_segment(Mesh &mesh, MeshSegmenter segmenter, index_t nb_segments, bool verbose=false)
Computes a segmentation of a mesh.
geogram
parameterization
mesh_segmentation.h
Generated on Wed Nov 20 2024 21:25:23 for Geogram by
1.9.1