Sirikata
pinto/src/ProxSimulationTraits.hpp
Go to the documentation of this file.
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_