VR-Vantage 1.4.1 API Class Documentation
vrfExtensions.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfExtensions.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 // Extensions applied to basic state repositories
00010 
00011 #ifndef VRFEXTENSIONS_H
00012 #define VRFEXTENSIONS_H
00013 
00014 #include <vlutil/vlString.h>
00015 
00016 #include <vrfExtObjects/vrfExtObjectsDefines.h>
00017 #include <vrfExtProtocol/rangeItem.h>
00018 
00019 class DtIfVrfObjectData;
00020 class DtObjectType;
00021 class DtVector;
00022 
00023 class DT_DLL_vrfExtObjects DtVrfExtensions
00024 {
00025 public:
00026    // Constructor
00027    DtVrfExtensions();
00028 
00029    virtual ~DtVrfExtensions();
00030 
00031    // copy constructor
00032    DtVrfExtensions(const DtVrfExtensions& orig);
00033 
00034    // assignment operator
00035    DtVrfExtensions& operator=(const DtVrfExtensions& orig);
00036 
00037    virtual const DtString& name() const;
00038    virtual void setName(const DtString& n);
00039 
00040    virtual const DtString& vrfObjectLabel() const;
00041    virtual void setVrfObjectLabel(const DtString& l);
00042 
00043    virtual const DtString& echelonId() const;
00044    virtual void setEchelonId(const DtString& l);
00045 
00046    virtual const DtString& overlayParent() const;
00047    virtual void setOverlayParent(const DtString& l);
00048 
00049    virtual bool isVrfSimulated() const;
00050    virtual void setIsVrfSimulated(bool vrf);
00051 
00052    virtual DtU32 vrfSessionId() const;
00053    virtual void setVrfSessionId(DtU32 id);
00054 
00055    virtual void setVrfMessageVersionSupported(DtU32 id);
00056    virtual DtU32 vrfMessageVersionSupported() const;
00057 
00058    virtual void setObjectType(const DtObjectType&);
00059    virtual const DtObjectType& objectType() const;
00060 
00061    virtual void setIsSubordinateOfForce(bool b);
00062    virtual bool isSubordinateOfForce() const;
00063 
00064    // Independently tasked status (individual entities and aggregates
00065    // only).  Default is false.
00066    // @{
00067    virtual void setIndependentlyTasked(bool yesNo);
00068    virtual bool independentlyTasked() const;
00069    // @}
00070    
00071    virtual int superType() const;
00072 
00073    // Under fire status (individual entities and aggregates
00074    // only).  Default is false.
00075    // @{
00076    virtual void setUnderFire(bool yesNo);
00077    virtual bool underFire() const;
00078    // @}
00079 
00080    virtual void setHasPlan(bool yesNo);
00081    virtual bool hasPlan() const;
00082 
00083    // Indicates whether the entity is executing a plan.
00085    virtual void setExecutingPlan(bool yesNo);
00086    virtual bool executingPlan() const;
00088 
00089    virtual void setIsCurrentlyTasked(bool yesNo);
00090    virtual bool isCurrentlyTasked() const;
00091 
00092    virtual void setRulesOfEngagement(const DtString&);
00093    virtual const DtString& rulesOfEngagement() const;
00094 
00095    // Sets up internal information based on session id and vrf object data.  Returns true if
00096    // anything has changed due to the new setting of information
00097    virtual bool setupFromVrfObjectData(const DtIfVrfObjectData& data);
00098 
00100    //{@
00101    virtual void addRangeItem(const DtRangeItem&);
00102    virtual void removeRangeItem(int index);
00103    virtual void setRangeItems(const DtRangeItems&);
00104    const DtRangeItems& rangeItems() const;
00106 
00110    virtual void setBoundingVolume(const DtVector&);
00111    virtual const DtVector& boundingVolume() const;
00112 
00113    virtual void setBoundingVolumeOffset(const DtVector&);
00114    virtual const DtVector& boundingVolumeOffset() const;
00116 
00117 public:
00118    // createVrfObjectDataMessage()
00119    // allocates myVrfObjectDataMessage, a DtIfVrfObjectData
00120    // used by VR-Forces as extended vrf object data message information
00121    virtual bool createVrfObjectDataMessage();
00122 
00123    // vrfObjectDataMessage()
00124    // returns the myVrfObjectDataMessage for inspection by
00125    // the caller.  If myVrfObjectDataMessage is NULL, it is created.
00126    virtual DtIfVrfObjectData* vrfObjectDataMessage() const;
00127 
00128 protected:
00129    // Used internally to signal that this structure has been modified.  By default does nothing
00130    virtual void extensionModified();
00131 
00132 protected:
00133    DtString myName;
00134    DtIfVrfObjectData* myVrfObjectDataMessage;
00135 };
00136 
00137 #endif
00138 


Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)