VR-Link API Documentation for HLA 1516
hypSpaceRegion.h
Go to the documentation of this file.
00001 //********************************************************************
00002 // Copyright (c) 2005 MaK Technologies, Inc.
00003 // All rights reserved.
00004 //********************************************************************
00005 #pragma once
00006 
00007 #include <vl/region.h>
00008 #include "enumNorm.h"
00009 #include <vlutil/vlSmartPointers.h>
00010 
00011 // Enumerations for subspaces
00012 enum DtSubspaceType
00013 {
00014    DtClutterControlSpace = 0,
00015    DtClutterIntersectSpace = 0,
00016    DtBlueAirSpace = 1,
00017    DtRedAirSpace = 2,
00018    DtGreenAirSpace = 3,
00019    DtBlueSeaSpace = 4,
00020    DtRedSeaSpace = 5,
00021    DtGreenSeaSpace = 6,
00022    DtBlueGroundSpace = 7,
00023    DtRedGroundSpace = 8,
00024    DtGreenGroundSpace = 9,
00025    DtHumanSpace = 10,
00026    DtRedHumanSpace = 10,
00027    DtBlueHumanSpace = 10,
00028    DtGreenHumanSpace = 10,
00029    DtTrackSpace = 11,
00030    DtTrackModificationSpace = 12,
00031    DtFireSpace = 13,
00032    DtDetonationSpace = 14,
00033    DtLaserSpace = 15,
00034    DtEmissionSpace = 16,
00035    DtIffSpace = 17,
00036    DtEngineeringSpace = 18,
00037    DtRadioSpace = 19,
00038    DtSensorFootprintSpace = 20,
00039    DtSensorDetectionSpace = 21,
00040    DtContactReportSpace = 22,
00041    DtAmbientEnvironmentSpace = 23,
00042    DtLocalEnvironmentSpace = 24,
00043    DtPersistentObjectSpace = 25,
00044    DtMissionStatusSpace = 26,
00045    DtSigsSpace = 27,
00046    DtFedstateSpace = 27,
00047    DtDamageAssessmentSpace = 28,
00048    DtDataLinkSpace = 29,
00049    DtWarconSpace = 30,
00050    DtTargetSpace = 30,
00051    DtJdlmSpace = 31
00052 };
00053 
00054 
00055 template <int SubspaceType, typename DimensionType>
00056 class DtHyperspaceRegion : public DimensionType
00057 {
00058    public:
00059       DtHyperspaceRegion(DtExerciseConn* exConn);
00060 
00061       int subSpaceType() const;
00062 
00063    protected:
00064       unsigned long normalizeSubspaceType();
00065 
00066       int mySubSpaceType;
00067       DtEnumNormalizer myNormalizer;
00068 };
00069 
00070 template <int SubspaceType, typename DimensionType> inline
00071 DtHyperspaceRegion<SubspaceType, DimensionType>::DtHyperspaceRegion(
00072    DtExerciseConn* exConn) :
00073    DimensionType(exConn),
00074    mySubSpaceType(SubspaceType),
00075    myNormalizer(0, 30)
00076 {
00077    myNormalizer.setEnumValue(mySubSpaceType);
00078    unsigned long normalizedSubspace = myNormalizer.normalize();
00079    DtDDMRegion::setUpperBound("subspace", normalizedSubspace);
00080    DtDDMRegion::setLowerBound("subspace", normalizedSubspace);
00081 }
00082 
00083 template <int SubspaceType, typename DimensionType> inline int
00084 DtHyperspaceRegion<SubspaceType, DimensionType>::subSpaceType() const
00085 {
00086    return mySubSpaceType;
00087 }
00088 
00089 
00090 

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)