22#ifndef SCRIPT_INTERFACE_SHAPES_SHAPE_UNION_HPP
23#define SCRIPT_INTERFACE_SHAPES_SHAPE_UNION_HPP
28#include <shapes/Union.hpp>
48 return m_core_shape->contains(
obj_ptr->shape());
51 m_core_shape->add(
obj_ptr->shape());
54 m_core_shape->remove(
obj_ptr->shape());
58 std::shared_ptr<::Shapes::Shape>
shape()
const override {
63 std::shared_ptr<::Shapes::Union> m_core_shape;
64 std::vector<std::shared_ptr<Shapes::Shape>> m_shapes;
Owning list of object handles.
std::shared_ptr< Shape > value_type
std::shared_ptr<::Shapes::Shape > shape() const override
void add_in_core(value_type const &obj_ptr) override
typename Base::value_type value_type
void remove_in_core(value_type const &obj_ptr) final
bool has_in_core(value_type const &obj_ptr) const override
T get_value(Variant const &v)
Extract value of specific type T from a Variant.