VR-Exchange 2.9 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pBaseEntity.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/pObject.h>
13 #include <matrix/vlTaitBryan.h>
14 #include <vlpi/entityIdentifier.h>
15 #include <vlpi/entityType.h>
16 #include <vlutil/vlString.h>
17 
18 namespace MAKVrExchange
19 {
20 
24  {
25  public:
26 
28  DtPortalBaseEntity( DtPortalMessageKind kind, const DtString& name );
29 
31  DtPortalBaseEntity( const DtPortalBaseEntity& other );
32 
34  virtual ~DtPortalBaseEntity();
35 
37  DtPortalBaseEntity& operator = ( const DtPortalBaseEntity& other );
38 
41 
42  bool operator != ( const DtPortalBaseEntity& other ) const;
43  bool operator == ( const DtPortalBaseEntity& other ) const;
44 
46 
50 
54  DtDEC_ATTRIBUTE( DtEntityIdentifier, EntityId, entityId );
55 
59  DtDEC_ATTRIBUTE( DtEntityType, EntityType, entityType );
60 
62  DtDEC_ATTRIBUTE( DtVector64, Location, location );
63 
67 
70  DtDEC_ATTRIBUTE( DtVector32, Velocity, velocity );
71 
74  DtDEC_ATTRIBUTE( DtVector32, Acceleration, acceleration );
75 
78  DtDEC_ATTRIBUTE( DtVector32, RotationalVelocity, rotationalVelocity );
79 
81  DtDEC_ATTRIBUTE( DtTaitBryan, Orientation, orientation );
82 
84 
87  DtDEC_ATTRIBUTE( DtU32, Algorithm, algorithm );
88 
90  DtDEC_ATTRIBUTE( bool, Frozen, frozen );
91 
97 
100  DtDEC_ATTRIBUTE( DtString, HostId, hostId );
101 
104  DtDEC_ATTRIBUTE( DtU32, Nature, nature );
105 
107  DtDEC_ATTRIBUTE( DtU32, PartPosition, partPosition );
108 
111  DtDEC_ATTRIBUTE( DtU32, StationName, stationName );
112 
114  DtDEC_ATTRIBUTE( DtU32, StationNumber, stationNumber );
115 
117  DtDEC_ATTRIBUTE( DtVector, RelativePosition, relativePosition );
118 
120  DtDEC_ATTRIBUTE( DtFloat64, Range, range );
121 
123  DtDEC_ATTRIBUTE( DtFloat64, Bearing, bearing );
124 
127  DtDEC_ATTRIBUTE( DtVector64, RelativeLocation, relativeLocation );
128 
130  DtDEC_ATTRIBUTE( DtVector32, RelativeVelocity, relativeVelocity );
131 
133  DtDEC_ATTRIBUTE( DtVector32, RelativeAcceleration, relativeAcceleration );
134 
136  DtDEC_ATTRIBUTE( bool, RelativeFrozen, relativeFrozen );
137 
140  DtDEC_ATTRIBUTE( DtU32, RelativeAlgorithm, relativeAlgorithm );
141 
142  DtDEC_ATTRIBUTE( DtVector32, RelativeRotationalVelocity, relativeRotationalVelocity );
143 
145  DtDEC_ATTRIBUTE( DtTaitBryan, RelativeOrientation, relativeOrientation );
146 
149 
151  public:
152 
153  virtual unsigned int netSize() const;
154  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const ;
155  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
156 
157  virtual std::ostream& printDataToStream( std::ostream& str ) const;
158 
159  };
160 
161 }
#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
DtPortalObject are messages which also serve as state repositories for simulated objects.
Definition: pObject.h:23
Represents attributes common to Entities and Aggregates.
Definition: pBaseEntity.h:23
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23
Contains the DtPortalObject class declaration.

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)