![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef entitySR_H_ 00007 #define entitySR_H_ 00008 00011 00012 #include "hostStructs.h" 00013 #include "baseEntitySR.h" 00014 #include "supEmisEsProp.h" 00015 #include "supEmisEsNozz.h" 00016 00017 #include <vlpi/articulatedPartCollection.h> 00018 #include <vlpi/attachedPartCollection.h> 00019 00020 #include <iosfwd> 00021 00033 class DT_DLL_VL DtEntityStateRepository : public DtBaseEntityStateRepository 00034 { 00035 public: 00036 00038 DtEntityStateRepository(); 00039 00041 virtual ~DtEntityStateRepository(); 00042 00044 DtEntityStateRepository(const DtEntityStateRepository& orig); 00045 00047 DtEntityStateRepository& operator=(const DtEntityStateRepository& orig); 00048 00050 virtual DtStateRepository* clone(bool copy = false) const; 00051 00053 virtual void setForceId(DtForceType force); 00055 virtual DtForceType forceId() const; 00056 00058 virtual void setGuise(const DtEntityType& type); 00060 virtual const DtEntityType& guise() const; 00061 00063 virtual void setFrozen(bool onOff); 00065 virtual bool frozen() const; 00066 00069 virtual void setMarkingCharSet(int charSet); 00072 virtual int markingCharSet() const; 00073 00076 virtual void setMarkingText(const char* text); 00079 virtual const char* markingText() const; 00080 00081 00087 00088 00089 virtual bool powerPlantOn() const; 00090 00092 virtual void setPowerPlantOn(bool onOff); 00093 00095 virtual void setDamageState(DtDamageState s); 00096 00098 virtual DtDamageState damageState() const; 00099 00101 virtual void setEngineSmokeOn(bool onOff); 00103 virtual bool engineSmokeOn() const; 00104 00106 virtual void setFlamesPresent(bool onOff); 00108 virtual bool flamesPresent() const; 00109 00111 virtual void setHasFuelSupplyCap(bool onOff); 00113 virtual bool hasFuelSupplyCap() const; 00114 00116 virtual void setHasRecoveryCap(bool onOff); 00118 virtual bool hasRecoveryCap() const; 00119 00121 virtual void setHasRepairCap(bool onOff); 00123 virtual bool hasRepairCap() const; 00124 00126 virtual void setHatchState(DtHatchState s); 00128 virtual DtHatchState hatchState() const; 00129 00131 virtual void setImmobilized(bool onOff); 00132 00134 virtual bool immobilized() const; 00135 00138 virtual void setLifeformState(DtLifeformState s); 00139 00142 virtual DtLifeformState lifeformState() const; 00143 00145 virtual void setLightState(DtLightType s, bool onOff); 00146 00148 virtual bool lightState(DtLightType s) const; 00149 00151 00152 00153 virtual void setLightState(DtLightState s); 00154 virtual DtLightState lightState() const; 00156 00158 00159 virtual void setDensity(DtDensityType dens); 00160 virtual DtDensityType density() const; 00162 00164 00165 virtual void setRampDeployed(bool onOff); 00166 virtual bool rampDeployed() const; 00168 00170 00171 virtual void setSmokePlumePresent(bool onOff); 00172 virtual bool smokePlumePresent() const; 00174 00176 00177 virtual void setTentDeployed(bool onOff); 00178 virtual bool tentDeployed() const; 00180 00182 00183 virtual void setTrailState(DtTrailState s); 00184 virtual DtTrailState trailState() const; 00186 00188 00189 virtual void setCamouflageType(DtCamouflageType type); 00190 virtual DtCamouflageType camouflageType() const; 00192 00194 00195 virtual void setFirePowerDisabled(bool onOff); 00196 virtual bool firePowerDisabled() const; 00198 00200 00201 virtual void setIsConcealed(bool onOff); 00202 virtual bool isConcealed() const; 00204 00206 00207 virtual void setAfterburnerOn(bool onOff); 00208 virtual bool afterburnerOn() const; 00210 00212 00213 virtual void setHasAmmunitionSupplyCap(bool onOff); 00214 virtual bool hasAmmunitionSupplyCap() const; 00216 00218 00219 virtual void setLauncherRaised(bool onOff); 00220 virtual bool launcherRaised() const; 00222 00224 00225 virtual void setLauncherFlashPresent(bool onOff); 00226 virtual bool launcherFlashPresent() const; 00228 00230 00231 virtual void setPrimaryWeaponState(DtWeaponState s); 00232 virtual DtWeaponState primaryWeaponState() const; 00234 00236 00237 virtual void setSecondaryWeaponState(DtWeaponState s); 00238 virtual DtWeaponState secondaryWeaponState() const; 00240 00242 00243 virtual void setComplianceState(DtComplianceState s); 00244 virtual DtComplianceState complianceState() const; 00246 00248 00249 virtual void setAntennaRaised(bool upDown); 00250 virtual bool antennaRaised() const; 00252 00254 00255 virtual void setMissionKill(bool yesNo); 00256 virtual bool missionKill() const; 00258 00260 00261 virtual void setInternalHeatSource(bool onOff); 00262 virtual bool internalHeatSource() const; 00264 00266 virtual void setMaskedCloaked(bool onOff); 00267 00269 virtual bool maskedCloaked() const; 00270 00274 virtual void setAppearance(DtU32 app); 00278 virtual DtU32 appearance() const; 00279 00284 virtual void setAppearanceAttribute(const DtAppearAttribute attr, 00285 const DtAppearAttrVal val); 00290 virtual DtAppearAttrVal appearanceAttribute( 00291 const DtAppearAttribute attr) const; 00293 00295 // virtual void initArtParts(const DtArtPartSpec* specList); 00296 00298 00299 virtual const DtArticulatedPartCollection* artPartList() const; 00300 virtual DtArticulatedPartCollection* artPartList(); 00302 00304 00305 virtual const DtAttachedPartCollection* attPartList() const; 00306 virtual DtAttachedPartCollection* attPartList(); 00308 00310 00311 virtual void setInfraRedSigRepIndex(DtU16 value); 00312 virtual DtU16 infraRedSigRepIndex() const; 00314 00316 00317 virtual void setAcousticSigRepIndex(DtU16 value); 00318 virtual DtU16 acousticSigRepIndex() const; 00320 00322 00323 virtual void setRadarSigRepIndex(DtU16 value); 00324 virtual DtU16 radarSigRepIndex() const; 00326 00328 00329 00330 void setNumPropulsionSystems(DtU16 value); 00331 DtU16 numPropulsionSystems() const; 00333 00335 00336 00337 void setNumNozzleSystems(DtU16 value); 00338 DtU16 numNozzleSystems() const; 00340 00342 00343 00344 00345 bool setPropulsionSystem(int index, 00346 const DtPropulsionSystem& record); 00347 bool getPropulsionSystem(int index, 00348 DtPropulsionSystem& record) const; 00350 00352 00353 00354 00355 bool setNozzleSystem(int index, 00356 const DtVectoringNozzleSystem& record); 00357 bool getNozzleSystem(int index, 00358 DtVectoringNozzleSystem& record) const; 00360 00362 00363 virtual void setMeasuredSpeed(DtU16 value); 00364 virtual DtU16 measuredSpeed() const; 00366 00368 00369 virtual void setCapabilities(DtU32 cap); 00370 virtual DtU32 capabilities() const; 00372 00374 virtual void setClock(DtClock* clock); 00375 00377 00378 00379 00380 virtual void setDiGuyAction(const DtString& val, bool paused); 00381 virtual const DtString& diGuyAction(bool& paused) const; 00382 00383 virtual void setDiGuyAppearance(const DtString& val); 00384 virtual const DtString& diGuyAppearance() const; 00385 00386 virtual void setDiGuyArc(const std::vector<char>& val); 00387 virtual const std::vector<char>& diGuyArc() const; 00388 00392 virtual void setDiGuyType(const DtString& newDiGuyType, 00393 const DtString& newDiGuyAppearance ); 00394 virtual void setDiGuyType(const DtString& val); 00395 virtual const DtString& diGuyType() const; 00396 00397 virtual void setDiGuyParent(const DtEntityIdentifier& val); 00398 virtual const DtEntityIdentifier& diGuyParent() const; 00400 00401 00402 00403 public: 00404 00406 virtual void printData() const; 00407 00409 virtual void printDataToStream(std::ostream &stream) const; 00410 00411 public: 00412 00413 static DtEntityStateRepository* create(); 00414 00415 protected: 00416 00419 DtEntityStateRepository* self() const; 00420 00423 void internalSetMarkingText(const char* text); 00424 00425 protected: 00426 00427 DtArticulatedPartCollection myArtPartList; 00428 DtAttachedPartCollection myAttPartList; 00429 00430 DtForceType myForceId; 00431 DtEntityType myGuise; 00432 DtU32 myAppearance; 00433 int myMarkingCharSet; 00436 DtString myMarkingText; 00437 DtU32 myCapabilities; 00438 DtU16 myLiveEntityMeasuredSpeed; 00439 00440 DtU16 myAcousticsSignatureIndex; 00441 DtU16 myInfaredSignatureIndex; 00442 DtU16 myRadarCrossSectionSignatureIndex; 00443 00444 int myNumPropulsionSystemsData; 00445 int myNumVectoringNozzleSystemData; 00446 DtPropulsionSystem *myPropulsionSystemsDataList; 00447 DtVectoringNozzleSystem *myVectoringNozzleSystemDataList; 00448 00451 DtString myDiGuyAction; 00452 bool myDiGuyActionPaused; 00453 DtString myDiGuyAppearance; 00454 std::vector<char> myDiGuyArc; 00455 DtString myDiGuyType; 00456 DtEntityIdentifier myDiGuyParent; 00457 }; 00458 00459 inline void 00460 DtEntityStateRepository::setInfraRedSigRepIndex(DtU16 value) 00461 { 00462 myInfaredSignatureIndex = value; 00463 } 00464 00465 inline DtU16 00466 DtEntityStateRepository::infraRedSigRepIndex() const 00467 { 00468 return myInfaredSignatureIndex; 00469 } 00470 00471 inline void 00472 DtEntityStateRepository::setAcousticSigRepIndex(DtU16 value) 00473 { 00474 myAcousticsSignatureIndex = value; 00475 } 00476 00477 inline DtU16 00478 DtEntityStateRepository::acousticSigRepIndex() const 00479 { 00480 return myAcousticsSignatureIndex; 00481 } 00482 00483 inline void 00484 DtEntityStateRepository::setRadarSigRepIndex(DtU16 value) 00485 { 00486 myRadarCrossSectionSignatureIndex = value; 00487 } 00488 00489 inline DtU16 00490 DtEntityStateRepository::radarSigRepIndex() const 00491 { 00492 return myRadarCrossSectionSignatureIndex; 00493 } 00494 00495 inline DtForceType DtEntityStateRepository::forceId() const 00496 { 00497 return myForceId; 00498 } 00499 00500 inline const DtEntityType& DtEntityStateRepository::guise() const 00501 { 00502 return myGuise; 00503 } 00504 00505 inline DtU32 DtEntityStateRepository::appearance() const 00506 { 00507 return myAppearance; 00508 } 00509 00510 inline int DtEntityStateRepository::markingCharSet() const 00511 { 00512 return myMarkingCharSet; 00513 } 00514 00515 inline const char* DtEntityStateRepository::markingText() const 00516 { 00517 return myMarkingText.c_str(); 00518 } 00519 00520 inline DtU32 DtEntityStateRepository::capabilities() const 00521 { 00522 return myCapabilities; 00523 } 00524 00525 inline void DtEntityStateRepository::setForceId(DtForceType force) 00526 { 00527 myForceId = force; 00528 } 00529 00530 inline void DtEntityStateRepository::setGuise(const DtEntityType& type) 00531 { 00532 myGuise = type; 00533 } 00534 00535 inline void DtEntityStateRepository::setAppearance(DtU32 app) 00536 { 00537 myAppearance = app; 00538 } 00539 00540 inline void DtEntityStateRepository::setMarkingCharSet(int charSet) 00541 { 00542 myMarkingCharSet = charSet; 00543 } 00544 00545 inline void DtEntityStateRepository::internalSetMarkingText(const char* a_text) 00546 { 00547 myMarkingText = a_text; 00548 } 00549 00550 inline void DtEntityStateRepository::setMarkingText(const char* a_text) 00551 { 00552 internalSetMarkingText(a_text); 00553 } 00554 00555 inline void DtEntityStateRepository::setCapabilities(DtU32 cap) 00556 { 00557 myCapabilities = cap; 00558 } 00559 00560 inline DtEntityStateRepository* DtEntityStateRepository::self() const 00561 { 00562 return (DtEntityStateRepository*)this; 00563 } 00564 00565 inline const DtArticulatedPartCollection* DtEntityStateRepository::artPartList() const 00566 { 00567 return &myArtPartList; 00568 } 00569 00570 inline DtArticulatedPartCollection* DtEntityStateRepository::artPartList() 00571 { 00572 return &myArtPartList; 00573 } 00574 00575 inline const DtAttachedPartCollection* DtEntityStateRepository::attPartList() const 00576 { 00577 return &myAttPartList; 00578 } 00579 00580 inline DtAttachedPartCollection* DtEntityStateRepository::attPartList() 00581 { 00582 return &myAttPartList; 00583 } 00584 00585 inline void 00586 DtEntityStateRepository::setMeasuredSpeed(DtU16 value) 00587 { 00588 myLiveEntityMeasuredSpeed = value; 00589 } 00590 00591 inline DtU16 00592 DtEntityStateRepository::measuredSpeed() const 00593 { 00594 return myLiveEntityMeasuredSpeed; 00595 } 00596 00597 #endif 00598