42 const std::string& name()
const;
49 bool is_shown()
const;
52 bool is_selected()
const;
55 bool reset_matrix()
const;
58 bool has_geometry()
const;
61 const Shape geometry()
const;
71 bool has_attribute(
const StringView& attribute)
const;
111 std::shared_ptr<Impl> _value;
120 std::shared_ptr<SceneConst> child(
121 const std::string& path,
179 std::pair<SceneConst, bool> filter(
const std::function<std::pair<SceneConst, bool>(
const SceneConst& scene,
const StringView& path,
const Imath::M44d* parent_world)>& filter_func,
244 bool visible()
const;
247 std::string path()
const;
250 bool has_attribute(
const StringView& attribute)
const;
267 Traversal(
const std::shared_ptr<Impl>& value,
bool children_only,
bool shapes_only )
268 : _value{ value }, _children_only(children_only), _shapes_only(shapes_only)
270 Iterator begin()
const;
271 Iterator end()
const;
276 std::shared_ptr<Impl> _value;
282 Traversal read_children(
bool children_only =
false,
bool shapes_only =
false)
const;
288 SceneConst(std::shared_ptr<Impl> impl) { _impl=impl; }
295 Scene(
const StringView& name =
"",
const gsl::span<SceneConst>& children = gsl::span<SceneConst>());
298 void set_name(
const char*);
304 void set_shown(
bool shown);
307 void set_selected(
bool selected);
310 void set_reset_matrix(
bool reset);
313 void set_geometry(
const Shape& geometry);
316 void remove_geometry();
323 void remove_attribute(
const StringView& attribute);
330 const std::string& path
337 void remove_child(
const std::string& name);
340 void clear_children();
344 void prune_empty_nodes();
376 bool visible()
const;
380 std::string path()
const;
383 bool has_attribute(
const StringView& attribute)
const;
399 Traversal(
const std::shared_ptr<Impl>& value,
bool children_only,
bool shapes_only )
400 : _value{ value }, _children_only(children_only), _shapes_only(shapes_only)
402 Iterator begin()
const;
403 Iterator end()
const;
408 std::shared_ptr<Impl> _value;
414 Traversal write_children(
bool children_only =
false,
bool shapes_only =
false);
417 Scene(std::shared_ptr<Impl> impl) { _impl=impl; }
422 const SceneConst& scene,
Definition: ImathBox.h:71
A Node children iterator.
Definition: Scene.h:223
Definition: ImathFrame.h:43
A Node children iterator.
Definition: Scene.h:189
A mutable scene node value.
Definition: Scene.h:292
Buffer< T > duplicate(const BufferConst< T > &a)
Definition: Buffer.h:169
A value with geometrical attributes. Base of all shape values.
Definition: Shape.h:25
std::forward_iterator_tag iterator_category
Definition: Scene.h:226
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
A Node children iterator.
Definition: Scene.h:85
std::forward_iterator_tag iterator_category
Definition: Scene.h:355
A Node children iterator.
Definition: Scene.h:352
A scene iterator.
Definition: Scene.h:348
#define MAQUINA_EXPORT
Definition: Export.h:31
A scene iterator.
Definition: Scene.h:219
static const SceneConst default_value
The default value.
Definition: Scene.h:285
An node's attribute iteration.
Definition: Scene.h:81
An attribute iteration on a traversal node.
Definition: Scene.h:185
An immutable scene node value.
Definition: Scene.h:35
bool operator!=(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:306
bool operator==(const C *str, const StringViewBase< C, STDS > &sv) noexcept
Definition: StringView.h:274
std::ptrdiff_t difference_type
Definition: Scene.h:357
Color4< T > operator*(S a, const Color4< T > &v)
Definition: ImathColor.h:727
std::ptrdiff_t difference_type
Definition: Scene.h:228
Base class of all Rumba values.
Definition: Value.h:34