VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pPointObject.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 
31  {
32  public:
33 
36 
39 
41  virtual ~DtPortalPointObject();
42 
44  DtPortalPointObject& operator = ( const DtPortalPointObject& rhs );
45 
48 
49  bool operator == ( const DtPortalPointObject& rhs ) const;
50  bool operator != ( const DtPortalPointObject& rhs ) const;
51 
53 
56 
57  DtDEC_ATTRIBUTE( DtU8, Modifications, modifications );
58  DtDEC_ATTRIBUTE( DtVector, Location, location );
59  DtDEC_ATTRIBUTE( DtTaitBryan, Orientation, orientation );
60  DtDEC_ATTRIBUTE( DtU32, SpecificAppearance, specificAppearance );
61  DtDEC_ATTRIBUTE( DtU16, GeneralAppearance, generalAppearance );
62 
65 
67  virtual void setGeneralAppearanceAttribute(
68  DtAppearAttribute attr, DtAppearAttrVal val );
70  virtual DtAppearAttrVal generalAppearanceAttribute(
71  DtAppearAttribute attr ) const;
72 
73  DtDEC_APPEARANCE( General, general, DtU8, PercentComplete,
74  percentComplete, DtAppObjectPercentComplete );
75  DtDEC_APPEARANCE( General, general, DtDamageState, DamagedAppearance,
76  damagedAppearance, DtAppObjectDamage );
77  DtDEC_APPEARANCE( General, general, bool, ObjectPreDistributed,
78  objectPreDistributed, DtAppObjectPredistributed );
79  DtDEC_APPEARANCE( General, general, bool, Deactivated,
80  deactivated, DtAppObjectState );
81  DtDEC_APPEARANCE( General, general, bool, Smoking,
82  smoking, DtAppObjectSmoking );
83  DtDEC_APPEARANCE( General, general, bool, Flaming,
84  flaming,DtAppObjectFlaming );
85 
87 
90 
92  virtual void setSpecificAppearanceAttribute(
93  DtAppearAttribute attr, DtAppearAttrVal val );
95  virtual DtU32 specificAppearanceAttribute(
96  DtAppearAttribute attr ) const;
97 
100 
101  DtDEC_APPEARANCE( Specific, specific, DtBreachStatus, BreachedStatus,
102  breachedStatus, DtAppObjectMinefieldBreach );
103 
105 
108 
109  DtDEC_APPEARANCE( Specific, specific, DtU8, PercentOpacity,
110  percentOpacity, DtAppObjectBurstOpacity );
111  DtDEC_APPEARANCE( Specific, specific, DtU8, CylinderSize,
112  cylinderSize, DtAppObjectBurstSize );
113  DtDEC_APPEARANCE( Specific, specific, DtU8, CylinderHeight,
114  cylinderHeight, DtAppObjectBurstHeight );
115  DtDEC_APPEARANCE( Specific, specific, DtU8, NumberOfBursts,
116  numberOfBursts, DtAppObjectBurstNumOfBursts );
117  DtDEC_APPEARANCE( Specific, specific, DtChemicalContent, ChemicalContent,
118  chemicalContent, DtAppObjectBurstChemicalSmoke );
119 
121 
124 
125  DtDEC_APPEARANCE( Specific, specific, DtU8, CraterSize,
126  craterSize, DtAppObjectCraterSize );
127 
129 
132 
133  DtDEC_APPEARANCE( Specific, specific, DtU8, NumberOfSegments,
134  numberOfSegments, DtAppObjectRibbonBridgeNumOfSegments );
135 
137 
139 
141 
142  public:
143 
145 
146  static DtPortalMessage* create();
147 
148  virtual unsigned int netSize() const;
149  virtual void writeSelfToBuffer( void* buffer, int bufferSize ) const;
150  virtual void readSelfFromBuffer( const void* buffer, int bufferSize );
151 
152  virtual std::ostream& printDataToStream( std::ostream& str ) const;
153 
154  };
155 
156 
158  {
159  return new DtPortalPointObject();
160  }
161 
162 }
Portal point object will be used to send all point object types: breachable, burst, crater, other, ribbon, structure.
Definition: pPointObject.h:30
#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
#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: pPointObject.h:17
static const DtPortalMessageKind theKind
Definition: pPointObject.h:144
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
Contains the DtPortalEnvironmentObject class declaration.
DtPortalMessageKind
A List of message kinds distributed with the Portal.
Definition: pMessageKinds.h:23
static DtPortalMessage * create()
Definition: pPointObject.h:157

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)