VR-Link API Documentation for DIS
EntityTypes.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef EntityTypes_H_
00007 #define EntityTypes_H_
00008 
00012 
00018 
00019 //#include "packets/disVersion.h"
00020 
00022 enum DtEntityKind
00023 {
00024    DtEntityKindOther = 0,
00025    DtPlatform        = 1,
00026    DtMunition        = 2,
00027    DtLifeForm        = 3,
00028    DtEnvironmental   = 4,
00029    DtCulturalFeature = 5,
00030    DtSupply          = 6,
00031    DtRadio           = 7,
00032    DtExpendable      = 8,
00033    DtSensor          = 9
00034 };
00035 
00037 
00038 enum DtPlatformDomain
00039 {
00040    DtPlatformDomainOther      = 0,
00041    DtPlatformDomainLand       = 1,
00042    DtPlatformDomainAir        = 2,
00043    DtPlatformDomainSurface    = 3,
00044    DtPlatformDomainSubsurface = 4,
00045    DtPlatformDomainSpace      = 5
00046 };
00047 
00049 enum DtMunitionDomain
00050 {
00051    DtMunitionDomainOther = 0,
00052    DtAntiAir             = 1,
00053    DtAntiArmor           = 2,
00054    DtAntiGuidedMunition  = 3,
00055    DtAntiRadar           = 4,
00056    DtAntiSatellite       = 5,
00057    DtAntiShip            = 6,
00058    DtAntiSubmarine       = 7,
00059    DtAntiPersonnel       = 8,
00060    DtBattlefieldSupport  = 9,
00061    DtStrategic           = 10
00062 };
00063 
00064 enum DtLifeFormDomain
00065 {
00066    DtLifeFormDomainOther      = 0,
00067    DtLifeFormDomainLand       = 1,
00068    DtLifeFormDomainAir        = 2,
00069    DtLifeFormDomainSurface    = 3,
00070    DtLifeFormDomainSubsurface = 4,
00071    DtLifeFormDomainSpace      = 5
00072 };
00073 
00074 enum DtEnvironmentalDomain
00075 {
00076    DtEnvironmentalDomainOther      = 0,
00077    DtEnvironmentalDomainLand       = 1,
00078    DtEnvironmentalDomainAir        = 2,
00079    DtEnvironmentalDomainSurface    = 3,
00080    DtEnvironmentalDomainSubsurface = 4,
00081    DtEnvironmentalDomainSpace      = 5
00082 };
00083 
00084 enum DtCulturalFeatureDomain
00085 {
00086    DtCulturalFeatureDomainOther      = 0,
00087    DtCulturalFeatureDomainLand       = 1,
00088    DtCulturalFeatureDomainAir        = 2,
00089    DtCulturalFeatureDomainSurface    = 3,
00090    DtCulturalFeatureDomainSubsurface = 4,
00091    DtCulturalFeatureDomainSpace      = 5
00092 };
00094 
00096 enum DtCountryCode
00097 {
00098    DtCountryCodeOther                = 0,
00099    DtFrance                          = 71,
00100    DtIraq                            = 102,
00101    DtUnionOfSovietSocialistRepublics = 222, 
00102    DtUnitedKingdom                   = 224,
00103    DtUnitedStates                    = 225
00104 };
00105 
00106 
00107 
00110 
00111 enum DtPlatformLand
00112 {
00113    DtTank                       = 1,
00114    DtArmoredFightingVehicle     = 2,
00115    DtArmoredUtilityVehicle      = 3,
00116    DtSelfPropelledArtillery     = 4,
00117    DtTowedArtillery             = 5,
00118    DtSmallWheeledUtilityVehicle = 6,
00119    DtLargeWheeledUtilityVehicle = 7,
00120    DtSmallTrackedUtilityVehicle = 8,
00121    DtLargeTrackedUtilityVehicle = 9,
00122    DtMortar                     = 10
00123 };
00124 
00125 enum DtPlatformAir
00126 {
00127    DtFighter             = 1,
00128    DtAttack              = 2,
00129    DtBomber              = 3,
00130    DtCargo               = 4,
00131    DtAntiSubmarinePatrol = 5,
00132    DtAttackHelicopter    = 20,
00133    DtUtilityHelicopter   = 21,
00134    DtSeaGoingHelicopter  = 22,
00135    DtElectronicWarfare   = 6,
00136    DtUnmannedAirVehicle  = 50,
00137    DtReconnaisance       = 8,
00138    DtSpecialOperations   = 25
00139 };
00140 
00141 enum DtPlatformSurface
00142 {
00143    DtCarrier                 = 1,
00144    DtCommandShip             = 2,
00145    DtGuidedMissleCruiser     = 3,
00146    DtGuidedMissleDestroyer   = 4,
00147    DtDestroyer               = 5,
00148    DtGuidedMissleFrigate     = 6,
00149    DtPatrolCraft             = 7,
00150    DtMineCounterMeasureShip  = 8,
00151    DtDockLandingShip         = 9,
00152    DtTankLandingShip         = 10,
00153    DtLandingCraft            = 11,
00154    DtFrigate                 = 50,
00155    DtBattleship              = 51,
00156    DtHeavyCruiser            = 52,
00157    DtDestroyerTender         = 53,
00158    DtAmphibiousAssaultShip   = 54,
00159    DtAmphibiousCargoShip     = 55,
00160    DtAmphibiousTransportDock = 56,
00161    DtAmmunitionShip          = 57,
00162    DtCombatStoresShip        = 58
00163 };
00164 
00168 
00169 enum DtPlatformLandAnySmallWheeledUtilityVehicle
00170 {
00171    DtCivilianCar = 0
00172 };  
00173 
00177 
00178 enum DtPlatformLandUSTank
00179 {
00180    DtM1 = 1
00181 };
00182 
00183 enum DtPlatformLandUSArmoredFightingVehicle
00184 {
00185    DtM2 =   1,
00186    DtM3 =   1,
00187    DtM113 = 3
00188 };
00189 
00190 
00191 enum DtPlatformLandUSArmoredUtilityVehicle
00192 {
00193    DtM88 =  1,
00194    DtM577 = 11
00195 };
00196 
00197 
00198 enum DtPlatformLandUSSelfPropelledArtillery
00199 {
00200    DtM109 = 3
00201 };
00202 
00203 
00204 
00205 enum DtPlatformLandUSSmallWheeledUtilityVehicle
00206 {
00207    DtUSCivilianCar = 0,
00208    DtHMMWV         = 1
00209 };
00210 
00211 
00212 
00213 enum DtPlatformAirUSFighter{
00214    DtF117 = 1,
00215    DtF16  = 3,
00216    DtF15  = 5,
00217    DtF15E = 5,
00218    DtF18  = 9
00219 };
00220 
00221 enum DtF16
00222 {
00223    DtBasicF16 = 0,
00224    DtF16C     = 3
00225 };
00226 
00227 enum DtPlatformAirUSAttack
00228 {
00229    DtA10 = 4
00230 };
00231 
00232 enum DtPlatformAirUSCargo
00233 {
00234    DtC130  = 1,
00235    DtKC130 = 1
00236 
00237 };
00238 
00239 enum DtPlatformAirUSAttackHelicopter
00240 {
00241    DtAH64  = 1,
00242    DtAH1W  = 2,
00243    DtRAH66 = 3
00244 };
00245 
00246 enum DtAH1WSpecific
00247 {
00248    DtSpecificAH1W = 10
00249 };
00250 
00251 enum DtPlatformAirUSObservationHelicopter
00252 {
00253    DtOH58 = 1
00254 };
00255 
00256 enum DtPlatformAirUSUnmannedAirVehicle
00257 {
00258    DtUAV = 0
00259 };
00260 
00261 
00262 enum DtPlatformAirUSSpecialOperations
00263 {
00264    DtMH60 = 1,
00265    DtMH53 = 3
00266 };
00267 
00268 enum DtPlatformSurfaceUSCarrier
00269 {
00270    DtCV59 = 4
00271 }; 
00272 
00273 enum DtCV59Specific 
00274 {
00275    DtSpecificCV59 = 1
00276 };
00277 
00278 enum DtPlatformSurfaceUSGuidedMissleCruiser
00279 {
00280    DtTiconderogaClass   
00281 };
00282 
00283 enum DtAegisCruiserSpecific
00284 {
00285    DtTiconderoga  = 1,
00286    DtYorktown     = 2,
00287    DtVincennes    = 3,
00288    DtValleyForge  = 4,
00289    DtThomasSGates = 5
00290 };
00291 
00292 enum DtPlatformSurfaceUSGuidedMissleFrigate
00293 {
00294    DtFFG7 = 1
00295 };
00296 
00297 enum DtFFG7Specific
00298 {
00299    DtSpecificFFG7 = 1
00300 };
00301 
00302 enum DtPlatformSurfaceUSAmphibiousAssaultShip
00303 {
00304    DtTarawaClass = 1   
00305 };
00306 
00307 enum DtLHASpecific
00308 {
00309    DtTarawa      = 1,
00310    DtSaipan      = 2,
00311    DtBelleauWood = 3,
00312    DtNassau      = 4,
00313    DtPeleliu     = 5
00314 };
00315 
00316 enum DtPlatformSubsurfaceUSStrategicMissleSubmarine
00317 {
00318    DtSBBNOhio = 1
00319 };
00320 
00321 
00325 
00326 enum DtPlatformAirFranceUtilityHelicopter
00327 {
00328    DtGazelle = 6
00329 };
00330 
00334 
00335 enum DtPlatformLandUKTank
00336 {
00337    DtChallengerMBT = 2
00338 };
00339 
00340 
00344 
00345 enum DtPlatformLandUSSRTank
00346 {
00347    DtT72 = 2,
00348    DtT64 = 3
00349 };
00350 
00351 enum DtT72Specific
00352 {
00353    DtBasicT72  = 1
00354 };
00355 
00356 enum DtPlatformLandUSSRArmoredFightingVehicle
00357 {
00358    DtBMP1  = 1,
00359    DtBMP2  = 2,
00360    DtBRDM1 = 3,
00361    DtMTLB  = 7
00362 };
00363 
00364 
00365 enum DtPlatformLandUSSRSelfPropelledArtillery
00366 {
00367    DtSS1ScudMissileLauncher = 10,
00368    DtZSU23_4                = 18,
00369    DtSA6Launcher            = 19,
00370    DtSAMSite                = 19,
00371    DtSA10FlapLidRadar       = 42,
00372    DtSA8LauncherRadar       = 41
00373 };
00374 
00375 enum DtSA10Specific
00376 {
00377    DtSpecificSA10 = 1
00378 };
00379 
00380 enum DtSA8Specific
00381 {
00382    DtSpecificSA8 = 1
00383 };
00384 
00385 enum DtPlatformLandUSSRSelfTowedArtillery
00386 {
00387    DtD20 = 3
00388 };
00389 
00390 
00391 enum DtPlatformLandUSSRLargeWheeledUtilityVehicle
00392 {
00393    DtZIL157  = 6,
00394    DtGAZ66   = 8,
00395    DtUral375 = 9
00396 };
00397 
00398 enum DtPlatformAirUSSRAttackHelicopter
00399 {
00400    DtMI28 = 1,
00401    DtMI24 = 2
00402 };
00403 
00404 enum DtPlatformAirUSSRFighter
00405 {
00406    DtMiG29 = 2,
00407    DtMiG23 = 5
00408 };
00409 
00410 enum DtPlatformAirUSSRAttack
00411 {
00412    DtSU25 = 8
00413 };
00414 
00415 enum DtPlatformAirUSSRBomber
00416 {
00417    DtTU26 = 3,
00418    DtTU95 = 5
00419 };
00420 
00422 
00425 enum DtMunitionAntiAir
00426 {
00427    DtMunitionGuided   = 1,
00428    DtMunitionUnguided = 2
00429 };
00430 
00431 enum DtMunitionAntiArmor
00432 {
00433    DtAntiArmorGuided   = 1,
00434    DtAntiArmorUnguided = 2
00435 };
00436 
00437 enum DtMunitionAntiRadar
00438 {
00439    DtAntiRadarGuided   = 1,
00440    DtAntiRadarUnguided = 2
00441 };
00442 
00443 enum DtMunitionAntiShip
00444 {
00445    DtAntiShipGuided   = 1,
00446    DtAntiShipUnguided = 2
00447 };
00448 
00449 enum DtMunitionAntiSubmarine
00450 {
00451    DtAntiSubmarineGuided   = 1,
00452    DtAntiSubmarineUnguided = 2
00453 };
00454 
00455 enum DtMunitionAntiPersonnel
00456 {
00457    DtAntiPersonnelGuided   = 1,
00458    DtAntiPersonnelUnguided = 2
00459 };
00460 
00461 enum DtMunitionBattlefieldSupport
00462 {
00463    DtBattlefieldSupportGuided   = 1,
00464    DtBattlefieldSupportUnguided = 2
00465 };
00466 
00470 
00471 enum DtMunitionUSAntiAirGuided
00472 {
00473    DtSidewinder = 1,
00474    DtAMRAAM     = 2,
00475    DtHawk       = 6,
00476    DtPhoenix    = 8,
00477    DtRoland     = 11,
00478    DtSeaSparrow = 12,
00479    DtSparrow    = 13,
00480    DtStinger    = 15,
00481    DtPatriot    = 16
00482 };
00483 
00484 
00485 enum DtMunitionUSAntiArmorGuided
00486 {
00487    DtBGM71TOW = 1,
00488    DtHellfire = 3,
00489    DtMaverick = 4
00490 };
00491 
00492 enum DtMunitionUSAntiArmorUnguided 
00493 {
00494    Dt25mm  = 3,
00495    Dt105m  = 10,
00496    Dt120mm = 13
00497 };
00498 
00499 enum DtMunitionUSAntiRadarGuided
00500 {
00501    DtAGM88HARM = 1
00502 };
00503 
00504 enum DtMunitionUSAntiSubmarineGuided
00505 {
00506    DtMk48AntiSubmarine = 2
00507 };
00508 
00509 enum DtMunitionUSAntiPersonnelUnguided
00510 {
00511    Dt7_62mm = 2
00512 };
00513 
00514 enum DtMunitionUSBattlefieldSupportUnguided
00515 {
00516    DtBattlefield20mm  = 1,
00517    DtBattlefield30mm  = 3,
00518    DtBattlefield105mm = 10,
00519    DtBattlefield120mm = 11
00520 };  
00521 
00522 enum DtMunitionUSBattlefieldSupportGuided
00523 {
00524    DtBGM109Tomahawk = 6
00525 };
00526 
00527 
00528 
00532 
00533 enum DtMunitionUSSRAntiAirGuided
00534 {
00535    DtAA3Anan      = 3,
00536    DtAA9Amos      = 9,
00537    DtSA2Guideline = 14,
00538    DtSA3Goa       = 15,
00539    DtSA4Ganef     = 16,
00540    DtSA6Gainful   = 18,
00541    DtSA7Grail     = 19,
00542    DtSA8Gecko     = 20,
00543    DtSA9Gaskin    = 21,
00544    DtSA10Grumble  = 22
00545 };
00546 
00547 enum DtMunitionUSSRAntiPersonnelUnguided
00548 {
00549    Dt7_62mmUSSR = 2
00550 };
00551 
00553 enum DtMunitionUKAntiPersonnelUnguided
00554 {
00555    Dt7_62mmUK = 1
00556 };
00557 
00558 enum DtMunitionUKBattlefieldSupportUnguided
00559 {
00560    DtBattlefield105mmUK = 3
00561 };
00562 
00564 
00567 enum DtLifeFormLand
00568 {
00569    DtLifeformOther = 0,
00570    DtDismountedInfantry = 1,
00571    DtDismountedInfantryNonVisible = 2,
00572    DtCivilianUnarmed = 3,
00573    DtCivilianWithWeapons = 4,
00574    DtLifeFormAnimal = 5
00575 };
00576 
00577 enum DtNumberOfIndividualLifeForms
00578 {
00579    DtFireTeam  = 101,
00580    DtSquad     = 102,
00581    DtPlatoon   = 103,
00582    DtCompany   = 104,
00583    DtBattalion = 105,
00584    DtRegiment  = 106,
00585    DtDivision  = 107,
00586    DtCorps     = 108,
00587    DtArmy      = 109
00588 };
00590 
00592 enum DtEnvironmentalAir 
00593 {
00594    DtEnvironmentalDomainAirOther = 0,
00595    DtSmoke                       = 1,
00596    DtFog                         = 2,
00597    DtCloud                       = 3,
00598    DtCloudWithRainFalling        = 4,
00599    DtCloudWithSnowFalling        = 5
00600 };
00601 
00603 enum DtCulturalFeatureLand
00604 {
00605    DtBridgeConcreteTwoLane = 1,
00606    DtBuildingOneStory      = 7,
00607    DtBuildingTwoStory      = 8,
00608    DtBuildingThreeStory    = 9,
00609    DtBuildingFourStory     = 10,
00610    DtDragonsTeeth          = 20
00611 };
00612 
00614 enum DtSupplyCategories
00615 {
00616    DtSupplyOther      = 0,
00617    DtSupplyFuels      = 1,
00618    DtSupplyOils       = 2,
00619    DtSupplyLubricants = 3,
00620    DtSupplyFood       = 4,
00621    DtSupplySpareParts = 5,
00622    DtSupplyPersonnel  = 6
00623 };
00624 
00626 enum DtSizeQualifier
00627 {
00628    DtOther     = 0,
00629    DtVerySmall = 20,
00630    DtSmall     = 40,
00631    DtMedium    = 60,
00632    DtLarge     = 80,
00633    DtVeryLarge = 100    
00634 };
00635 
00636 
00637 #define DtSameEntityKind(a,b)                          \
00638    ((a)->DtEntityKind  == (b)->DtEntityKind &&         \
00639    (a)->DtDomain      == (b)->DtDomain &&              \
00640    (a)->DtCountry     == (b)->DtCountry &&             \
00641    (a)->DtCategory    == (b)->DtCategory &&            \
00642    (a)->DtSubCategory == (b)->DtSubCategory &&         \
00643    (a)->DtSpecific    == (b)->DtSpecific &&            \
00644    (a)->DtExtra       == (b)->DtExtra)
00645 
00646 #define DtIsLandPlatform(a)                            \
00647    ((a)->DtEntityKind == DtPlatform &&                 \
00648    (a)->DtDomain == DtPlatformDomainLand)
00649 
00650 #define DtIsLandLifeForm(a)                            \
00651    ((a)->DtEntityKind == DtLifeForm &&                 \
00652    (a)->DtDomain == DtLifeFormDomainLand)
00653 
00654 #define DtIsAirPlatform(a)                             \
00655    ((a)->DtEntityKind == DtPlatform &&                 \
00656    (a)->DtDomain == DtPlatformDomainAir)
00657 
00658 #define DtIsTank(a)                                    \
00659    (DtIsLandPlatform(a) && (a)->DtCategory == DtTank)
00660 
00661 #define DtIsRotaryWing(a)                              \
00662    (DtIsAirPlatform(a) &&                              \
00663    (a)->DtCategory >= 20 &&                          \
00664    (a)->DtCategory < 30)
00665 
00666 #define DtIsFixedWing(a)                               \
00667    (DtIsAirPlatform(a) &&                              \
00668    (!DtIsRotaryWing(a)))
00669 
00670 
00671 #define antiPersonell 8
00672 
00673 
00674 #define DtEntityIsAntiPersonnel(a) \
00675    (((a)->DtEntityKind == DtMunition) && ((a)->DtDomain == antiPersonell))
00676 
00677 #endif 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)