hx3d  1
2D/3D Simple Game Framework
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
hx3d::physics2d::Collider Class Referenceabstract

Physical collider. More...

#include <collider.hpp>

Classes

struct  Definition
 Collider definition. More...
 

Public Types

Public Member Functions

 Collider (const Shape shapeType, const Type colliderType=Type::Dynamic)
 Create a collider. More...
 
void useDefinition (const Definition &def)
 Apply a definition on the collider. More...
 
virtual void computeMass (float density)=0
 Compute the collider mass. More...
 
virtual void setOrientation (float angle)=0
 Set the collider orientation. More...
 
void applyForce (const glm::vec2 &amount)
 Apply a force. More...
 
void applyImpulse (const glm::vec2 &amount, const glm::vec2 &contact)
 Apply an impulse. More...
 
void setDensity (float density)
 Set collider density. More...
 

Public Attributes

glm::vec2 position
 Position.
 
glm::vec2 velocity
 Velocity.
 
glm::vec2 force
 Force.
 
glm::vec2 gravityForce
 Gravity force.
 
glm::vec2 gravityScale
 Gravity scale.
 
float angularVelocity
 Angular velocity.
 
float torque
 Torque.
 
float orientation
 Orientation.
 
bool fixedRotation
 Fixed rotation ?
 
unsigned int mask
 Mask.
 
unsigned int category
 Category.
 
Type type
 Type.
 
Shape shape
 Shape.
 
Material material
 Material.
 
Mass massData
 Mass data.
 
Ptr< AttractorcurrentAttractor
 Current attractor.
 
ObjectMap userData
 User data.
 

Detailed Description

Physical collider.

Definition at line 40 of file collider.hpp.

Member Enumeration Documentation

Collider shape.

Enumerator
Circle 

Circle shape.

Polygon 

Polygon shape.

Definition at line 58 of file collider.hpp.

Collider type.

Enumerator
Static 

Static: no forces or velocity.

Dynamic 

Dynamic: forces and velocity.

Kinematic 

Kinematic: no forces but velocity.

Definition at line 46 of file collider.hpp.

Constructor & Destructor Documentation

hx3d::physics2d::Collider::Collider ( const Shape  shapeType,
const Type  colliderType = Type::Dynamic 
)

Create a collider.

Parameters
shapeTypeCollider shape
colliderTypeCollider type

Definition at line 34 of file collider.cpp.

Member Function Documentation

void hx3d::physics2d::Collider::applyForce ( const glm::vec2 &  amount)

Apply a force.

Parameters
amountAmount

Definition at line 57 of file collider.cpp.

void hx3d::physics2d::Collider::applyImpulse ( const glm::vec2 &  amount,
const glm::vec2 &  contact 
)

Apply an impulse.

Parameters
amountAmount
contactContact point

Definition at line 61 of file collider.cpp.

virtual void hx3d::physics2d::Collider::computeMass ( float  density)
pure virtual

Compute the collider mass.

Parameters
densityDensity

Implemented in hx3d::physics2d::colliders::Polygon, and hx3d::physics2d::colliders::Circle.

void hx3d::physics2d::Collider::setDensity ( float  density)

Set collider density.

Parameters
densityDensity

Definition at line 66 of file collider.cpp.

virtual void hx3d::physics2d::Collider::setOrientation ( float  angle)
pure virtual

Set the collider orientation.

Parameters
angleAngle in radians

Implemented in hx3d::physics2d::colliders::Polygon, and hx3d::physics2d::colliders::Circle.

void hx3d::physics2d::Collider::useDefinition ( const Definition def)

Apply a definition on the collider.

Parameters
defCollider definition

Definition at line 50 of file collider.cpp.


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