Blender
V4.5
source
blender
editors
space_outliner
tree
tree_element_nla.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 "
BLI_listbase_wrapper.hh
"
10
11
#include "
DNA_anim_types.h
"
12
#include "
DNA_space_types.h
"
13
14
#include "
BLT_translation.hh
"
15
16
#include "
../outliner_intern.hh
"
17
18
#include "
tree_element_nla.hh
"
19
20
namespace
blender::ed::outliner
{
21
22
TreeElementNLA::TreeElementNLA
(
TreeElement
&legacy_te,
AnimData
&anim_data)
23
:
AbstractTreeElement
(legacy_te), anim_data_(anim_data)
24
{
25
BLI_assert
(legacy_te.
store_elem
->
type
==
TSE_NLA
);
26
legacy_te.
name
=
IFACE_
(
"NLA Tracks"
);
27
legacy_te.
directdata
= &anim_data;
28
}
29
30
void
TreeElementNLA::expand
(
SpaceOutliner
&
/*space_outliner*/
)
const
31
{
32
int
a = 0;
33
for
(
NlaTrack
*nlt :
ListBaseWrapper<NlaTrack>
(anim_data_.
nla_tracks
)) {
34
add_element
(&
legacy_te_
.
subtree
,
nullptr
, nlt, &
legacy_te_
,
TSE_NLA_TRACK
, a);
35
a++;
36
}
37
}
38
39
/* -------------------------------------------------------------------- */
40
41
TreeElementNLATrack::TreeElementNLATrack
(
TreeElement
&legacy_te,
NlaTrack
&track)
42
:
AbstractTreeElement
(legacy_te), track_(track)
43
{
44
BLI_assert
(legacy_te.
store_elem
->
type
==
TSE_NLA_TRACK
);
45
legacy_te.
name
= track.
name
;
46
}
47
48
void
TreeElementNLATrack::expand
(
SpaceOutliner
&
/*space_outliner*/
)
const
49
{
50
int
a = 0;
51
for
(
NlaStrip
*
strip
:
ListBaseWrapper<NlaStrip>
(track_.
strips
)) {
52
add_element
(&
legacy_te_
.
subtree
,
53
reinterpret_cast<
ID
*
>
(
strip
->act),
54
nullptr
,
55
&
legacy_te_
,
56
TSE_NLA_ACTION
,
57
a);
58
a++;
59
}
60
}
61
62
/* -------------------------------------------------------------------- */
63
64
TreeElementNLAAction::TreeElementNLAAction
(
TreeElement
&legacy_te,
const
bAction
&action)
65
:
AbstractTreeElement
(legacy_te)
66
{
67
BLI_assert
(legacy_te.
store_elem
->
type
==
TSE_NLA_ACTION
);
68
legacy_te.
name
= action.
id
.
name
+ 2;
69
}
70
71
}
// namespace blender::ed::outliner
BLI_assert
#define BLI_assert(a)
Definition
BLI_assert.h:46
BLI_listbase_wrapper.hh
BLT_translation.hh
IFACE_
#define IFACE_(msgid)
Definition
BLT_translation.hh:48
DNA_anim_types.h
TSE_NLA_TRACK
@ TSE_NLA_TRACK
Definition
DNA_outliner_types.h:101
TSE_NLA
@ TSE_NLA
Definition
DNA_outliner_types.h:67
TSE_NLA_ACTION
@ TSE_NLA_ACTION
Definition
DNA_outliner_types.h:68
DNA_space_types.h
blender::ed::outliner::AbstractTreeElement
Definition
tree_element.hh:29
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::TreeElementNLAAction::TreeElementNLAAction
TreeElementNLAAction(TreeElement &legacy_te, const bAction &action)
Definition
tree_element_nla.cc:64
blender::ed::outliner::TreeElementNLATrack::TreeElementNLATrack
TreeElementNLATrack(TreeElement &legacy_te, NlaTrack &track)
Definition
tree_element_nla.cc:41
blender::ed::outliner::TreeElementNLATrack::expand
void expand(SpaceOutliner &space_outliner) const override
Definition
tree_element_nla.cc:48
blender::ed::outliner::TreeElementNLA::expand
void expand(SpaceOutliner &space_outliner) const override
Definition
tree_element_nla.cc:30
blender::ed::outliner::TreeElementNLA::TreeElementNLA
TreeElementNLA(TreeElement &legacy_te, AnimData &anim_data)
Definition
tree_element_nla.cc:22
blender::ed::outliner
Definition
outliner_collections.cc:44
blender::ListBaseWrapper
ListBaseWrapperTemplate< ListBase, T > ListBaseWrapper
Definition
BLI_listbase_wrapper.hh:99
outliner_intern.hh
AnimData
Definition
DNA_anim_types.h:651
AnimData::nla_tracks
ListBase nla_tracks
Definition
DNA_anim_types.h:693
ID
Definition
DNA_ID.h:404
ID::name
char name[66]
Definition
DNA_ID.h:415
NlaStrip
Definition
DNA_anim_types.h:413
NlaTrack
Definition
DNA_anim_types.h:511
NlaTrack::strips
ListBase strips
Definition
DNA_anim_types.h:515
NlaTrack::name
char name[64]
Definition
DNA_anim_types.h:524
SpaceOutliner
Definition
DNA_space_types.h:187
TreeStoreElem::type
short type
Definition
DNA_outliner_types.h:16
bAction
Definition
DNA_action_types.h:769
bAction::id
ID id
Definition
DNA_action_types.h:776
blender::ed::outliner::TreeElement
Definition
outliner_intern.hh:86
blender::ed::outliner::TreeElement::subtree
ListBase subtree
Definition
outliner_intern.hh:97
blender::ed::outliner::TreeElement::name
const char * name
Definition
outliner_intern.hh:104
blender::ed::outliner::TreeElement::store_elem
TreeStoreElem * store_elem
Definition
outliner_intern.hh:99
blender::ed::outliner::TreeElement::directdata
void * directdata
Definition
outliner_intern.hh:105
strip
Strip * strip
Definition
transform_convert_sequencer.cc:47
tree_element_nla.hh
Generated on Fri Apr 3 2026 06:33:18 for Blender by
doxygen
1.11.0