Blender
V3.3
source
blender
blenkernel
intern
multires_unsubdivide.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2020 Blender Foundation. All rights reserved. */
3
8
#pragma once
9
10
#include "
BLI_sys_types.h
"
11
12
struct
BMesh
;
13
struct
Mesh
;
14
struct
MultiresModifierData
;
15
16
typedef
struct
MultiresUnsubdivideGrid
{
17
/* For sanity checks. */
18
int
grid_index
;
19
int
grid_size
;
20
22
float
(*
grid_co
)[3];
23
24
}
MultiresUnsubdivideGrid
;
25
26
typedef
struct
MultiresUnsubdivideContext
{
27
/* Input Mesh to un-subdivide. */
28
struct
Mesh
*
original_mesh
;
29
struct
MDisps
*
original_mdisp
;
30
32
int
num_original_levels
;
33
35
struct
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
struct
MultiresUnsubdivideGrid
*
base_mesh_grids
;
52
53
/* Private data. */
54
struct
BMesh
*
bm_original_mesh
;
55
int
*
loop_to_face_map
;
56
int
*
base_to_orig_vmap
;
57
}
MultiresUnsubdivideContext
;
58
59
/* --------------------------------------------------------------------
60
* Construct/destruct reshape context.
61
*/
62
63
void
multires_unsubdivide_context_init
(
MultiresUnsubdivideContext
*
context
,
64
struct
Mesh
*original_mesh,
65
struct
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
);
float
typedef float(TangentPoint)[2]
BLI_sys_types.h
MultiresUnsubdivideContext
struct MultiresUnsubdivideContext MultiresUnsubdivideContext
multires_unsubdivide_to_basemesh
bool multires_unsubdivide_to_basemesh(MultiresUnsubdivideContext *context)
Definition:
multires_unsubdivide.c:1110
multires_unsubdivide_context_init
void multires_unsubdivide_context_init(MultiresUnsubdivideContext *context, struct Mesh *original_mesh, struct MultiresModifierData *mmd)
Definition:
multires_unsubdivide.c:1100
MultiresUnsubdivideGrid
struct MultiresUnsubdivideGrid MultiresUnsubdivideGrid
multires_unsubdivide_context_free
void multires_unsubdivide_context_free(MultiresUnsubdivideContext *context)
Definition:
multires_unsubdivide.c:1154
blender::compositor::context
cl_context context
Definition:
COM_WorkScheduler.cc:73
BMesh
Definition:
bmesh_class.h:296
MDisps
Definition:
DNA_meshdata_types.h:347
Mesh
Definition:
DNA_mesh_types.h:151
MultiresModifierData
Definition:
DNA_modifier_types.h:1081
MultiresUnsubdivideContext
Definition:
multires_unsubdivide.h:26
MultiresUnsubdivideContext::base_mesh_grids
struct MultiresUnsubdivideGrid * base_mesh_grids
Definition:
multires_unsubdivide.h:51
MultiresUnsubdivideContext::base_to_orig_vmap
int * base_to_orig_vmap
Definition:
multires_unsubdivide.h:56
MultiresUnsubdivideContext::max_new_levels
int max_new_levels
Definition:
multires_unsubdivide.h:38
MultiresUnsubdivideContext::num_grids
int num_grids
Definition:
multires_unsubdivide.h:50
MultiresUnsubdivideContext::loop_to_face_map
int * loop_to_face_map
Definition:
multires_unsubdivide.h:55
MultiresUnsubdivideContext::num_total_levels
int num_total_levels
Definition:
multires_unsubdivide.h:47
MultiresUnsubdivideContext::base_mesh
struct Mesh * base_mesh
Definition:
multires_unsubdivide.h:35
MultiresUnsubdivideContext::bm_original_mesh
struct BMesh * bm_original_mesh
Definition:
multires_unsubdivide.h:54
MultiresUnsubdivideContext::num_original_levels
int num_original_levels
Definition:
multires_unsubdivide.h:32
MultiresUnsubdivideContext::original_mdisp
struct MDisps * original_mdisp
Definition:
multires_unsubdivide.h:29
MultiresUnsubdivideContext::original_mesh
struct Mesh * original_mesh
Definition:
multires_unsubdivide.h:28
MultiresUnsubdivideContext::num_new_levels
int num_new_levels
Definition:
multires_unsubdivide.h:41
MultiresUnsubdivideGrid
Definition:
multires_unsubdivide.h:16
MultiresUnsubdivideGrid::grid_index
int grid_index
Definition:
multires_unsubdivide.h:18
MultiresUnsubdivideGrid::grid_size
int grid_size
Definition:
multires_unsubdivide.h:19
MultiresUnsubdivideGrid::grid_co
float(* grid_co)[3]
Definition:
multires_unsubdivide.h:22
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1