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

SpaceDivision.h

00001 //---------------------------------------------------------------------------------
00002 // File Name: SpaceDivision.h
00003 // Description: 
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_SPACEDIVISION_H
00013 #define TA_SPACEDIVISION_H
00014 
00015 #ifndef TA_SPACEDIVISIONOBJECT_H
00016 #include "SpaceDivisionObject.h"
00017 #endif // TA_SPACEDIVISIONOBJECT_H
00018 
00019 namespace TA
00020 {
00021 
00022 struct AABB;
00023 struct Vec3;
00024 
00025 class SpaceDivision
00026 {
00027 public:
00028     TA_OBFUSCATION_RESERVED_OFF
00029     virtual ~SpaceDivision() {};
00030 
00031     virtual void Add(SpaceDivisionObject& object) = 0;
00032     virtual void Remove(SpaceDivisionObject& object) = 0;
00033 
00034     virtual void ForAllIntersections(
00035         const AABB& aabb,
00036         void (TAC_CALL *callBack)(SpaceDivisionObject& object, void* pData),
00037         void* pCallBackData) = 0;
00038     
00039     virtual void ForAllIntersectionsWithLineSegment(
00040         const Vec3& v3Start,
00041         const Vec3& v3End,
00042         void (TAC_CALL *callBack)(SpaceDivisionObject& object, void* pData),
00043         void* pCallBackData) = 0;
00044     TA_OBFUSCATION_RESERVED_ON
00045 
00046 private:
00047 };
00048 
00049 }
00050 
00051 #endif // TA_SPACEDIVISION_H


© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.