Graphite
Version 3
An experimental 3D geometry processing program
mesh_partition.h
Go to the documentation of this file.
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_PARTITION
41
#define GEOGRAM_MESH_MESH_PARTITION
42
43
#include <
geogram/basic/common.h
>
44
#include <
geogram/basic/numeric.h
>
45
#include <
geogram/basic/memory.h
>
46
52
namespace
GEO
{
53
54
class
Mesh;
55
59
enum
MeshPartitionMode
{
61
MESH_PARTITION_HILBERT
= 1,
62
64
MESH_PARTITION_CONNECTED_COMPONENTS
= 2
65
};
66
84
void
GEOGRAM_API
mesh_partition
(
85
Mesh
& M,
86
MeshPartitionMode
mode,
87
vector<index_t>
& facet_ptr,
88
vector<index_t>
& tet_ptr,
89
index_t
nb_parts = 0
90
);
91
107
void
GEOGRAM_API
mesh_partition
(
108
Mesh
& M,
109
MeshPartitionMode
mode,
110
vector<index_t>
& facet_ptr,
111
index_t
nb_parts = 0
112
);
113
}
114
115
#endif
GEO::Mesh
Represents a mesh.
Definition:
mesh.h:2693
GEO::vector< index_t >
common.h
Common include file, providing basic definitions. Should be included before anything else by all head...
memory.h
Types and functions for memory manipulation.
GEO
Global Vorpaline namespace.
Definition:
lua_grob_shader.h:53
GEO::mesh_partition
void mesh_partition(Mesh &M, MeshPartitionMode mode, vector< index_t > &facet_ptr, vector< index_t > &tet_ptr, index_t nb_parts=0)
Partitions a mesh into a fixed number of parts.
GEO::index_t
geo_index_t index_t
The type for storing and manipulating indices.
Definition:
numeric.h:329
GEO::MeshPartitionMode
MeshPartitionMode
Strategy for mesh partitioning.
Definition:
mesh_partition.h:59
GEO::MESH_PARTITION_CONNECTED_COMPONENTS
@ MESH_PARTITION_CONNECTED_COMPONENTS
Definition:
mesh_partition.h:64
GEO::MESH_PARTITION_HILBERT
@ MESH_PARTITION_HILBERT
Definition:
mesh_partition.h:61
numeric.h
Types and functions for numbers manipulation.
geogram
mesh
mesh_partition.h
Generated on Fri Sep 13 2024 12:25:25 for Graphite by
1.9.1