VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfExtProtocol
objTypeEnums.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1999 MAK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: objTypeEnums.h,v $ $Revision: 1.12 $ $State: Exp $
7
*********************************************************************/
8
9
#ifndef DtObjectTypeEnumerations_H_
10
#define DtObjectTypeEnumerations_H_
11
12
// DtObjectTypeEnumerations:
13
//
14
// This header file contains the extensions to the RPR/DIS enumeration,
15
// and are used to specify entity types. It contains enumerations to be
16
// used to specify individual, aggregate, and non-entity object types.
17
18
#include <vlpi/EntityTypes.h>
19
20
// The sim object super type an enumeration used in the DtObjectType
21
// class (an extension of the DtEntityType class). It extends the DIS/RPR
22
// entity type enumeration by specifying the sort of object associated with
23
// the DtEntityType. Because entity types are not guaranteed to be unqiue
24
// across all of the possible individual and aggregate types, the extra
25
// enumerated field provides a way to uniquely identify all objects
26
// in a VR-Forces simulation.
27
28
enum
DtObjectSuperType
29
{
30
DtObjectTypeOther
= 0,
31
DtObjectTypeIndividual
= 1,
32
DtObjectTypeAggregate
= 2,
33
DtObjectTypePseudoAggregate
= 3,
34
DtObjectTypeTrueAggregate
= 4,
35
DtObjectTypeInteraction
= 5
36
};
37
38
// This is a deviation from the document "Enumerations and Bit-Encoded Values
39
// for Use with Protocols for Distributed Interactive Simulation", IST-CF-99-01.
40
// The enumeration for DtAggregateKind should start with 0, but I am starting with
41
// 10, to ensure that entity types will be unique.
42
// enum DtAggregateKind
43
// {
44
// DtAggregateKindOther = 0,
45
// DtAggregateKindMilitaryHierarchy = 1,
46
// DtAggregateKindCommonType = 2,
47
// DtAggregateKindCommonMission = 3,
48
// DtAggregateKindSimilarCapabilities = 4,
49
// DtAggregateKindCommonLocation = 5
50
//};
51
const
DtEntityKind
DtAggregateKindOther
= DtEntityKind(10);
52
const
DtEntityKind
DtAggregateKindMilitaryHierarchy
= DtEntityKind(11);
53
const
DtEntityKind
DtAggregateKindCommonType
= DtEntityKind(12);
54
const
DtEntityKind
DtAggregateKindCommonMission
= DtEntityKind(13);
55
const
DtEntityKind
DtAggregateKindSimilarCapabilities
= DtEntityKind(14);
56
const
DtEntityKind
DtAggregateKindCommonLocation
= DtEntityKind(15);
57
const
DtEntityKind
DtSimArtPartKind
= DtEntityKind(20);
58
59
// Extension of entity kind to represent non-entity objects, such as
60
// control objects (control points, routes, phase lines, obstacles, etc.)
61
const
DtEntityKind
DtPointObjectKind
= DtEntityKind(16);
62
const
DtEntityKind
DtLinearObjectKind
= DtEntityKind(17);
63
const
DtEntityKind
DtArealObjectKind
= DtEntityKind(18);
64
const
DtEntityKind
DtCircleObjectKind
= DtEntityKind(19);
65
const
DtEntityKind
DtTextObjectKind
= DtEntityKind(20);
66
const
DtEntityKind
DtWeatherObjectKind
= DtEntityKind(21);
67
68
// Extension of entity kind to represent remote graphic objects.
69
const
DtEntityKind
Dt2DGraphicalObjectKind
= DtEntityKind(22);
70
const
DtEntityKind
Dt3DGraphicalObjectKind
= DtEntityKind(23);
71
72
// The Domain and Country field enumerations are the same as used for Entity Type.
73
74
// The Category field enumerations for Kind-field = Military Hierarchy specify
75
// the Echelon Level of the aggregate, and are enumerated as follows:
76
// Kind Domain Country Cat Scat Specific
77
// 1 1 225
78
// KRO - I have extended the enumeration to include DtAggregateCategoryForce,
79
// which represents the force level (i.e. friendly, opposing, neutral).
80
// All of the entries after (and including DtAggregateCategoryForce) are
81
// extensions to the standard.
82
83
enum
DtAggregateCategory
84
{
85
DtAggregateCategoryOther
= 0,
86
DtAggregateCategoryIndividualVehicle
= 1,
87
DtAggregateCategoryElement
= 2,
88
DtAggregateCategoryPlatoon
= 3,
89
DtAggregateCategoryBattery
= 4,
90
DtAggregateCategoryCompany
= 5,
91
DtAggregateCategoryBattalion
= 6,
92
DtAggregateCategoryRegiment
= 7,
93
DtAggregateCategoryBrigade
= 8,
94
DtAggregateCategoryDivision
= 9,
95
DtAggregateCategoryCorps
= 10,
96
DtAggregateCategoryForce
= 11,
97
DtAggregateCategoryTeam
= 12,
98
DtAggregateCategorySquad
= 13,
99
DtAggregateCategorySection
= 14
100
};
101
102
// The Subcategory field enumerations for Kind field = Military Hierarchy
103
// specify the Echelon Type of the aggregate, and are enumerated as follows.
104
// Not all of the following echelon types are applicable to each of the above
105
// enumerated Categories.
106
107
// Kind Domain Country Cat Scat Specific
108
// 1 1 225
109
// KRO - I have extended the enumeration to include entries for
110
// DtAggregateCategoryForce, consisting of DtAggregateSubcategoryForceFriendly,
111
// DtAggregateSubcategoryForceOpposing, DtAggregateSubcategoryForceNeutral,
112
// and DtAggregateSubcategoryForceOther.
113
enum
DtAggregateSubcategory
114
{
115
DtAggregateSubcategoryOther
= 0,
116
DtAggregateSubcategoryCavalryTroop
= 1,
117
DtAggregateSubcategoryArmor
= 2,
118
DtAggregateSubcategoryInfantry
= 3,
119
DtAggregateSubcategoryMechanizedInfantry
= 4,
120
DtAggregateSubcategoryCavalry
= 5,
121
DtAggregateSubcategoryArmoredCavalry
= 6,
122
DtAggregateSubcategoryArtillery
= 7,
123
DtAggregateSubcategorySelfPropelledArtillery
= 8,
124
DtAggregateSubcategoryCloseAirSupport
= 9,
125
DtAggregateSubcategoryEngineer
= 10,
126
DtAggregateSubcategoryAirDefenseArtillery
= 11,
127
DtAggregateSubcategoryAntiTank
= 12,
128
DtAggregateSubcategoryArmyAviationFixedWing
= 13,
129
DtAggregateSubcategoryArmyAviationRotaryWing
= 14,
130
DtAggregateSubcategoryArmyAttackHelicopter
= 15,
131
DtAggregateSubcategoryAirCavalry
= 16,
132
DtAggregateSubcategoryArmorHeavyTaskForce
= 17,
133
DtAggregateSubcategoryMotorizedRifle
= 18,
134
DtAggregateSubcategoryMechanizedHeavyTaskForce
= 19,
135
DtAggregateSubcategoryCommandPost
= 20,
136
DtAggregateSubcategoryCEWI
= 21,
137
DtAggregateSubcategoryTankOnly
= 22,
138
DtAggregateSubcategoryForceFriendly
= 23,
139
DtAggregateSubcategoryForceOpposing
= 24,
140
DtAggregateSubcategoryForceNeutral
= 25,
141
DtAggregateSubcategoryForceOther
= 26,
142
DtAggregateSubcategoryCOLT
= 27,
143
DtAggregateSubcategorySurface
= 28,
144
DtAggregateSubcategorySubsurface
= 29,
145
DtAggregateSubcategoryRecon
= 30,
//MAS-BSVT
146
DtAggregateSubcategoryCombatServiceSupport
= 31
//MEM-BSVT
147
};
148
149
// The Specific field enumerations for Kind field = Military Hierarchy specify
150
// whether the aggregate unit contains a headquarters, and is enumerated as
151
// follows.
152
153
// Kind Domain Country Cat Scat Specific
154
// 1 1 225
155
156
enum
DtAggregateSpecific
157
{
158
DtAggregateSpecificNoheadquarters
= 0,
159
DtAggregateSpecificContainsHeadquarters
= 1
160
};
161
162
// Extended specific type for Dismounted Infantry aggregates.
163
enum
DtDismountedInfantryAggregateSpecific
164
{
165
DtDIAggSection
= 201
166
};
167
168
// Subcategories for use with the Kind field = DtPointObjectKind
169
enum
DtPointObjectCategory
170
{
171
DtPointObjectCategoryOther
= 0,
172
DtPointObjectCategoryControlPoint
= 1,
173
DtPointObjectCategoryTargetPoint
= 2,
174
DtPointObjectCategoryMarker
= 3
175
};
176
177
// Subcategories for use with the Kind field = DtLinearObjectKind
178
enum
DtLinearObjectCategory
179
{
180
DtLinearObjectCategoryOther
= 0,
181
DtLinearObjectCategoryPhaseLine
= 1,
182
DtLinearObjectCategoryRoute
= 2
183
};
184
185
// Subcategories for use with the Kind field = DtArealObjectKind
186
enum
DtArealObjectCategory
187
{
188
DtArealObjectCategoryOther
= 0,
189
DtArealObjectCategoryControlArea
= 1,
190
DtArealObjectCategoryObstacle
= 2,
191
DtArealObjectCategoryDisaggregationArea
= 3
192
};
193
194
//Kinds for Supertype interaction
195
enum
DtInteractionKind
196
{
197
DtInteractionKindOther
= 0,
198
DtInteractionKindFire
= 1,
199
DtInteractionKindDetonate
= 2
200
};
201
202
enum
DtLinearObjectRouteSubcategory
203
{
204
DtLinearObjectRouteSubcategoryOther
= 0,
205
DtLinearObjectRouteSubcategoryAggregateFormation
= 29,
206
DtLinearObjectRouteSubcategoryPathPlanning
= 30,
207
DtLinearObjectRouteSubcategoryEmbarkationPlanning
= 31,
208
DtLinearObjectRouteSubcategoryLandingPlanning
= 32
209
};
210
211
enum
DtWeatherObjectCategory
212
{
213
DtWeatherObjectCategoryOther
= 0,
214
DtWeatherObjectCategoryGlobal
= 1
215
};
216
217
// More categories are added for the Remote Graphics API
218
enum
Dt2DGraphicalObjectCategory
219
{
220
Dt2DGraphicalObjectCategoryOther
= 0,
221
Dt2DGraphicalObjectCategoryEllipse
= 1,
222
Dt2DGraphicalObjectCategoryLine
= 2,
223
Dt2DGraphicalObjectCategoryRectangle
= 3,
224
Dt2DGraphicalObjectCategoryText
= 4,
225
Dt2DGraphicalObjectCategoryTriangle
= 5
226
};
227
228
229
enum
Dt3DGraphicalObjectCategory
230
{
231
Dt3DGraphicalObjectCategoryOther
= 0,
232
Dt3DGraphicalObjectCategoryArea
= 1,
233
Dt3DGraphicalObjectCategoryCuboid
= 2,
234
Dt3DGraphicalObjectCategoryCylinder
= 3,
235
Dt3DGraphicalObjectCategoryEllipsoid
= 4,
236
Dt3DGraphicalObjectCategoryLine
= 5,
237
Dt3DGraphicalObjectCategoryText
= 6,
238
Dt3DGraphicalObjectCategoryAttributeGroup
= 7,
239
Dt3DGraphicalObjectCategoryAttributeGroupTemplate
= 8,
240
Dt3DGraphicalObjectCategoryAttributeTemplate
= 9
241
};
242
243
enum
Dt3DAttributeSubcategory
244
{
245
Dt3DAttributeSubcategoryOther
= 0,
246
Dt3DAttributeSubcategorySingleValue
= 1,
247
Dt3DAttributeSubcategoryBarGraph
= 2,
248
Dt3DAttributeSubcategoryXYPlot
= 3,
249
Dt3DAttributeSubcategoryBitmap
= 4
250
};
251
252
#endif
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)