Blender
V5.0
source
blender
io
common
IO_subdiv_disabler.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
#pragma once
5
6
#include "
DNA_modifier_types.h
"
7
8
#include "
BLI_vector.hh
"
9
10
struct
Depsgraph;
11
struct
ModifierData
;
12
struct
Object
;
13
struct
Scene
;
14
15
namespace
blender::io
{
16
28
class
SubdivModifierDisabler
final
{
29
private
:
30
Depsgraph *depsgraph_;
31
32
/* TODO: Track the object and its disabled modifier in a single struct and use just 1 Vector. */
33
blender::Vector<ModifierData *>
disabled_modifiers_;
34
blender::Vector<Object *>
modified_objects_;
35
36
public
:
37
explicit
SubdivModifierDisabler
(Depsgraph *
depsgraph
);
38
~SubdivModifierDisabler
();
39
43
void
disable_modifiers
();
44
50
static
ModifierData
*
get_subdiv_modifier
(
Scene
*scene,
const
Object
*ob,
ModifierMode
mode);
51
52
/* Disallow copying. */
53
SubdivModifierDisabler
(
const
SubdivModifierDisabler
&) =
delete
;
54
SubdivModifierDisabler
&
operator=
(
const
SubdivModifierDisabler
&) =
delete
;
55
56
private
:
61
void
disable_modifier(
ModifierData
*
mod
);
62
};
63
64
}
// namespace blender::io
final
#define final(a, b, c)
Definition
BLI_hash.h:19
BLI_vector.hh
DNA_modifier_types.h
ModifierMode
ModifierMode
Definition
DNA_modifier_types.h:136
depsgraph
BPy_StructRNA * depsgraph
Definition
bpy_driver.cc:173
blender::Vector
Definition
BLI_vector.hh:76
blender::io::SubdivModifierDisabler::disable_modifiers
void disable_modifiers()
Definition
subdiv_disabler.cc:78
blender::io::SubdivModifierDisabler::~SubdivModifierDisabler
~SubdivModifierDisabler()
Definition
subdiv_disabler.cc:65
blender::io::SubdivModifierDisabler::SubdivModifierDisabler
SubdivModifierDisabler(Depsgraph *depsgraph)
Definition
subdiv_disabler.cc:63
blender::io::SubdivModifierDisabler::SubdivModifierDisabler
SubdivModifierDisabler(const SubdivModifierDisabler &)=delete
blender::io::SubdivModifierDisabler::operator=
SubdivModifierDisabler & operator=(const SubdivModifierDisabler &)=delete
blender::io::SubdivModifierDisabler::get_subdiv_modifier
static ModifierData * get_subdiv_modifier(Scene *scene, const Object *ob, ModifierMode mode)
Definition
subdiv_disabler.cc:21
mod
VecBase< float, D > constexpr mod(VecOp< float, D >, VecOp< float, D >) RET
blender::io
Definition
BKE_idprop.hh:29
ModifierData
Definition
DNA_modifier_types.h:151
Object
Definition
DNA_object_types.h:191
Scene
Definition
DNA_scene_types.h:2120
Generated on
for Blender by
doxygen
1.16.1