Blender
V2.93
source
blender
blenkernel
BKE_mesh_remesh_voxel.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2019 by Blender Foundation
17
* All rights reserved.
18
*/
19
20
#pragma once
21
26
#ifdef WITH_OPENVDB
27
# include "
openvdb_capi.h
"
28
#endif
29
30
#ifdef __cplusplus
31
extern
"C"
{
32
#endif
33
34
struct
Mesh
;
35
36
/* OpenVDB Voxel Remesher */
37
#ifdef WITH_OPENVDB
38
struct
OpenVDBLevelSet
*BKE_mesh_remesh_voxel_ovdb_mesh_to_level_set_create(
39
struct
Mesh
*
mesh
,
struct
OpenVDBTransform
*
transform
);
40
struct
Mesh
*BKE_mesh_remesh_voxel_ovdb_volume_to_mesh_nomain(
struct
OpenVDBLevelSet
*level_set,
41
double
isovalue,
42
double
adaptivity,
43
bool
relax_disoriented_triangles);
44
#endif
45
46
struct
Mesh
*
BKE_mesh_remesh_voxel_fix_poles
(
struct
Mesh
*
mesh
);
47
struct
Mesh
*
BKE_mesh_remesh_voxel_to_mesh_nomain
(
struct
Mesh
*
mesh
,
48
float
voxel_size,
49
float
adaptivity,
50
float
isovalue);
51
struct
Mesh
*
BKE_mesh_remesh_quadriflow_to_mesh_nomain
(
struct
Mesh
*
mesh
,
52
int
target_faces,
53
int
seed
,
54
bool
preserve_sharp,
55
bool
preserve_boundary,
56
bool
adaptive_scale,
57
void
*
update_cb
,
58
void
*update_cb_data);
59
60
/* Data reprojection functions */
61
void
BKE_mesh_remesh_reproject_paint_mask
(
struct
Mesh
*target,
struct
Mesh
*source);
62
void
BKE_remesh_reproject_vertex_paint
(
struct
Mesh
*target,
struct
Mesh
*source);
63
void
BKE_remesh_reproject_sculpt_face_sets
(
struct
Mesh
*target,
struct
Mesh
*source);
64
65
#ifdef __cplusplus
66
}
67
#endif
BKE_mesh_remesh_reproject_paint_mask
void BKE_mesh_remesh_reproject_paint_mask(struct Mesh *target, struct Mesh *source)
Definition:
mesh_remesh_voxel.c:317
BKE_remesh_reproject_vertex_paint
void BKE_remesh_reproject_vertex_paint(struct Mesh *target, struct Mesh *source)
Definition:
mesh_remesh_voxel.c:406
BKE_mesh_remesh_quadriflow_to_mesh_nomain
struct Mesh * BKE_mesh_remesh_quadriflow_to_mesh_nomain(struct Mesh *mesh, int target_faces, int seed, bool preserve_sharp, bool preserve_boundary, bool adaptive_scale, void *update_cb, void *update_cb_data)
Definition:
mesh_remesh_voxel.c:261
BKE_mesh_remesh_voxel_to_mesh_nomain
struct Mesh * BKE_mesh_remesh_voxel_to_mesh_nomain(struct Mesh *mesh, float voxel_size, float adaptivity, float isovalue)
Definition:
mesh_remesh_voxel.c:296
BKE_mesh_remesh_voxel_fix_poles
struct Mesh * BKE_mesh_remesh_voxel_fix_poles(struct Mesh *mesh)
Definition:
mesh_remesh_voxel.c:437
BKE_remesh_reproject_sculpt_face_sets
void BKE_remesh_reproject_sculpt_face_sets(struct Mesh *target, struct Mesh *source)
Definition:
mesh_remesh_voxel.c:357
transform
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
Definition:
btBoxCollision.h:205
seed
static unsigned long seed
Definition:
btSoftBody.h:39
mesh
Mesh mesh
Definition:
deg_eval_copy_on_write.cc:119
openvdb_capi.h
update_cb
static void update_cb(PBVHNode *node, void *rebuild)
Definition:
sculpt_undo.c:120
Mesh
Definition:
DNA_mesh_types.h:132
OpenVDBLevelSet
Definition:
openvdb_level_set.h:31
OpenVDBTransform
Definition:
openvdb_transform.h:25
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1