VR-Exchange 2.9 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pCollisionInter.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portal/pInteraction.h>
13 
14 namespace MAKVrExchange
15 {
16 
17  class DtPortalConnection;
18 
22  : public DtPortalInteraction
23  {
24  public:
25 
27  typedef void (*functionCallback_type) (
28  const DtPortalCollisionInteraction& interaction, void* userData );
29 
32 
35 
38 
41 
43  static void addCallback( DtPortalConnection* connection,
44  functionCallback_type callbackFunction, void* userData );
45 
47  static void removeCallback( DtPortalConnection* connection,
48  functionCallback_type callbackFunction, void* userData );
49 
52 
53  DtDEC_ATTRIBUTE( DtString, CollidingObjectIdentifier, collidingObjectIdentifier );
54  DtDEC_ATTRIBUTE( DtFloat64, IssuingObjectMass, issuingObjectMass );
55  DtDEC_ATTRIBUTE( DtVector, IssuingObjectVelocityVector, issuingObjectVelocityVector );
56  DtDEC_ATTRIBUTE( DtU32, CollisionType, collisionType );
57  DtDEC_ATTRIBUTE( DtVector, CollisionLocation, collisionLocation );
58  DtDEC_ATTRIBUTE( DtString, EventIdentifier, eventIdentifier );
59  DtDEC_ATTRIBUTE( DtString, IssuingObjectIdentifier, issuingObjectIdentifier );
60 
62 
64  public:
65 
67 
68  static DtPortalMessage* create();
69 
70  virtual unsigned int netSize() const;
71  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
72  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
73 
74  virtual std::ostream& printDataToStream( std::ostream& str ) const;
75 
76  };
77 
78 
80  {
81  return new DtPortalCollisionInteraction();
82  }
83 
84 }
static DtPortalMessage * create()
Definition: pCollisionInter.h:79
#define DT_DLL_LIBPORTAL
Definition: include/portal/dllExport.h:20
#define DtDEC_ATTRIBUTE(T, N, n)
A Macro to define an attribute; as well as make an accessor and mutator for that attribute.
Definition: addAttribute.h:49
The base class for all messages passed through the portal.
Definition: pMessage.h:66
Contains the DtPortalInteraction class declaration.
DtPortalInteractions are a special type of DtPortalMessages which are used to transmit simulation dat...
Definition: pInteraction.h:21
static const DtPortalMessageKind theKind
NOTE: DtDEC_ATTRIBUTE resets the access specifier to protected.
Definition: pCollisionInter.h:66
Portal Collision Interaction class.
Definition: pCollisionInter.h:21
Connects a broker to the Portal Data Exchange.
Definition: pConnection.h:49
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23

Document ID: Generated on Tue Jun 25 16:45:35 EDT 2024 from SVN revision 267383
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)