![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: DtDeSharedStateProctor.h,v $ $Revision: 1.31 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvCore/DtProctor.h> 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <string> 00018 00019 namespace makVrv 00020 { 00021 class DtDe; 00022 class DtDeSharedState; 00023 class DtModelDefinition; 00024 class DtModelDefinitionManager; 00025 00028 class DT_DLL_VRVCORE DtDeSharedStateProctor : public DtProctor 00029 { 00030 00031 public: 00032 00034 friend class DtDeSharedStateProctorCreator; 00035 00037 virtual ~DtDeSharedStateProctor(); 00038 00039 //@name Coordinate system functions. 00041 00043 virtual void setCoordinateSystem( const std::string& coordinateSystem, const std::string& parameters ); 00044 00046 static void decode_setCoordinateSystem(DtProctor* proctor, DtMessage& msg); 00047 00049 static void serialize_setCoordinateSystem(DtMessage& msg, 00050 std::string& coordinateSystem, std::string& parameters); 00052 00053 00055 00056 00059 virtual void setModelDefinitionManager(const DtModelDefinitionManager&); 00060 00062 static void decode_setModelDefinitionManager(DtProctor* proctor, DtMessage& msg); 00063 00065 static void serialize_setModelDefinitionManager(DtMessage& msg, 00066 DtModelDefinitionManager& modelDefinitionManager); 00067 00069 virtual void addModelDefinition( const DtModelDefinition& modelDefinition ); 00070 00072 static void decode_addModelDefinition(DtProctor* proctor, DtMessage& msg); 00073 00075 static void serialize_addModelDefinition(DtMessage& msg, 00076 DtModelDefinition& modelDefinition); 00077 00079 virtual void removeModelDefinition( const std::string& modelDefinitionName ); 00080 00082 static void decode_removeModelDefinition(DtProctor* proctor, DtMessage& msg); 00083 00085 static void serialize_removeModelDefinition(DtMessage& msg, 00086 std::string& modelDefinition); 00087 00089 virtual void setModelInstancingEnabled( bool flag ); 00090 00092 static void decode_setModelInstancingEnabled(DtProctor* proctor, DtMessage& msg); 00093 00095 static void serialize_setModelInstancingEnabled(DtMessage& msg, 00096 bool& flag); 00097 00099 virtual void clearModelInstancingCache(); 00100 00102 static void decode_clearModelInstancingCache( DtProctor* proctor, DtMessage& msg ); 00103 00105 static void serialize_clearModelInstancingCache( DtMessage& msg); 00106 00108 00109 00111 virtual void setDateAndTime(int year,int month,int dayOfMonth, 00112 int hours, int minutes, double seconds); 00113 static void decode_setDateAndTime(DtProctor* proctor,DtMessage& msg); 00114 static void serialize_setDateAndTime(DtMessage& msg, 00115 int& year, int& month, int& dayOfMonth, 00116 int& hours, int& minutes, double& seconds); 00118 00120 virtual void setTimeScale(double timeScale); 00121 static void decode_setTimeScale(DtProctor* proctor, DtMessage& msg); 00122 static void serialize_setTimeScale(DtMessage& msg, double& scale); 00124 00126 virtual void setWireframeMode(bool state); 00127 static void decode_setWireframeMode(DtProctor* proctor, DtMessage& msg); 00128 static void serialize_setWireframeMode(DtMessage& msg, bool& val); 00130 00132 virtual void setTerrainScalingEnabled(bool state); 00133 static void decode_setTerrainScalingEnabled(DtProctor* proctor, DtMessage& msg); 00134 static void serialize_setTerrainScalingEnabled(DtMessage& msg, bool& val); 00136 00138 virtual void setTerrainScaleFactor(double scaleFactor); 00139 static void decode_setTerrainScaleFactor(DtProctor* proctor, DtMessage& msg); 00140 static void serialize_setTerrainScaleFactor(DtMessage& msg, double& val); 00142 00144 virtual void setClearTrackHistoryOnTerrainScaleChanged(bool clear); 00145 static void decode_setClearTrackHistoryOnTerrainScaleChanged( 00146 DtProctor* proctor, DtMessage& msg); 00147 static void serialize_setClearTrackHistoryOnTerrainScaleChanged( 00148 DtMessage& msg, bool& val); 00150 00152 virtual void setPlanViewGeocentricOccludedTransparency(float alpha); 00153 static void decode_setPlanViewGeocentricOccludedTransparency(DtProctor* proctor, DtMessage& msg); 00154 static void serialize_setPlanViewGeocentricOccludedTransparency(DtMessage& msg, float& alpha); 00156 00158 virtual void setDdsFlip(bool state); 00159 static void decode_setDdsFlip(DtProctor* proctor, DtMessage& msg); 00160 static void serialize_setDdsFlip(DtMessage& msg, bool& val); 00162 00164 virtual void setShadowState(bool shadowMode, int shadowQuality, 00165 bool entityMode, bool propMode, bool terrrainMode); 00166 static void decode_setShadowState(DtProctor* proctor, DtMessage& msg); 00167 static void serialize_setShadowState(DtMessage& msg, bool& shadowMode, int& shadowQuality, 00168 bool& entityMode, bool& propMode, bool& terrrainMode); 00170 00172 virtual void setVisualizeModelSet( int modelSet, bool visualize ); 00173 static void decode_setVisualizeModelSet( DtProctor* proctor, 00174 DtMessage& msg); 00175 static void serialize_setVisualizeModelSet( DtMessage& msg, 00176 int& modelSet, bool& visualize ); 00178 00180 virtual void setAccelerationCachingEnabled( bool flag ); 00181 static void decode_setAccelerationCachingEnabled(DtProctor* proctor, DtMessage& msg); 00182 static void serialize_setAccelerationCachingEnabled(DtMessage& msg,bool& flag); 00184 00186 virtual void clearAccelerationCache(); 00187 static void decode_clearAccelerationCache( DtProctor* proctor, DtMessage& msg ); 00188 static void serialize_clearAccelerationCache( DtMessage& msg); 00190 00192 virtual void setInstancingEnabled( bool flag ); 00193 static void decode_setInstancingEnabled(DtProctor* proctor, DtMessage& msg); 00194 static void serialize_setInstancingEnabled(DtMessage& msg,bool& flag); 00196 00198 virtual void setClearInstancesOnNewScene( bool flag ); 00199 static void decode_setClearInstancesOnNewScene(DtProctor* proctor, DtMessage& msg); 00200 static void serialize_setClearInstancesOnNewScene(DtMessage& msg,bool& flag); 00202 00204 virtual void clearInstancingCache(); 00205 static void decode_clearInstancingCache( DtProctor* proctor, DtMessage& msg ); 00206 static void serialize_clearInstancingCache( DtMessage& msg); 00208 00210 virtual void setCompressTextures( bool flag ); 00211 static void decode_setCompressTextures(DtProctor* proctor, DtMessage& msg); 00212 static void serialize_setCompressTextures(DtMessage& msg,bool& flag); 00214 00215 protected: 00216 00218 DtDeSharedStateProctor(DtDe& Ig, DtDeSharedState& sharedState); 00219 00220 protected: 00221 00222 DtDeSharedState& myDeSharedState; 00223 00224 }; 00225 00228 class DT_DLL_VRVCORE DtDeSharedStateProctorCreator : public DtVirtualBaseClass 00229 { 00230 00231 public: 00232 00234 static DtDeSharedStateProctorCreator& instance(DtDe& de); 00235 00237 static void registerInstance(DtDe& de, DtDeSharedStateProctorCreator* creator); 00238 00240 virtual DtDeSharedStateProctor* create(DtDe& de, DtDeSharedState& sharedState); 00241 00242 }; 00243 }