VR-Link API Documentation for HLA Evolved
hDetInter.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #ifndef hDetInter_H_
00008 #define hDetInter_H_
00009 
00010 #if DtHLA 
00011 
00012 
00013 #include "hIntWEncDec.h"
00014 #include "hostStructs.h"
00015 #include "eventId.h"
00016 
00017 #include <vlpi/articulatedPartCollection.h>
00018 
00022 
00023 class DtExerciseConn;
00024 class DtDetonationInteraction;
00025 class DtFireInteraction;
00026 
00027 
00028 
00030 typedef void (*DtDetonationInteractionCb) (DtDetonationInteraction* inter, 
00031    void* usr);
00032 
00037 class DT_DLL_VL DtDetonationInteraction : public DtInteractionWithEncDec
00038 {
00039 public:
00040 
00042    DtDetonationInteraction();
00043 
00046    DtDetonationInteraction(const DtFireInteraction& fire);
00047 
00049    virtual ~DtDetonationInteraction();
00050 
00052    DtDetonationInteraction(const DtDetonationInteraction& orig);
00053 
00055    DtDetonationInteraction& operator=(const DtDetonationInteraction& orig);
00056 
00058    virtual void printData() const;
00059    virtual void printDataToString(DtString& str) const;
00060 
00062    virtual void printDataToStream(std::ostream& stream) const;
00063 
00065    virtual void setAttackerId(const DtGlobalObjectDesignator& id);
00066    virtual const DtGlobalObjectDesignator& attackerId() const;
00067 
00069    virtual void setTargetId(const DtGlobalObjectDesignator& id);
00070    virtual const DtGlobalObjectDesignator& targetId() const;
00071 
00073    virtual void setMunitionId(const DtGlobalObjectDesignator& id);
00074    virtual const DtGlobalObjectDesignator& munitionId() const;
00075 
00077    virtual void setEventId(const DtEventID& id);
00078    virtual const DtEventID& eventId() const;
00079 
00081    virtual void setVelocity(const DtVector& velocity);
00082    virtual const DtVector& velocity() const;
00083 
00085    virtual void setWorldLocation(const DtVector& location);
00086    virtual const DtVector& worldLocation() const;
00087 
00089    virtual void setEntityLocation(const DtVector& location);
00090    virtual const DtVector& entityLocation() const;
00091 
00093    virtual void setResult(DtDetonationResult result);
00094    virtual DtDetonationResult result() const;
00095 
00097    virtual void setFuseType(DtDetonatorFuze fuse);
00098    virtual DtDetonatorFuze fuseType() const;
00099 
00101    virtual void setMunitionType(const DtEntityType& munType);
00102    virtual const DtEntityType& munitionType() const;
00103 
00105    virtual void setQuantity(int quant);
00106    virtual int quantity() const;
00107 
00109    virtual void setRate(int rate);
00110    virtual int rate() const;
00111 
00113    virtual void setWarheadType(DtWarheadType type);
00114    virtual DtWarheadType warheadType() const;
00115 
00117 
00118 
00119 
00120 
00121    virtual DtArticulatedPartCollection* artPartList();
00122    virtual const DtArticulatedPartCollection* artPartList() const;
00124 
00126 
00127    virtual void setArticulatedParts(const DtArticulatedPartCollection& apList);
00128    const DtArticulatedPartCollection& articulatedParts() const;
00130 
00132    virtual const char* name() const;
00133 
00134 public:
00135 
00138    static DtInteraction* create();
00139 
00142    static void addCallback(DtExerciseConn* conn,
00143       DtDetonationInteractionCb cb, void* usr,
00144       DtDDMRegionSP region = DtDDMRegionSP());
00145    static void removeCallback(DtExerciseConn* conn,
00146       DtDetonationInteractionCb cb, void* usr,
00147       DtDDMRegionSP region = DtDDMRegionSP());
00148 
00149 protected:
00150 
00151    DtVector myWorldLocation;
00152    DtDetonationResult myResult;
00153    DtEventID myEventId;
00154    DtGlobalObjectDesignator myAttackerId;
00155    DtVector myVelocity;
00156    DtDetonatorFuze myFuseType;
00157    DtGlobalObjectDesignator myMunitionId;
00158    DtEntityType myMunitionType;
00159    int myQuantity;
00160    int myRate;
00161    DtVector myEntityLocation;
00162    DtGlobalObjectDesignator myTargetId;
00163    DtWarheadType myWarheadType;
00164    DtArticulatedPartCollection myPartList;
00165 };
00166 
00167 #endif
00168 #endif
00169  
00170 

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)