Sirikata
|
00001 // Copyright (c) 2011 Sirikata Authors. All rights reserved. 00002 // Use of this source code is governed by a BSD-style license that can 00003 // be found in the LICENSE file. 00004 00005 #ifndef _SIRIKATA_PINTO_PROX_SIMULATION_TRAITS_HPP_ 00006 #define _SIRIKATA_PINTO_PROX_SIMULATION_TRAITS_HPP_ 00007 00008 #include <sirikata/core/util/Platform.hpp> 00009 #include <sirikata/core/util/MotionVector.hpp> 00010 #include <sirikata/core/util/UniqueID.hpp> 00011 00012 namespace Sirikata { 00013 00014 class ProxSimulationTraits { 00015 public: 00016 typedef uint32 intType; 00017 typedef float32 realType; 00018 00019 typedef Vector3f Vector3Type; 00020 typedef TimedMotionVector3f MotionVector3Type; 00021 00022 typedef BoundingSphere3f BoundingSphereType; 00023 00024 typedef SolidAngle SolidAngleType; 00025 00026 typedef Time TimeType; 00027 typedef Duration DurationType; 00028 00029 const static realType InfiniteRadius; 00030 const static intType InfiniteResults; 00031 00032 typedef UniqueID32 UniqueIDGeneratorType; 00033 }; // class ProxSimulationTraits 00034 00035 class ServerProxSimulationTraits : public ProxSimulationTraits { 00036 public: 00037 typedef ServerID ObjectIDType; 00038 typedef std::tr1::hash<ServerID> ObjectIDHasherType; 00039 typedef ServerIDNull ObjectIDNullType; 00040 typedef ServerIDRandom ObjectIDRandomType; 00041 }; 00042 00043 } // namespace Sirikata 00044 00045 #endif //_SIRIKATA_PINTO_PROX_SIMULATION_TRAITS_HPP_