Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::Physics::CBoxCollider Class Reference

A box collision shape. More...

#include <Collider/CBoxCollider.h>

Inheritance diagram for Skylicht::Physics::CBoxCollider:
Skylicht::Physics::CCollider Skylicht::CComponentSystem Skylicht::IActivatorObject

Public Member Functions

virtual void updateComponent ()
virtual CObjectSerializablecreateSerializable ()
virtual void loadSerializable (CObjectSerializable *object)
const core::vector3dfgetSize ()
 Gets the size of the box.
void setSize (const core::vector3df &s)
 Sets the size of the box.
Public Member Functions inherited from Skylicht::Physics::CCollider
virtual void initComponent ()
EColliderType getColliderType ()
 Gets the type of the collider.
void initRigidbody ()
 Triggers the initialization of the attached CRigidbody.
void clampSize (core::vector3df &size)
 Clamps the size vector to ensure no negative dimensions.
bool isDynamicSupport ()
 Checks if this collider type supports dynamic rigid bodies.
CMeshgenerateMesh (const core::aabbox3df &maxBBox)
 Generates a visual mesh representing the collision shape.
core::aabbox3df getBBox ()
 Gets the axis-aligned bounding box of the collider in world space.
Public Member Functions inherited from Skylicht::CComponentSystem
const char * getName ()
virtual void reset ()
virtual void startComponent ()
virtual void endUpdate ()
virtual void onEnable (bool b)
virtual void onUpdateCullingLayer (u32 mask)
void setEnable (bool b)
bool isEnable ()
CGameObject * getGameObject ()
void setEnableSerializable (bool b)
bool isSerializable ()
void addLinkComponent (CComponentSystem *comp)
void removeAllLink ()
Public Member Functions inherited from Skylicht::IActivatorObject
virtual ~IActivatorObject ()
 Virtual destructor for polymorphic activator objects.

Protected Attributes

core::vector3df m_size
Protected Attributes inherited from Skylicht::Physics::CCollider
EColliderType m_colliderType
core::vector3df m_offset
bool m_dynamicSupport
Protected Attributes inherited from Skylicht::CComponentSystem
CGameObject * m_gameObject
bool m_enable
bool m_serializable
std::vector< CComponentSystem * > m_linkComponent

Additional Inherited Members

Public Types inherited from Skylicht::Physics::CCollider
enum  EColliderType {
  Box , Sphere , Plane , Cylinder ,
  Capsule , BvhMesh , ConvexMesh , Mesh ,
  Unknown
}
 Supported collider types.
Static Public Member Functions inherited from Skylicht::CComponentSystem
static int useComponent (CComponentSystem *used)
Protected Member Functions inherited from Skylicht::Physics::CCollider
CMeshgenerateMesh (IMesh *primitive, bool tangent)
 Helper to generate a mesh from a primitive.
CMeshgetPlane (const core::plane3df &plane, float sizeX, float sizeZ)
 Helper to generate a plane mesh.
Protected Member Functions inherited from Skylicht::CComponentSystem
void setOwner (CGameObject *obj)

Detailed Description

A box collision shape.

Example:

Physics::CBoxCollider* box = gameObject->addComponent<Physics::CBoxCollider>();
box->setSize(core::vector3df(1.0f, 2.0f, 1.0f));
A box collision shape.
Definition CBoxCollider.h:44
void setSize(const core::vector3df &s)
Sets the size of the box.
Definition CBoxCollider.h:72
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445

Member Function Documentation

◆ createSerializable()

virtual CObjectSerializable * Skylicht::Physics::CBoxCollider::createSerializable ( )
virtual

Reimplemented from Skylicht::CComponentSystem.

◆ getSize()

const core::vector3df & Skylicht::Physics::CBoxCollider::getSize ( )
inline

Gets the size of the box.

Returns
Size vector.

◆ loadSerializable()

virtual void Skylicht::Physics::CBoxCollider::loadSerializable ( CObjectSerializable * object)
virtual

Reimplemented from Skylicht::CComponentSystem.

◆ setSize()

void Skylicht::Physics::CBoxCollider::setSize ( const core::vector3df & s)
inline

Sets the size of the box.

Parameters
sSize vector.

◆ updateComponent()

virtual void Skylicht::Physics::CBoxCollider::updateComponent ( )
virtual

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