VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pArealObject.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 
14 
17 #define DtDEC_APPEARANCE( P, p, T, N, n, E ) \
18  public : \
19  void set##N( const T& val ) {\
20  set##P##AppearanceAttribute( E, DtAppearAttrVal( val << E##BitShift ) );\
21  }\
22  T n() const { return (T)( p##AppearanceAttribute(E) >> E##BitShift ); }\
23 
24 namespace MAKVrExchange
25 {
26 
30  {
31  public:
32 
35 
38 
40  virtual ~DtPortalArealObject();
41 
43  DtPortalArealObject& operator = ( const DtPortalArealObject& rhs );
44 
47 
48  bool operator == ( const DtPortalArealObject& rhs ) const;
49  bool operator != ( const DtPortalArealObject& rhs ) const;
50 
52 
55 
56  DtDEC_ATTRIBUTE( DtU8, Modifications, modifications );
57  DtDEC_ATTRIBUTE( DtU32, SpecificAppearance, specificAppearance );
58  DtDEC_ATTRIBUTE( DtU16, GeneralAppearance, generalAppearance );
59  DtDEC_ATTRIBUTE( DtU16, NumPoints, numPoints );
60  DtDEC_ATTRIBUTE( std::vector<DtVector>, Points, points );
61 
64 
66  virtual void setGeneralAppearanceAttribute(
67  DtAppearAttribute attr, DtAppearAttrVal val );
69  virtual DtAppearAttrVal generalAppearanceAttribute(
70  DtAppearAttribute attr ) const;
71 
72  DtDEC_APPEARANCE( General, general, DtU8, PercentComplete,
73  percentComplete, DtAppObjectPercentComplete );
74  DtDEC_APPEARANCE( General, general, DtDamageState, DamagedAppearance,
75  damagedAppearance, DtAppObjectDamage );
76  DtDEC_APPEARANCE( General, general, bool, ObjectPreDistributed,
77  objectPreDistributed, DtAppObjectPredistributed );
78  DtDEC_APPEARANCE( General, general, bool, Deactivated,
79  deactivated, DtAppObjectState );
80  DtDEC_APPEARANCE( General, general, bool, Smoking,
81  smoking, DtAppObjectSmoking );
82  DtDEC_APPEARANCE( General, general, bool, Flaming,
83  flaming, DtAppObjectFlaming );
84 
86 
89 
91  virtual void setSpecificAppearanceAttribute(
92  DtAppearAttribute attr, DtAppearAttrVal val );
94  virtual DtU32 specificAppearanceAttribute(
95  DtAppearAttribute attr ) const;
96 
99 
100  DtDEC_APPEARANCE( Specific, specific, DtBreachStatus, BreachedStatus,
101  breachedStatus, DtAppObjectMinefieldBreach );
102  DtDEC_APPEARANCE( Specific, specific, DtU16, MineCount,
103  mineCount, DtAppObjectMinefieldMineCount );
104 
106 
108 
110 
111  public:
112 
114 
115  static DtPortalMessage* create();
116 
117  virtual unsigned int netSize() const;
118  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
119  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
120 
121  virtual std::ostream& printDataToStream( std::ostream& str ) const;
122 
123  };
124 
125 
127  {
128  return new DtPortalArealObject();
129  }
130 
131 }
#define DtDEC_APPEARANCE(P, p, T, N, n, E)
This macro defines a setter and getter for a specific attribute within the appearance attribute...
Definition: pArealObject.h:17
#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:67
Contains the DtPortalReflectedObjectManager class declaration.
Represents Environment Objects in a simulation.
Definition: pEnvironmentObject.h:20
static const DtPortalMessageKind theKind
Definition: pArealObject.h:113
Portal areal object for sending areal object types (minefield, etc.).
Definition: pArealObject.h:29
Contains the DtPortalEnvironmentObject class declaration.
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23
static DtPortalMessage * create()
Definition: pArealObject.h:126

Document ID: Generated on Mon May 25 18:45:12 EDT 2026 from SVN revision 289111
Copyright © 2005-2026 MAK Technologies. All Rights Reserved (www.mak.com)