Class CollisionScenePart#
Defined in File CollisionScenePart.h
Inheritance Relationships#
Base Types#
public Karana::Scene::CollisionSceneNode(Class CollisionSceneNode)public Karana::Scene::ScenePart(Class ScenePart)
Derived Type#
public Karana::Scene::CoalScenePart(Class CoalScenePart)
Class Documentation#
-
class CollisionScenePart : public virtual Karana::Scene::CollisionSceneNode, public Karana::Scene::ScenePart#
ScenePart with added collision-specific interface.
See Scene layer for more discussion on the scene layer.
Subclassed by Karana::Scene::CoalScenePart
Public Functions
-
virtual ~CollisionScenePart()#
-
virtual const CollisionInfo &collide(const CollisionScenePart &other, CollisionInfo &result = CollisionInfo::singleton()) const = 0#
Check for collisions with another part.
- Parameters:
other – - The other CollisionPart
result – - The CollisionInfo instance to store the result in.
- Returns:
The CollisionInfo result.
-
virtual const DistanceInfo &distance(const CollisionScenePart &other, DistanceInfo &result = DistanceInfo::singleton()) const = 0#
Compute distance from another part.
- Parameters:
other – - The other CollisionPart
result – - The DistanceInfo instance to store the result in.
- Returns:
The DistanceInfo result.
Public Static Functions
-
static Karana::Core::ks_ptr<CollisionScenePart> create(std::string_view name, const Karana::Core::ks_ptr<CollisionScene> &scene, const VarStaticGeometry &geometry, const VarMaterial &material = defaultMaterial(), layer_t layers = LAYER_PHYSICAL)#
Create a CollisionScenePart.
- Parameters:
name – - Name of the CollisionScenePart.
scene – - The CollisionScene to add the CollisionScenePart to.
geometry – - Geometry of the CollisionScenePart.
material – - Material for the CollisionScenePart.
layers – - Layers to use for the CollisionScenePart.
- Returns:
The new scene part.
Protected Functions
-
CollisionScenePart(std::string_view name, const VarStaticGeometry &geometry, const VarMaterial &material, layer_t layers, const kc::ks_ptr<Scene> &scene)#
CollisionScenePart constructor.
- Parameters:
name – - Name of the CollisionScenePart.
geometry – - Geometry of the CollisionScenePart.
scene – - The CollisionScene to add the CollisionScenePart to.
material – - Material for the CollisionScenePart.
layers – - Layers to use for the CollisionScenePart.
-
virtual ~CollisionScenePart()#