![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: envSmokeState.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 // 00010 // File: envObjState.h 00011 // 00012 // Class: DtEnvSmokeStateRecord 00013 // 00014 #ifndef DtEnvSmokeStateRecord_H_ 00015 #define DtEnvSmokeStateRecord_H_ 00016 00017 #include <vl/envRec.h> 00018 #include <vl/packets/envProcP.h> 00019 #include <vlpi/appearance.h> 00020 #include <vlpi/disEnums.h> 00021 #include <vl/objDesList.h> 00022 00023 struct DtNetEnvSmokeStateRecord :DtNetEnvironmentalRecord 00024 { 00025 DtNetU16 mySmokeAgent; // Not Used 00026 DtNetU16 myGeomIndex; 00027 DtNetFloat32 myAgentMass; // Not Used 00028 DtNetFloat32 myDensityRate; // %/ sec. Rate for changing the cloud density 00029 DtNetFloat32 myDensity; // 0.0% to 100.0% Cloud density 00030 }; 00031 00032 // 00033 // Class Description: DtEnvSmokeStateRecord implements tactical smoke 00034 // state to be sent/received via EnvironmentProcess 00035 00036 #include <vrfExtObjects/vrfExtObjectsDefines.h> 00037 class DT_DLL_vrfExtObjects DtEnvSmokeStateRecord : public DtEnvironmentalRecord 00038 { 00039 public: 00040 // Default Constructor. 00041 DtEnvSmokeStateRecord(); 00042 00043 // Copy Constructor 00044 DtEnvSmokeStateRecord( 00045 const DtEnvSmokeStateRecord& orig); 00046 00047 // Assignment Operator 00048 const DtEnvSmokeStateRecord& operator=( 00049 const DtEnvSmokeStateRecord& orig); 00050 00051 // Destructor 00052 virtual ~DtEnvSmokeStateRecord(); 00053 00054 // Clone. Return a copy of this instance. 00055 virtual DtEnvironmentalRecord* clone() const; 00056 00057 virtual bool setDensity(double d); 00058 virtual double density() const; 00059 00060 virtual bool setDensityRate(double d); 00061 virtual double densityRate() const; 00062 00063 virtual bool setGeometryIndex(int d); 00064 virtual int geometryIndex() const; 00065 00066 // This doesn't need to be called explicitly. If any routine that needs 00067 // the repository finds that it hasn't been created yet, it calls this 00068 // method. 00069 virtual bool createNetworkRepresentation(); 00070 00071 virtual int netRepSize() const; 00072 virtual void setFromNet(const DtNetEnvironmentalRecord& buffer); 00073 00074 protected: 00075 00076 int myGeometryIndex; 00077 float myDensity; 00078 float myDensityRate; 00079 }; 00080 00081 #endif // DIS_VERS >= 5