Blender
V4.3
source
blender
blenkernel
intern
multires_unsubdivide.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2020 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include "
BLI_sys_types.h
"
12
13
struct
BMesh
;
14
struct
Mesh
;
15
struct
MultiresModifierData
;
16
17
struct
MultiresUnsubdivideGrid
{
18
/* For sanity checks. */
19
int
grid_index
;
20
int
grid_size
;
21
23
float
(*
grid_co
)[3];
24
};
25
26
struct
MultiresUnsubdivideContext
{
27
/* Input Mesh to un-subdivide. */
28
Mesh
*
original_mesh
;
29
MDisps
*
original_mdisp
;
30
32
int
num_original_levels
;
33
35
Mesh
*
base_mesh
;
36
38
int
max_new_levels
;
39
41
int
num_new_levels
;
42
47
int
num_total_levels
;
48
50
int
num_grids
;
51
MultiresUnsubdivideGrid
*
base_mesh_grids
;
52
53
/* Private data. */
54
BMesh
*
bm_original_mesh
;
55
blender::Span<int>
loop_to_face_map
;
56
const
int
*
base_to_orig_vmap
;
57
};
58
59
/* --------------------------------------------------------------------
60
* Construct/destruct reshape context.
61
*/
62
63
void
multires_unsubdivide_context_init
(
MultiresUnsubdivideContext
*context,
64
Mesh
*original_mesh,
65
MultiresModifierData
*mmd);
66
void
multires_unsubdivide_context_free
(
MultiresUnsubdivideContext
*context);
67
68
/* --------------------------------------------------------------------
69
* Rebuild Lower Subdivisions.
70
*/
71
72
/* Rebuilds all subdivision to the level 0 base mesh. */
73
bool
multires_unsubdivide_to_basemesh
(
MultiresUnsubdivideContext
*context);
BLI_sys_types.h
blender::Span
Definition
BLI_span.hh:75
float
draw_view in_light_buf[] float
Definition
eevee_light_culling_info.hh:42
multires_unsubdivide_to_basemesh
bool multires_unsubdivide_to_basemesh(MultiresUnsubdivideContext *context)
Definition
multires_unsubdivide.cc:1112
multires_unsubdivide_context_init
void multires_unsubdivide_context_init(MultiresUnsubdivideContext *context, Mesh *original_mesh, MultiresModifierData *mmd)
Definition
multires_unsubdivide.cc:1102
multires_unsubdivide_context_free
void multires_unsubdivide_context_free(MultiresUnsubdivideContext *context)
Definition
multires_unsubdivide.cc:1160
BMesh
Definition
bmesh_class.hh:298
MDisps
Definition
DNA_meshdata_types.h:199
Mesh
Definition
DNA_mesh_types.h:56
MultiresModifierData
Definition
DNA_modifier_types.h:1166
MultiresUnsubdivideContext
Definition
multires_unsubdivide.hh:26
MultiresUnsubdivideContext::base_to_orig_vmap
const int * base_to_orig_vmap
Definition
multires_unsubdivide.hh:56
MultiresUnsubdivideContext::bm_original_mesh
BMesh * bm_original_mesh
Definition
multires_unsubdivide.hh:54
MultiresUnsubdivideContext::base_mesh_grids
MultiresUnsubdivideGrid * base_mesh_grids
Definition
multires_unsubdivide.hh:51
MultiresUnsubdivideContext::original_mesh
Mesh * original_mesh
Definition
multires_unsubdivide.hh:28
MultiresUnsubdivideContext::max_new_levels
int max_new_levels
Definition
multires_unsubdivide.hh:38
MultiresUnsubdivideContext::num_grids
int num_grids
Definition
multires_unsubdivide.hh:50
MultiresUnsubdivideContext::original_mdisp
MDisps * original_mdisp
Definition
multires_unsubdivide.hh:29
MultiresUnsubdivideContext::num_total_levels
int num_total_levels
Definition
multires_unsubdivide.hh:47
MultiresUnsubdivideContext::loop_to_face_map
blender::Span< int > loop_to_face_map
Definition
multires_unsubdivide.hh:55
MultiresUnsubdivideContext::num_original_levels
int num_original_levels
Definition
multires_unsubdivide.hh:32
MultiresUnsubdivideContext::base_mesh
Mesh * base_mesh
Definition
multires_unsubdivide.hh:35
MultiresUnsubdivideContext::num_new_levels
int num_new_levels
Definition
multires_unsubdivide.hh:41
MultiresUnsubdivideGrid
Definition
multires_unsubdivide.hh:17
MultiresUnsubdivideGrid::grid_index
int grid_index
Definition
multires_unsubdivide.hh:19
MultiresUnsubdivideGrid::grid_size
int grid_size
Definition
multires_unsubdivide.hh:20
MultiresUnsubdivideGrid::grid_co
float(* grid_co)[3]
Definition
multires_unsubdivide.hh:23
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0