Lysa  0.0
Lysa 3D Engine
CollisionObject Class Referenceabstract

Detailed Description

Base class for 3D physics resources.

+ Inheritance diagram for CollisionObject:

Classes

struct  Collision
 

Public Member Functions

 CollisionObject (const std::shared_ptr< CollisionShape > &shape, collision_layer layer)
 
 CollisionObject (collision_layer layer)
 
 CollisionObject (const CollisionObject &)
 
 ~CollisionObject () override
 
auto getCollisionLayer () const
 
virtual void setCollisionLayer (uint32 layer)
 
bool wereInContact (const CollisionObject *obj) const
 
virtual void scaleBody (float scale)
 
virtual void activate (const float3 &position, const quaternion &rotation, const float3 &scale)
 
void deactivate ()
 
void pause ()
 
void resume (const float3 &position, const quaternion &rotation)
 
void show (const float3 &position, const quaternion &rotation)
 
void hide ()
 
void update (float3 &position, quaternion &rotation)
 
auto getShape () const
 
virtual void setPositionAndRotation (const float3 &position, const quaternion &rotation)
 
virtual bool isProcessed () const = 0
 
virtual bool isCharacter () const
 
virtual bool isVisible () const = 0
 
- Public Member Functions inherited from UnmanagedResource
 UnmanagedResource ()
 
 UnmanagedResource (const Resource &other)
 
- Public Member Functions inherited from Resource
bool operator== (const Resource &other) const
 
 Resource () = default
 
 Resource (const unique_id id)
 
virtual ~Resource () = default
 

Protected Member Functions

void releaseResources ()
 

Protected Attributes

bool updating {false}
 
collision_layer collisionLayer
 
std::shared_ptr< CollisionShapeshape {nullptr}
 

Additional Inherited Members

- Public Attributes inherited from Resource
unique_id id {INVALID_ID}
 

Constructor & Destructor Documentation

CollisionObject ( const std::shared_ptr< CollisionShape > &  shape,
collision_layer  layer 
)
CollisionObject ( collision_layer  layer)
CollisionObject ( const CollisionObject &  )
~CollisionObject ( )
override

Member Function Documentation

virtual void activate ( const float3 &  position,
const quaternion &  rotation,
const float3 &  scale 
)
virtual
void deactivate ( )
auto getCollisionLayer ( ) const
inline

The physics layers this CollisionObject is in.

auto getShape ( ) const
inline
void hide ( )
virtual bool isCharacter ( ) const
inlinevirtual
virtual bool isProcessed ( ) const
pure virtual
virtual bool isVisible ( ) const
pure virtual
void pause ( )
void releaseResources ( )
protected
void resume ( const float3 &  position,
const quaternion &  rotation 
)
virtual void scaleBody ( float  scale)
virtual
virtual void setCollisionLayer ( uint32  layer)
virtual

Sets the collision layer

virtual void setPositionAndRotation ( const float3 &  position,
const quaternion &  rotation 
)
virtual
void show ( const float3 &  position,
const quaternion &  rotation 
)
void update ( float3 &  position,
quaternion &  rotation 
)
bool wereInContact ( const CollisionObject *  obj) const

Returns true if obj were in contact with the object during the last simulation step

Member Data Documentation

collision_layer collisionLayer
protected
std::shared_ptr<CollisionShape> shape {nullptr}
protected
bool updating {false}
protected