Blender
V5.0
source
blender
editors
space_outliner
tree
tree_element_id_mesh.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#include "
DNA_mesh_types.h
"
10
#include "
DNA_outliner_types.h
"
11
12
#include "
../outliner_intern.hh
"
13
14
#include "
tree_element_id_mesh.hh
"
15
16
namespace
blender::ed::outliner
{
17
18
TreeElementIDMesh::TreeElementIDMesh
(
TreeElement
&
legacy_te_
,
Mesh
&
mesh
)
19
:
TreeElementID
(
legacy_te_
,
mesh
.id), mesh_(
mesh
)
20
{
21
}
22
23
void
TreeElementIDMesh::expand
(
SpaceOutliner
&
/*space_outliner*/
)
const
24
{
25
expand_animation_data
(mesh_.adt);
26
27
expand_key();
28
expand_materials();
29
}
30
31
void
TreeElementIDMesh::expand_key()
const
32
{
33
add_element
(&
legacy_te_
.
subtree
,
34
reinterpret_cast<
ID
*
>
(mesh_.
key
),
35
nullptr
,
36
&
legacy_te_
,
37
TSE_SOME_ID
,
38
0);
39
}
40
41
void
TreeElementIDMesh::expand_materials()
const
42
{
43
for
(
int
a = 0; a < mesh_.
totcol
; a++) {
44
add_element
(&
legacy_te_
.
subtree
,
45
reinterpret_cast<
ID
*
>
(mesh_.
mat
[a]),
46
nullptr
,
47
&
legacy_te_
,
48
TSE_SOME_ID
,
49
a);
50
}
51
}
52
53
}
// namespace blender::ed::outliner
DNA_mesh_types.h
DNA_outliner_types.h
TSE_SOME_ID
@ TSE_SOME_ID
Definition
DNA_outliner_types.h:65
blender::ed::outliner::AbstractTreeElement::add_element
TreeElement * add_element(ListBase *lb, ID *owner_id, void *create_data, TreeElement *parent, short type, short index, const bool expand=true) const
Definition
tree_element.cc:243
blender::ed::outliner::AbstractTreeElement::legacy_te_
TreeElement & legacy_te_
Definition
tree_element.hh:36
blender::ed::outliner::TreeElementIDMesh::expand
void expand(SpaceOutliner &) const override
Definition
tree_element_id_mesh.cc:23
blender::ed::outliner::TreeElementIDMesh::TreeElementIDMesh
TreeElementIDMesh(TreeElement &legacy_te_, Mesh &mesh)
Definition
tree_element_id_mesh.cc:18
blender::ed::outliner::TreeElementID::TreeElementID
TreeElementID(TreeElement &legacy_te, ID &id)
Definition
tree_element_id.cc:103
blender::ed::outliner::TreeElementID::expand_animation_data
void expand_animation_data(AnimData *) const
Definition
tree_element_id.cc:129
blender::ed::mesh
Definition
ED_mesh.hh:574
blender::ed::outliner
Definition
outliner_collections.cc:44
outliner_intern.hh
ID
Definition
DNA_ID.h:414
Mesh
Definition
DNA_mesh_types.h:58
Mesh::mat
struct Material ** mat
Definition
DNA_mesh_types.h:76
Mesh::totcol
short totcol
Definition
DNA_mesh_types.h:199
Mesh::key
struct Key * key
Definition
DNA_mesh_types.h:69
SpaceOutliner
Definition
DNA_space_types.h:187
blender::ed::outliner::TreeElement
Definition
outliner_intern.hh:87
blender::ed::outliner::TreeElement::subtree
ListBase subtree
Definition
outliner_intern.hh:98
tree_element_id_mesh.hh
Generated on
for Blender by
doxygen
1.16.1