True Axis Physics SDK 1.2.0.1 Beta Documentation
www.trueaxis.com

CollisionObjectAABBMeshData.h

00001 //---------------------------------------------------------------------------------
00002 // File Name: CollisionObjectAABBMeshData.h
00003 // Description: Internal physics file
00004 //
00005 // Copyright (C) 2004 - 2006 True Axis Pty Ltd, Australia. 
00006 // All Rights Reserved.
00007 //
00008 // History:
00009 //      Created File.
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 //  const CollisionObjectAABBMesh& mesh;
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.