00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TA_COLLISIONOBJECTAABBMESHDATA_H
00013 #define TA_COLLISIONOBJECTAABBMESHDATA_H
00014
00015 #ifndef TA_AABBTREE_H
00016 #include "../Common/AABBTree.h"
00017 #endif // TA_AABBTREE_H
00018
00019 namespace TA
00020 {
00021
00022 #ifndef DOXYGEN
00023
00024 struct CollisionObjectAABBMesh::Data
00025 {
00026 Array<int, false> polygonData;
00027 Array<Vec3, false> vertexArray;
00028 int m_nNumPolygons;
00029 AABBTree aabbTree;
00030 };
00031
00032 template <class CollisionObjectType>
00033 class CollisionObjectAABBMeshCallbackData
00034 {
00035 public:
00036 CollisionObjectAABBMeshCallbackData(
00037 const CollisionObjectType& newObject,
00038 const MFrame& newStartFrameA,
00039 const MFrame& newEndFrameA,
00040 const CollisionObjectAABBMesh::Data& newMeshData,
00041 OnCollisionCallback pNewFnOnCollisionCallback,
00042 void* pNewData) :
00043 object(newObject),
00044 startFrameA(newStartFrameA),
00045 endFrameA(newEndFrameA),
00046 meshData(newMeshData),
00047 pFnOnCollisionCallback(pNewFnOnCollisionCallback),
00048 pData(pNewData)
00049 {
00050 }
00051
00052 const CollisionObjectType& object;
00053 const MFrame& startFrameA;
00054 const MFrame& endFrameA;
00055
00056 const CollisionObjectAABBMesh::Data& meshData;
00057 OnCollisionCallback pFnOnCollisionCallback;
00058 void* pData;
00059 };
00060
00061 #endif // DOXYGEN
00062
00063 };
00064
00065 #endif // TA_COLLISIONOBJECTMESHDATA_H
© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.