VR-Link API Documentation for HLA 1.3
hCollideInter.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 hCollideInter_H_
00008 #define hCollideInter_H_
00009 
00010 #if DtHLA 
00011 
00012 #include "hIntWEncDec.h"
00013 #include "hostStructs.h"
00014 #include "eventId.h"
00015 #include <matrix/vlMath.h>
00016 
00017 
00018 
00022 
00023 class DT_DLL_VL DtCollisionInteraction;
00024 class DT_DLL_VL DtExerciseConn;
00025 
00026 
00028 typedef void (*DtCollisionInteractionCb)
00029    (DtCollisionInteraction* inter, void* usr);
00030 
00031 
00035 class DT_DLL_VL DtCollisionInteraction : public DtInteractionWithEncDec
00036 {
00037 public:
00038 
00040    DtCollisionInteraction();
00041 
00043    virtual ~DtCollisionInteraction();
00044 
00046    DtCollisionInteraction(const DtCollisionInteraction& orig);
00047 
00049    DtCollisionInteraction& operator=(const DtCollisionInteraction& orig);
00050 
00052    virtual void printData() const;
00053 
00055    virtual void printDataToStream(std::ostream& stream) const;
00056 
00058    virtual void setIssueId(const DtGlobalObjectDesignator& id);
00059    virtual const DtGlobalObjectDesignator& issueId() const;
00060 
00062    virtual void setCollideId(const DtGlobalObjectDesignator& id);
00063    virtual const DtGlobalObjectDesignator& collideId() const;
00064 
00066    virtual void setEventId(const DtEventID& id);
00067    virtual const DtEventID& eventId() const;
00068 
00070    virtual void setCollisionType(DtCollisionType t);
00071    virtual DtCollisionType collisionType() const;
00072 
00074    virtual void setVelocity(const DtVector& veloc);
00075    virtual const DtVector& velocity() const;
00076 
00078    virtual void setMass(DtFloat32 mass);
00079    virtual DtFloat32 mass() const;
00080 
00082    virtual void setEntityCoords(const DtVector& coords);
00083    virtual const DtVector& entityCoords() const;
00084 
00086    virtual const char* name() const;
00087 
00088 public:
00089 
00092    static DtInteraction* create();
00093 
00096    static void addCallback(DtExerciseConn* conn,
00097       DtCollisionInteractionCb cb, void* usr, 
00098       DtDDMRegionSP region = DtDDMRegionSP());
00099    static void removeCallback(DtExerciseConn* conn,
00100       DtCollisionInteractionCb cb, void* usr, 
00101       DtDDMRegionSP region = DtDDMRegionSP());
00102 
00103 protected:
00104 
00105    DtGlobalObjectDesignator myIssueId;
00106    DtGlobalObjectDesignator myCollideId;
00107    DtEventID myEventId;
00108    DtCollisionType myCollisionType;
00109    DtVector myVelocity;
00110    DtFloat32 myMass;
00111    DtVector myEntityCoords;
00112 };
00113 
00114 #endif
00115 #endif
00116 

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)