![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: ifModifyIndirectArtilleryObject.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtIfModifyIndirectArtilleryObject_H_ 00013 #define DtIfModifyIndirectArtilleryObject_H_ 00014 00015 #include <vrfExtProtocol/ifaceCont.h> 00016 #include "vrfmsgs/ifModVrfOvl.h" 00017 00018 #include <vlpi/appearance.h> 00019 #include <vlpi/entityIdentifier.h> 00020 #include <vlutil/vlNetTypes.h> 00021 #include <vlpi/NetStructs.h> 00022 #include "vrfmsgs/vrfmsgsDefines.h" 00023 00024 00025 class DtAppearance; 00026 class DtList; 00027 class Coordinate_System; 00028 00031 class DT_DLL_vrfmsgs DtIfIndirectArtilleryData 00032 { 00033 public: 00034 DtIfIndirectArtilleryData (); 00035 DtIfIndirectArtilleryData (const DtIfIndirectArtilleryData&); 00036 const DtIfIndirectArtilleryData & operator = (const DtIfIndirectArtilleryData&); 00039 virtual bool update(const DtIfIndirectArtilleryData& ); 00040 virtual ~DtIfIndirectArtilleryData(); 00041 00043 00044 virtual void setName(const DtString&); 00045 virtual const DtString& name() const; 00047 00049 00050 virtual const DtList& vertices() const; 00051 virtual void setVertices(const DtList &); 00053 00056 00057 virtual void setUserData(const char* userData, int iLen); 00058 virtual const char* userData() const; 00059 virtual int userDataLen() const; 00061 00063 00064 virtual const DtEntityIdentifier & objectIdentifier() const; 00065 virtual void setObjectIdentifier(const DtEntityIdentifier& objectIdentifier); 00067 00069 00070 virtual void setParentName(const DtString& parentName); 00071 virtual const DtString& parentName() const; 00073 00075 00076 virtual void setLabel(const DtString& label); 00077 virtual const DtString& label() const; 00079 00081 00082 virtual void setForce(const DtForceType& forceType); 00083 virtual const DtForceType force() const; 00085 00087 00088 virtual void setAppearance(const DtAppearance& appearance); 00089 virtual const DtAppearance& appearance() const; 00091 00093 00094 virtual void setAttachmentName(const DtString& attachName); 00095 virtual const DtString& attachmentName() const; 00097 00099 00100 virtual void setKeepExistingAttachment(bool keepExisting); 00101 virtual bool keepExistingAttachment() const; 00103 00105 00106 virtual void setColor(int color); 00107 virtual int color() const; 00109 00112 00113 virtual void setStartTimeImmediate(bool value); 00114 virtual bool startTimeImmediate() const; 00116 00118 00119 virtual void setStartTime(int); 00120 virtual int startTime() const; 00122 00124 00125 virtual void setTimeBetweenSalvos(int); 00126 virtual int timeBetweenSalvos() const; 00128 00130 00131 virtual void setScatterTime(double); 00132 virtual double scatterTime() const; 00134 00136 00137 virtual void setNumberOfSalvos(int); 00138 virtual int numberOfSalvos() const; 00140 00142 00143 virtual void setRoundsPerSalvo(int); 00144 virtual int roundsPerSalvo() const; 00146 00148 00149 virtual void setAltitudeAboveTerrain(double); 00150 virtual double altitudeAboveTerrain() const; 00152 00154 00155 virtual void setWindDirection(double); 00156 virtual double windDirection() const; 00158 00160 00161 virtual void setWindDistance(int); 00162 virtual int windDistance() const; 00164 00166 00167 virtual void setMunitionType(const DtEntityType&); 00168 virtual void setMunitionType(const DtString&); 00169 virtual const DtEntityType& munitionType() const; 00171 00173 00174 virtual size_t size() const; 00175 virtual char* encode(char* buffer) const; 00176 virtual const char* decode (const char* buffer); 00178 00179 bool modifyColor() const { return ((myModificationFlags & DtModifyOverlayColor) != 0); }; 00180 bool modifyAttachedTo() const { return ((myModificationFlags & DtModifyOverlayAttachedTo) != 0); }; 00181 bool modifyParent() const { return ((myModificationFlags & DtModifyOverlayParent) != 0); }; 00182 bool modifyUserData() const { return ((myModificationFlags & DtModifyOverlayUserData) != 0); }; 00183 00184 protected: 00185 DtEntityIdentifier myObjectIdentifier; 00186 DtForceType myForceType; 00187 bool myKeepExistingAttachment; 00188 int myColor; 00189 DtAppearance myAppearance; 00190 int myUserDataLen; 00191 int myModificationFlags; 00192 bool myStartTimeImmediate; 00193 int myStartTime; 00194 int myTimeBetweenSalvos; 00195 double myScatterTime; 00196 int myNumberOfSalvos; 00197 int myRoundsPerSalvo; 00198 double myWindDirection; 00199 int myWindDistance; 00200 00201 DtEntityType myMunitionType; 00202 00203 const char* myUserData; 00204 DtString myName; 00205 DtString myParentName; 00206 DtString myAttachmentName; 00207 DtString myLabel; 00208 DtList myVertices; 00209 double myAltitudeAboveTerrain; 00210 }; 00211 00216 class DT_DLL_vrfmsgs DtIfModifyIndirectArtilleryObject : public DtSimInterfaceContent 00217 { 00218 00219 public: 00221 DtIfModifyIndirectArtilleryObject(); 00222 00224 DtIfModifyIndirectArtilleryObject( 00225 const DtIfModifyIndirectArtilleryObject & orig); 00226 00228 const DtIfModifyIndirectArtilleryObject & operator=( 00229 const DtIfModifyIndirectArtilleryObject & orig); 00230 00231 virtual ~DtIfModifyIndirectArtilleryObject(); 00232 virtual bool update(const DtSimInterfaceContent*); 00233 00235 virtual int type() const; 00236 00238 virtual DtSimInterfaceContent * clone() const; 00239 00241 virtual int netRepSize() const; 00242 00244 virtual bool setFromNet(const char* contentBuffer, unsigned contentSize); 00245 00248 virtual bool setToNet(); 00249 00251 virtual DtString stringRep() const; 00252 00256 static DtSimInterfaceContent* creator(); 00257 00259 virtual const DtIfIndirectArtilleryData & data() const; 00260 virtual DtIfIndirectArtilleryData & data(); 00261 virtual void setData(const DtIfIndirectArtilleryData & data); 00262 00263 protected: 00264 DtIfIndirectArtilleryData myData; 00265 }; 00266 00267 #endif