Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OPC_OBBCollider.cpp File Reference
#include "Stdafx.h"
#include "OPC_BoxBoxOverlap.h"
#include "OPC_TriBoxOverlap.h"

Go to the source code of this file.

Macros

#define SET_CONTACT(prim_index, flag)
 
#define OBB_PRIM(prim_index, flag)
 OBB-triangle test. More...
 
#define TEST_BOX_IN_OBB(center, extents)
 

Detailed Description

Contains code for an OBB collider.

Author
Pierre Terdiman
Date
January, 1st, 2002

Definition in file OPC_OBBCollider.cpp.

Macro Definition Documentation

#define OBB_PRIM (   prim_index,
  flag 
)
Value:
/* Request vertices from the app */ \
VertexPointers VP; mIMesh->GetTriangle(VP, prim_index); \
/* Transform them in a common space */ \
TransformPoint(mLeafVerts[0], *VP.Vertex[0], mRModelToBox, mTModelToBox); \
TransformPoint(mLeafVerts[1], *VP.Vertex[1], mRModelToBox, mTModelToBox); \
TransformPoint(mLeafVerts[2], *VP.Vertex[2], mRModelToBox, mTModelToBox); \
/* Perform triangle-box overlap test */ \
if(TriBoxOverlap()) \
{ \
SET_CONTACT(prim_index, flag) \
}

OBB-triangle test.

Definition at line 45 of file OPC_OBBCollider.cpp.

Referenced by Opcode::HybridOBBCollider::Collide().

#define SET_CONTACT (   prim_index,
  flag 
)
Value:
/* Set contact status */ \
mFlags |= flag; \
mTouchedPrimitives->Add(prim_index);

Definition at line 39 of file OPC_OBBCollider.cpp.

#define TEST_BOX_IN_OBB (   center,
  extents 
)
Value:
if(OBBContainsBox(center, extents)) \
{ \
/* Set contact status */ \
mFlags |= OPC_CONTACT; \
_Dump(node); \
return; \
}

Definition at line 397 of file OPC_OBBCollider.cpp.