Class Scene#
Defined in File Scene.h
Inheritance Relationships#
Base Type#
public Karana::Core::Base(Class Base)
Derived Types#
public Karana::Scene::CollisionScene(Class CollisionScene)public Karana::Scene::GraphicalScene(Class GraphicalScene)public Karana::Scene::ProxyScene(Class ProxyScene)
Class Documentation#
-
class Scene : public Karana::Core::Base#
Base container for a hierarchy of geometries.
See Scene layer for more discussion on the scene layer.
Subclassed by Karana::Scene::CollisionScene, Karana::Scene::GraphicalScene, Karana::Scene::ProxyScene
Public Functions
-
virtual ~Scene()#
Protected Functions
-
virtual void _discard(Karana::Core::ks_ptr<Karana::Core::Base> &s) override = 0#
Discard the scene. Derived scenes need to implement this with the logic required to discard their scene.
- Parameters:
s – - A pointer to the scene to discard.
-
virtual Karana::Core::ks_ptr<SceneNode> _createNodeBase(std::string_view name) = 0#
Helper to create a SceneNode.
Derived scenes should implement by calling their non-virtual createNode. This is to support derived return types.
-
virtual void _discardNodeBase(Karana::Core::ks_ptr<SceneNode> &node, bool recursive = true) = 0#
Dicard the provided node. Derived scenes should implement downcasting and calling their non-virtual discardNode.
- Parameters:
node – - The node to discard.
recursive – - If
true, then also discard all the children recursively. Iffalse, then children are moved up the tree with the same pose.
-
virtual Karana::Core::ks_ptr<ScenePart> _createPartBase(std::string_view name, const VarStaticGeometry &geometry, const VarMaterial &material, layer_t layers) = 0#
Helper to create a ScenePart.
Derived scenes should implement by calling their non-virtual createPart. This is to support derived return types.
-
virtual void _discardPartBase(Karana::Core::ks_ptr<ScenePart> &part) = 0#
Helper to discard a ScenePart.
Derived scenes should implement downcasting and calling their non-virtual discardPart.
- Parameters:
part – - The ScenePart to discard.
-
virtual ~Scene()#