VR-Link API Documentation for HLA Evolved
hFireInter.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef hFireInter_H_
00007 #define hFireInter_H_
00008 
00012 
00013 #if DtHLA 
00014 
00015 
00016 #include "hIntWEncDec.h"
00017 #include "hostStructs.h"
00018 #include "eventId.h"
00019 
00020 
00021 
00022 class DT_DLL_VL DtFireInteraction;
00023 class DT_DLL_VL DtExerciseConn;
00024 
00025 
00026 
00028 typedef void (*DtFireInteractionCb)(DtFireInteraction* inter, void* usr);
00029 
00035 class DT_DLL_VL DtFireInteraction : public DtInteractionWithEncDec
00036 {
00037 public:
00038 
00040    DtFireInteraction();
00041 
00043    virtual ~DtFireInteraction();
00044 
00046    DtFireInteraction(const DtFireInteraction& orig);
00047 
00049    DtFireInteraction& operator=(const DtFireInteraction& orig);
00050 
00052    virtual void printData() const;
00053 
00055    virtual void printDataToStream(std::ostream& stream) const;
00056 
00058    virtual void printDataToString(DtString& buffer) const;
00059 
00061    virtual void setAttackerId(const DtGlobalObjectDesignator& id);
00062    virtual const DtGlobalObjectDesignator& attackerId() const;
00063 
00065    virtual void setTargetId(const DtGlobalObjectDesignator& id);
00066    virtual const DtGlobalObjectDesignator& targetId() const;
00067 
00069    virtual void setMunitionId(const DtGlobalObjectDesignator& id);
00070    virtual const DtGlobalObjectDesignator& munitionId() const;
00071 
00073    virtual void setEventId(const DtEventID& id);
00074    virtual const DtEventID& eventId() const;
00075 
00077    virtual void setFireMissionIndex(unsigned long i);
00078    virtual unsigned long fireMissionIndex() const;
00079 
00081    virtual void setLocation(const DtVector& location);
00082    virtual const DtVector& location() const;
00083 
00085    virtual void setVelocity(const DtVector& velocity);
00086    virtual const DtVector& velocity() const;
00087 
00089    virtual void setRange(double range);
00090    virtual double range() const;
00091 
00093    virtual void setFuseType(DtDetonatorFuze f);
00094    virtual DtDetonatorFuze fuseType() const;
00095 
00097    virtual void setMunitionType(const DtEntityType& t);
00098    virtual const DtEntityType& munitionType() const;
00099 
00101    virtual void setQuantity(int q);
00102    virtual int quantity() const;
00103 
00105    virtual void setRate(int r);
00106    virtual int rate() const;
00107 
00109    virtual void setWarheadType(DtWarheadType t);
00110    virtual DtWarheadType warheadType() const;
00111 
00113    virtual const char* name() const;
00114 
00115 public:
00116 
00119    static DtInteraction* create();
00120 
00123    static void addCallback(DtExerciseConn* conn,
00124       DtFireInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
00125    static void removeCallback(DtExerciseConn* conn,
00126       DtFireInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
00127 
00128 protected:
00129 
00130    DtGlobalObjectDesignator myAttackerId;
00131    DtGlobalObjectDesignator myTargetId;
00132    DtGlobalObjectDesignator myMunitionId;
00133    DtEventID myEventId;
00134    unsigned long myFireMissionIndex;
00135    DtVector myLocation;
00136    DtVector myVelocity;
00137    double myRange;
00138    DtDetonatorFuze myFuseType;
00139    DtEntityType myMunitionType;
00140    int myQuantity;
00141    int myRate;
00142    DtWarheadType myWarheadType;
00143 };
00144 
00145 #endif
00146 #endif
00147 
00148 

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)