VR-Link API Documentation for HLA 1.3
collidePdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef _COLLPDU_H_  
00007 #define _COLLPDU_H_ 1
00008  
00012 
00013 #if DtDIS
00014     
00015 
00016 #include "hostStructs.h"
00017 #include "interaction.h"
00018 #include "packets/collisionP.h"
00019 #include <matrix/vlMath.h>
00020 #include "exerciseConn.h"
00021 #include <vlpi/disEnums.h>
00022 
00023 const int DtCollisionStaticSize = 60;
00024 class DT_DLL_VL DtCollisionPdu;
00025 typedef DtCollisionPdu DtCollisionInteraction;
00026 typedef void (*DtCollisionInteractionCb)
00027    (DtCollisionInteraction *inter, void *usr);
00028     
00029 class DT_DLL_VL DtCollisionPdu : public DtInteraction
00030 {     
00031 public:  
00032 
00033 //******************* STANDARD CONSTRUCTORS ****************
00034    
00035    DtCollisionPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 
00036    DtCollisionPdu(const DtNetCollisionPdu *initial, 
00037                   DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00038         
00039    static DtPdu *create(const DtNetPacket *initial, 
00040                         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00041    
00042    static void addCallback(DtExerciseConn *conn, 
00043             DtCollisionInteractionCb cb, void *usr);
00044    static void removeCallback(DtExerciseConn *conn, 
00045                DtCollisionInteractionCb cb, void *usr);
00046    
00047 //****************** INSPECTOR FUNCTIONS *******************
00048 
00049     const DtEntityIdentifier &issueId() const;
00050     const DtEntityIdentifier &collideId() const;
00051     const DtEventID &eventId() const;
00052    
00053     DtCollisionType collisionType() const;
00054   
00055     const DtVector& velocity() const;
00056     DtFloat32 mass() const;
00057     const DtVector& entityCoords() const;
00058 
00059 //****************** MUTATOR FUNCTIONS *******************
00060 
00061     void setIssueId(const DtEntityIdentifier &id);
00062     void setCollideId(const DtEntityIdentifier &id);
00063     void setEventId(const DtEventID &id);
00064  
00065     void setCollisionType(DtCollisionType t);
00066   
00067     void setVelocity(const DtVector& veloc);
00068     void setMass(DtFloat32 mass);
00069     void setEntityCoords(const DtVector& coords);
00070 
00071     virtual void printData() const;    
00072     virtual void printDataToStream(std::ostream& stream) const;
00073 
00074   protected:
00075     DtPduKind internalGetPduKind() const {return DtCollisionPduKind;}
00076     DtEntityIdentifier iss;
00077     DtEntityIdentifier col;
00078     DtEventID event;
00079     DtVector vel, ent;
00080 }; 
00081 
00082 #endif
00083 #endif
00084 

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)