Public Member Functions

sp::scene::CollisionBox Class Reference
[Collision System]

#include <spCollisionBox.hpp>

Inheritance diagram for sp::scene::CollisionBox:
sp::scene::CollisionNode sp::BaseObject

List of all members.

Public Member Functions

 CollisionBox (CollisionMaterial *Material, SceneNode *Node, const dim::aabbox3df &Box)
 ~CollisionBox ()
s32 getSupportFlags () const
f32 getMaxMovement () const
bool checkIntersection (const dim::line3df &Line, SIntersectionContact &Contact) const
bool checkIntersection (const dim::line3df &Line, bool ExcludeCorners=false) const
void setBox (const dim::aabbox3df &Box)
dim::aabbox3df getBox () const

Detailed Description

CollisionBox is one of the collision models and represents an axis-aligned-bounding box which is - although it is axis-aligned - rotatable. Rotation is anyway possible because of inverse rotations inside the collision functions.


Constructor & Destructor Documentation

sp::scene::CollisionBox::CollisionBox ( CollisionMaterial Material,
SceneNode Node,
const dim::aabbox3df Box 
)
sp::scene::CollisionBox::~CollisionBox (  ) 

Member Function Documentation

bool sp::scene::CollisionBox::checkIntersection ( const dim::line3df Line,
SIntersectionContact Contact 
) const [virtual]

Checks for an intersection between this collision object and the given line and stores the result in the specified contact structure.

Parameters:
Line,: Specifies the line which could intersect this object.
Contact,: Specifies the structure where the intersection result will be stored.
Note:
The implementations of this interface function normally only store the point and normal vector of an intersection.

Reimplemented from sp::scene::CollisionNode.

bool sp::scene::CollisionBox::checkIntersection ( const dim::line3df Line,
bool  ExcludeCorners = false 
) const [virtual]

Returns true if an intersection between this collision object and the given line exists but does not return any further information.

Parameters:
Line,: Specifies the line which could intersect this object.
ExcludeCorners,: Specifies whether the line's corners should be ingored. This can be useful for ray-tracing or lightmapping to avoid self-shadowing.

Reimplemented from sp::scene::CollisionNode.

dim::aabbox3df sp::scene::CollisionBox::getBox (  )  const [inline]
f32 sp::scene::CollisionBox::getMaxMovement (  )  const [virtual]

Returns the maximal movement (e.g. for a sphere it's the radius). This is used internally. A collision node can still be moved faster than this value.

Implements sp::scene::CollisionNode.

s32 sp::scene::CollisionBox::getSupportFlags (  )  const [virtual]
void sp::scene::CollisionBox::setBox ( const dim::aabbox3df Box  )  [inline]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines