AABBTreeCollider Class Reference

Inherits Collider.

List of all members.

Public Methods

 AABBTreeCollider ()
virtual ~AABBTreeCollider ()
bool Collide (BVTCache &cache, const Matrix4x4 &world0, const Matrix4x4 &world1)
bool Collide (const AABBCollisionTree *tree0, const AABBCollisionTree *tree1, const Matrix4x4 &world0, const Matrix4x4 &world1, Pair *cache=null)
bool Collide (const AABBNoLeafTree *tree0, const AABBNoLeafTree *tree1, const Matrix4x4 &world0, const Matrix4x4 &world1, Pair *cache=null)
bool Collide (const AABBQuantizedTree *tree0, const AABBQuantizedTree *tree1, const Matrix4x4 &world0, const Matrix4x4 &world1, Pair *cache=null)
bool Collide (const AABBQuantizedNoLeafTree *tree0, const AABBQuantizedNoLeafTree *tree1, const Matrix4x4 &world0, const Matrix4x4 &world1, Pair *cache=null)
__forceinline void SetFullBoxBoxTest (bool flag)
__forceinline void SetFullPrimBoxTest (bool flag)
__forceinline udword GetNbBVBVTests () const
__forceinline udword GetNbPrimPrimTests () const
__forceinline udword GetNbBVPrimTests () const
__forceinline udword GetNbPairs () const
__forceinline PairGetPairs () const
__forceinline AABBTreeCollider & SetUserData0 (udword data)
__forceinline AABBTreeCollider & SetUserData1 (udword data)
__forceinline AABBTreeCollider & SetCallbackObj0 (OPC_CALLBACK callback)
__forceinline AABBTreeCollider & SetCallbackObj1 (OPC_CALLBACK callback)
 override (Collider) const char *ValidateSettings()


Detailed Description

Contains an AABB tree collider. This class performs a collision test between two AABB trees.

Author:
Pierre Terdiman
Version:
1.0
Date:
March, 20, 2001


Constructor & Destructor Documentation

AABBTreeCollider::AABBTreeCollider  
 

Constructor.

AABBTreeCollider::~AABBTreeCollider   [virtual]
 

Destructor.


Member Function Documentation

bool AABBTreeCollider::Collide const AABBQuantizedNoLeafTree   tree0,
const AABBQuantizedNoLeafTree   tree1,
const Matrix4x4   world0,
const Matrix4x4   world1,
Pair   cache = null
 

Collision query for quantized no-leaf AABB trees.

Parameters:
tree0  [in] AABB tree from first object
tree1  [in] AABB tree from second object
world0  [in] world matrix for first object
world1  [in] world matrix for second object
cache  [in/out] cache for a pair of previously colliding primitives
Returns:
true if success
Warning:
SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.

bool AABBTreeCollider::Collide const AABBQuantizedTree   tree0,
const AABBQuantizedTree   tree1,
const Matrix4x4   world0,
const Matrix4x4   world1,
Pair   cache = null
 

Collision query for quantized AABB trees.

Parameters:
tree0  [in] AABB tree from first object
tree1  [in] AABB tree from second object
world0  [in] world matrix for first object
world1  [in] world matrix for second object
cache  [in/out] cache for a pair of previously colliding primitives
Returns:
true if success
Warning:
SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.

bool AABBTreeCollider::Collide const AABBNoLeafTree   tree0,
const AABBNoLeafTree   tree1,
const Matrix4x4   world0,
const Matrix4x4   world1,
Pair   cache = null
 

Collision query for no-leaf AABB trees.

Parameters:
tree0  [in] AABB tree from first object
tree1  [in] AABB tree from second object
world0  [in] world matrix for first object
world1  [in] world matrix for second object
cache  [in/out] cache for a pair of previously colliding primitives
Returns:
true if success
Warning:
SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.

bool AABBTreeCollider::Collide const AABBCollisionTree   tree0,
const AABBCollisionTree   tree1,
const Matrix4x4   world0,
const Matrix4x4   world1,
Pair   cache = null
 

Collision query for normal AABB trees.

Parameters:
tree0  [in] AABB tree from first object
tree1  [in] AABB tree from second object
world0  [in] world matrix for first object
world1  [in] world matrix for second object
cache  [in/out] cache for a pair of previously colliding primitives
Returns:
true if success
Warning:
SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.

bool AABBTreeCollider::Collide BVTCache   cache,
const Matrix4x4   world0,
const Matrix4x4   world1
 

Generic collision query for generic OPCODE models. After the call, access the results with:

Parameters:
cache  [in] collision cache for model pointers and a colliding pair of primitives
world0  [in] world matrix for first object
world1  [in] world matrix for second object
Returns:
true if success
Warning:
SCALE NOT SUPPORTED. The matrices must contain rotation & translation parts only.

__forceinline udword AABBTreeCollider::GetNbBVBVTests   const [inline]
 

Stats: a method to get the number of BV-BV overlap tests after a collision query.

See also:
GetNbPrimPrimTests() , GetNbBVPrimTests()
Returns:
the number of BV-BV tests performed during last query

__forceinline udword AABBTreeCollider::GetNbBVPrimTests   const [inline]
 

Stats: a method to get the number of BV-Triangle overlap tests after a collision query.

See also:
GetNbBVBVTests() , GetNbPrimPrimTests()
Returns:
the number of BV-Triangle tests performed during last query

__forceinline udword AABBTreeCollider::GetNbPairs   const [inline]
 

A method to get the number of contacts after a collision query.

See also:
GetContactStatus() , GetPairs()
Returns:
the number of contacts / colliding pairs.

__forceinline udword AABBTreeCollider::GetNbPrimPrimTests   const [inline]
 

Stats: a method to get the number of Triangle-Triangle overlap tests after a collision query.

See also:
GetNbBVBVTests() , GetNbBVPrimTests()
Returns:
the number of Triangle-Triangle tests performed during last query

__forceinline Pair* AABBTreeCollider::GetPairs   const [inline]
 

A method to get the pairs of colliding triangles after a collision query.

See also:
GetContactStatus() , GetNbPairs()
Returns:
the list of colliding pairs (triangle indices)

AABBTreeCollider::override Collider    const
 

Validates current settings. You should call this method after all the settings and callbacks have been defined for a collider.

Returns:
null if everything is ok, else a string describing the problem

__forceinline AABBTreeCollider& AABBTreeCollider::SetCallbackObj0 OPC_CALLBACK    callback [inline]
 

Callback control: a method to setup callback 0. Must provide triangle-vertices for a given triangle index.

Parameters:
callback  [in] user-defined callback
See also:
SetCallbackObj1(OPC_CALLBACK callback)
Returns:
Self-Reference

__forceinline AABBTreeCollider& AABBTreeCollider::SetCallbackObj1 OPC_CALLBACK    callback [inline]
 

Callback control: a method to setup callback 1. Must provide triangle-vertices for a given triangle index.

Parameters:
callback  [in] user-defined callback
See also:
SetCallbackObj0(OPC_CALLBACK callback)
Returns:
Self-Reference

__forceinline void AABBTreeCollider::SetFullBoxBoxTest bool    flag [inline]
 

Settings: select between full box-box tests or "SAT-lite" tests (where Class III axes are discarded)

Parameters:
flag  [in] true for full tests, false for coarse tests
See also:
SetFullPrimBoxTest(bool flag)

__forceinline void AABBTreeCollider::SetFullPrimBoxTest bool    flag [inline]
 

Settings: select between full triangle-box tests or "SAT-lite" tests (where Class III axes are discarded)

Parameters:
flag  [in] true for full tests, false for coarse tests
See also:
SetFullBoxBoxTest(bool flag)

__forceinline AABBTreeCollider& AABBTreeCollider::SetUserData0 udword    data [inline]
 

Callback control: a method to setup user-data assigned to callback 0.

Parameters:
data  [in] user-defined data
See also:
SetUserData1(udword data)
Returns:
Self-Reference

__forceinline AABBTreeCollider& AABBTreeCollider::SetUserData1 udword    data [inline]
 

Callback control: a method to setup user-data assigned to callback 1.

Parameters:
data  [in] user-defined data
See also:
SetUserData0(udword data)
Returns:
Self-Reference


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


Flat Four Engine
Copyright (C) 2001 by 379, Inc.
This page generated by Doxygen