VR-Link API Documentation for HLA 1516
tCollideInter.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 tCollideInter_H_
00008 #define tCollideInter_H_
00009 
00010 #if DtTENA
00011 
00012 #include "tInteraction.h"
00013 #include <vlpi/entityIdentifier.h>
00014 #include "globalObjDes.h"
00015 #include "eventId.h"
00016 
00017 #include <DCT/Utils/SmartPtr.h>
00018 #include <TENA/Middleware/Callback/Callback.h>
00019 
00023 
00024 class DT_DLL_VL DtCollisionInteraction;
00025 
00027 typedef void (*DtCollisionInteractionCb)(DtCollisionInteraction* inter, void* usr);
00028 
00029 
00030 
00034 class DT_DLL_VL DtCollisionInteraction : public DtInteraction
00035 {
00036 public:
00038    DtCollisionInteraction();
00039 
00041    virtual ~DtCollisionInteraction();
00042 
00044    DtCollisionInteraction(const DtCollisionInteraction& orig);
00045 
00047    DtCollisionInteraction& operator=(const DtCollisionInteraction& orig);
00048 
00050    virtual void setIssueId(const DtGlobalObjectDesignator& id);
00051    
00053    virtual const DtGlobalObjectDesignator& issueId() const;
00054 
00056    virtual void setCollideId(const DtGlobalObjectDesignator& id);
00057    
00059    virtual const DtGlobalObjectDesignator& collideId() const;
00060 
00062    virtual void setEventId(const DtEventID& id);
00063    
00065    virtual const DtEventID& eventId() const;
00066 
00068    virtual void setCollisionType(DtCollisionType t);
00069    
00071    virtual DtCollisionType collisionType() const;
00072 
00074    virtual void setVelocity(const DtVector& veloc);
00075    
00077    virtual const DtVector& velocity() const;
00078 
00080    virtual void setMass(DtFloat32 mass);
00081    
00083    virtual DtFloat32 mass() const;
00084 
00086    virtual void setEntityCoords(const DtVector& coords);
00087    
00089    virtual const DtVector& entityCoords() const;
00090 
00092    virtual const char* name() const;
00093 
00095    virtual void printData() const;
00096    
00098    virtual void printDataToStream(std::ostream& stream) const;
00099 
00100 public:
00101 
00104    static DtInteraction* create();
00105 
00108    static void addCallback(DtExerciseConn* conn,
00109       DtCollisionInteractionCb cb, void* usr);
00110    static void removeCallback(DtExerciseConn* conn,
00111       DtCollisionInteractionCb cb, void* usr);
00112 
00113 protected:
00114    DtGlobalObjectDesignator myIssueId;
00115    DtGlobalObjectDesignator myCollideId;
00116    DtEventID myEventId;
00117    DtCollisionType myCollisionType;
00118    DtVector myVelocity;
00119    DtFloat32 myMass;
00120    DtVector myEntityCoords;
00121 };
00122 
00123 #endif
00124 #endif
00125 
00126 
00127 

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)