17 #ifndef GZ_RENDERING_BASE_BASEGEOMETRY_HH_
18 #define GZ_RENDERING_BASE_BASEGEOMETRY_HH_
22 #include <gz/common/Console.hh>
31 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
42 public:
virtual VisualPtr Parent()
const override = 0;
44 public:
virtual void RemoveParent()
override;
47 public:
virtual void SetMaterial(
const std::string &_material,
48 bool _unique =
true)
override;
51 public:
virtual void SetMaterial(
MaterialPtr _material,
52 bool _unique =
true)
override = 0;
58 public:
virtual void Destroy()
override;
81 auto baseShared = this->shared_from_this();
84 std::dynamic_pointer_cast<BaseGeometry<T>>(baseShared);
86 parent->RemoveGeometry(thisShared);
95 if (material) this->SetMaterial(material, _unique);
102 gzwarn <<
"Clone functionality for Geometry does not exist yet.\n";
111 this->RemoveParent();