Blender V4.3
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
9#include "DNA_listBase.h"
10#include "DNA_mesh_types.h"
11#include "DNA_outliner_types.h"
12
13#include "../outliner_intern.hh"
14
16
17namespace blender::ed::outliner {
18
20 : TreeElementID(legacy_te_, mesh.id), mesh_(mesh)
21{
22}
23
24void TreeElementIDMesh::expand(SpaceOutliner & /*space_outliner*/) const
25{
27
28 expand_key();
29 expand_materials();
30}
31
32void TreeElementIDMesh::expand_key() const
33{
35 reinterpret_cast<ID *>(mesh_.key),
36 nullptr,
39 0);
40}
41
42void TreeElementIDMesh::expand_materials() const
43{
44 for (int a = 0; a < mesh_.totcol; a++) {
46 reinterpret_cast<ID *>(mesh_.mat[a]),
47 nullptr,
50 a);
51 }
52}
53
54} // namespace blender::ed::outliner
These structs are the foundation for all linked lists in the library system.
@ TSE_SOME_ID
TreeElement * add_element(ListBase *lb, ID *owner_id, void *create_data, TreeElement *parent, short type, short index, const bool expand=true) const
void expand(SpaceOutliner &) const override
TreeElementIDMesh(TreeElement &legacy_te_, Mesh &mesh)
void expand_animation_data(AnimData *) const
Definition DNA_ID.h:413
struct AnimData * adt
struct Material ** mat
short totcol
struct Key * key