57 if (owner_id ==
nullptr && create_data ==
nullptr) {
78 return std::make_unique<TreeElementLabel>(legacy_te,
static_cast<const char *
>(create_data));
80 return std::make_unique<TreeElementAnimData>(legacy_te,
81 *
static_cast<AnimData *
>(create_data));
83 return std::make_unique<TreeElementDriverBase>(legacy_te,
84 *
static_cast<AnimData *
>(create_data));
86 return std::make_unique<TreeElementNLA>(legacy_te, *
static_cast<AnimData *
>(create_data));
88 return std::make_unique<TreeElementNLATrack>(legacy_te,
89 *
static_cast<NlaTrack *
>(create_data));
91 return std::make_unique<TreeElementNLAAction>(legacy_te,
92 *
reinterpret_cast<bAction *
>(owner_id));
94 return std::make_unique<TreeElementGPencilLayer>(legacy_te,
97 return std::make_unique<TreeElementGreasePencilNode>(
102 return std::make_unique<TreeElementViewLayerBase>(legacy_te,
103 *
reinterpret_cast<Scene *
>(owner_id));
105 return std::make_unique<TreeElementViewLayer>(
106 legacy_te, *
reinterpret_cast<Scene *
>(owner_id), *
static_cast<ViewLayer *
>(create_data));
108 return std::make_unique<TreeElementCollectionBase>(legacy_te,
109 *
reinterpret_cast<Scene *
>(owner_id));
111 return std::make_unique<TreeElementSceneObjectsBase>(legacy_te,
112 *
reinterpret_cast<Scene *
>(owner_id));
114 return std::make_unique<TreeElementOverridesBase>(legacy_te, *owner_id);
116 return std::make_unique<TreeElementOverridesProperty>(
119 return std::make_unique<TreeElementOverridesPropertyOperation>(
122 return std::make_unique<TreeElementRNAStruct>(legacy_te,
125 return std::make_unique<TreeElementRNAProperty>(
128 return std::make_unique<TreeElementRNAArrayElement>(
131 return std::make_unique<TreeElementStrip>(legacy_te, *
static_cast<Strip *
>(create_data));
133 return std::make_unique<TreeElementStripData>(legacy_te,
136 return std::make_unique<TreeElementStripDuplicate>(legacy_te,
137 *
static_cast<Strip *
>(create_data));
139 return std::make_unique<TreeElementBone>(
140 legacy_te, *owner_id, *
static_cast<Bone *
>(create_data));
142 return std::make_unique<TreeElementEditBone>(
143 legacy_te, *owner_id, *
static_cast<EditBone *
>(create_data));
145 return std::make_unique<TreeElementGPencilEffect>(legacy_te,
146 *
reinterpret_cast<Object *
>(owner_id),
149 return std::make_unique<TreeElementGPencilEffectBase>(legacy_te,
150 *
reinterpret_cast<Object *
>(owner_id));
152 return std::make_unique<TreeElementDeformGroupBase>(legacy_te,
153 *
reinterpret_cast<Object *
>(owner_id));
155 return std::make_unique<TreeElementDeformGroup>(legacy_te,
156 *
reinterpret_cast<Object *
>(owner_id),
159 return std::make_unique<TreeElementParticleSystem>(
161 *
reinterpret_cast<Object *
>(owner_id),
164 return std::make_unique<TreeElementConstraintBase>(legacy_te,
165 *
reinterpret_cast<Object *
>(owner_id));
167 return std::make_unique<TreeElementConstraint>(legacy_te,
168 *
reinterpret_cast<Object *
>(owner_id),
171 return std::make_unique<TreeElementPoseBase>(legacy_te,
172 *
reinterpret_cast<Object *
>(owner_id));
174 return std::make_unique<TreeElementPoseChannel>(legacy_te,
175 *
reinterpret_cast<Object *
>(owner_id),
178 return std::make_unique<TreeElementModifierBase>(legacy_te,
179 *
reinterpret_cast<Object *
>(owner_id));
181 return std::make_unique<TreeElementModifier>(
183 *
reinterpret_cast<Object *
>(owner_id),
186 return std::make_unique<TreeElementLinkedNodeTree>(legacy_te, *owner_id);
188 return std::make_unique<TreeElementLinkedObject>(legacy_te, *owner_id);
190 return std::make_unique<TreeElementViewCollectionBase>(legacy_te,
191 *
reinterpret_cast<Scene *
>(owner_id));
193 return std::make_unique<TreeElementLayerCollection>(
197 return std::make_unique<TreeElementBoneCollectionBase>(
198 legacy_te, *
reinterpret_cast<bArmature *
>(owner_id));
200 return std::make_unique<TreeElementBoneCollection>(
202 *
reinterpret_cast<bArmature *
>(owner_id),
205 return std::make_unique<TreeElementActionSlot>(