Initial commit
This commit is contained in:
91
Torque/SDK/engine/game/collisionTest.h
Normal file
91
Torque/SDK/engine/game/collisionTest.h
Normal file
@@ -0,0 +1,91 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _COLLISIONTEST_H_
|
||||
#define _COLLISIONTEST_H_
|
||||
|
||||
#ifndef _SCENEOBJECT_H_
|
||||
#include "sim/sceneObject.h"
|
||||
#endif
|
||||
|
||||
#ifndef _POLYTOPE_H_
|
||||
#include "collision/polytope.h"
|
||||
#endif
|
||||
#ifndef _CLIPPEDPOLYLIST_H_
|
||||
#include "collision/clippedPolyList.h"
|
||||
#endif
|
||||
#ifndef _EXTRUDEDPOLYLIST_H_
|
||||
#include "collision/extrudedPolyList.h"
|
||||
#endif
|
||||
#ifndef _DEPTHSORTLIST_H_
|
||||
#include "collision/depthSortList.h"
|
||||
#endif
|
||||
#ifndef _POLYHEDRON_H_
|
||||
#include "collision/polyhedron.h"
|
||||
#endif
|
||||
|
||||
/// Helper class for collision detection.
|
||||
struct CollisionTest
|
||||
{
|
||||
/// @name Basic Settings
|
||||
/// @{
|
||||
Box3F boundingBox;
|
||||
SphereF boundingSphere;
|
||||
static bool renderAlways;
|
||||
|
||||
Point3F testPos;
|
||||
/// @}
|
||||
|
||||
/// @name Depth Sort List
|
||||
/// Use a slightly different box and sphere for depthSortList.
|
||||
/// @{
|
||||
Box3F mDepthBox;
|
||||
SphereF mDepthSphere;
|
||||
Point3F mDepthSortExtent;
|
||||
/// @}
|
||||
|
||||
/// @name Polytope/BSP test
|
||||
/// @{
|
||||
static bool testPolytope;
|
||||
BSPTree tree;
|
||||
Polytope volume;
|
||||
/// @}
|
||||
|
||||
/// @name Clipped polylists
|
||||
/// @{
|
||||
static bool testClippedPolyList;
|
||||
ClippedPolyList polyList;
|
||||
/// @}
|
||||
|
||||
/// @name Depth sorted polylists
|
||||
/// @{
|
||||
static bool testDepthSortList;
|
||||
static bool depthSort;
|
||||
static bool depthRender;
|
||||
DepthSortList depthSortList;
|
||||
/// @}
|
||||
|
||||
/// @name Extruded
|
||||
/// @{
|
||||
CollisionList collisionList;
|
||||
static bool testExtrudedPolyList;
|
||||
Polyhedron polyhedron;
|
||||
VectorF extrudeVector;
|
||||
ExtrudedPolyList extrudedList;
|
||||
/// @}
|
||||
|
||||
/// @name Implementation
|
||||
/// @{
|
||||
CollisionTest();
|
||||
~CollisionTest();
|
||||
static void consoleInit();
|
||||
static void callback(SceneObject*, void *thisPtr);
|
||||
void collide(const MatrixF& transform);
|
||||
void render();
|
||||
/// @}
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user