StevEngine
StevEngine is a customizable C++ game engine.
Loading...
Searching...
No Matches
StevEngine::Physics::Collider Class Reference

Base class for all collision shapes. More...

#include <physics/Colliders.hpp>

Inheritance diagram for StevEngine::Physics::Collider:
StevEngine::Component StevEngine::Physics::CapsuleCollider StevEngine::Physics::CubeCollider StevEngine::Physics::CylinderCollider StevEngine::Physics::ModelCollider StevEngine::Physics::SphereCollider StevEngine::Physics::TerrainCollider

Public Member Functions

 Collider (JPH::Ref< JPH::Shape > shape, Utilities::Vector3 position=Utilities::Vector3(), Utilities::Quaternion rotation=Utilities::Quaternion(), Utilities::Vector3 scale=Utilities::Vector3(1, 1, 1))
 Create new collider.
 
 Collider (Utilities::Stream &stream)
 Create collider from text serialized data.
 
std::string GetType () const
 Get component type.
 
Utilities::Stream Export (Utilities::StreamType type) const
 Serialize component to a stream.
 
Utilities::Vector3 GetScale () const
 Get local scale.
 
Utilities::Quaternion GetRotation () const
 Get local rotation.
 
Utilities::Vector3 GetPosition () const
 Get local position.
 
void SetScale (Utilities::Vector3 scale)
 Set local scale.
 
void SetRotation (Utilities::Quaternion rotation)
 Set local rotation.
 
void SetPosition (Utilities::Vector3 position)
 Set local position.
 
void SetTransform (Utilities::Vector3 position, Utilities::Quaternion rotation, Utilities::Vector3 scale)
 Set full local transform.
 
Utilities::Range3 GetBounds () const
 Get axis-aligned bounds.
 
Utilities::Vector3 GetCenterOfMass () const
 Get center of mass.
 
JPH::Ref< JPH::Shape > GetShape () const
 Get physics shape.
 
- Public Member Functions inherited from StevEngine::Component
 Component ()
 Create new component.
 
virtual ~Component ()
 Clean up component resources.
 
GameObjectGetParent () const
 Get parent GameObject.
 
SceneGetScene () const
 Get containing Scene.
 

Protected Attributes

Utilities::Vector3 scale = Utilities::Vector3(1, 1, 1)
 Local scale.
 
Utilities::Vector3 position = Utilities::Vector3()
 Local position.
 
Utilities::Quaternion rotation = Utilities::Quaternion()
 Local rotation.
 
const JPH::Ref< JPH::Shape > rawShape
 Base physics shape.
 
JPH::Ref< JPH::Shape > shape
 Transformed shape.
 
- Protected Attributes inherited from StevEngine::Component
std::vector< std::pair< Utilities::ID, std::string > > handlers
 Event handler registrations.
 

Friends

class StevEngine::GameObject
 

Detailed Description

Base class for all collision shapes.

Provides common functionality for physics collision shapes. Handles transform updates and shape creation/modification. Integrates with the Jolt physics engine for collision detection.

Constructor & Destructor Documentation

◆ Collider() [1/2]

StevEngine::Physics::Collider::Collider ( JPH::Ref< JPH::Shape > shape,
Utilities::Vector3 position = Utilities::Vector3(),
Utilities::Quaternion rotation = Utilities::Quaternion(),
Utilities::Vector3 scale = Utilities::Vector3(1,1,1) )

Create new collider.

Parameters
shapeJolt physics shape
positionLocal position offset
rotationLocal rotation offset
scaleLocal scale modifier

◆ Collider() [2/2]

StevEngine::Physics::Collider::Collider ( Utilities::Stream & stream)

Create collider from text serialized data.

Parameters
streamStream containing serialized component data

Member Function Documentation

◆ Export()

Utilities::Stream StevEngine::Physics::Collider::Export ( Utilities::StreamType type) const
virtual

Serialize component to a stream.

Parameters
typeType of stream to export to
Returns
Serialized stream

Implements StevEngine::Component.

◆ GetBounds()

Utilities::Range3 StevEngine::Physics::Collider::GetBounds ( ) const
inline

Get axis-aligned bounds.

Returns
Bounding box in local space

◆ GetCenterOfMass()

Utilities::Vector3 StevEngine::Physics::Collider::GetCenterOfMass ( ) const
inline

Get center of mass.

Returns
Center of mass in local space

◆ GetShape()

JPH::Ref< JPH::Shape > StevEngine::Physics::Collider::GetShape ( ) const
inline

Get physics shape.

Returns
Reference to Jolt shape

◆ GetType()

std::string StevEngine::Physics::Collider::GetType ( ) const
inlinevirtual

Get component type.

Returns
Type identifier string

Implements StevEngine::Component.

◆ SetPosition()

void StevEngine::Physics::Collider::SetPosition ( Utilities::Vector3 position)

Set local position.

Parameters
positionNew position vector

◆ SetRotation()

void StevEngine::Physics::Collider::SetRotation ( Utilities::Quaternion rotation)

Set local rotation.

Parameters
rotationNew rotation quaternion

◆ SetScale()

void StevEngine::Physics::Collider::SetScale ( Utilities::Vector3 scale)

Set local scale.

Parameters
scaleNew scale vector

◆ SetTransform()

void StevEngine::Physics::Collider::SetTransform ( Utilities::Vector3 position,
Utilities::Quaternion rotation,
Utilities::Vector3 scale )

Set full local transform.

Parameters
positionNew position
rotationNew rotation
scaleNew scale

The documentation for this class was generated from the following files: