VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
diGuyObjectStateRepository.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vl/stateRepository.h>
13 #include <vector>
14 #include <map>
15 
16 
18 typedef std::vector<char> DtDiGuyPixelData;
20 typedef std::map<DtU16, DtDiGuyPixelData> DtDiGuyShapeDataMap;
21 typedef std::map<DtU16, DtDiGuyShapeDataMap> DtDiGuyLinkShapeMap;
23 
28 {
29 public:
32 
35 
38 
41 
43  virtual DtStateRepository* clone(bool copy) const;
44 
46  static DtDIGuyObjectStateRepository* create();
47 
49  virtual void printData() const;
50 
52  virtual void printDataToStream(std::ostream& stream) const;
53 
55  virtual void setEntityIdentifier(const DtEntityIdentifier& val);
56 
58  virtual const DtEntityIdentifier& entityIdentifier() const;
59 
61  virtual void setObjectIdentifier(const DtGlobalObjectDesignator& val);
62 
64  virtual const DtGlobalObjectDesignator& objectIdentifier() const;
65 
69  virtual void setType(const DtString& newType,
70  const DtString& newAppearance );
71  virtual void setType(const DtString& val);
72  virtual const DtString& type() const;
73 
75  virtual void setBodyAppearance(const DtString& val);
77  virtual const DtString& bodyAppearance() const;
79 
81  virtual void setHeadAppearance(const DtString& val);
83  virtual const DtString& headAppearance() const;
85 
87  virtual void setBodyWeight(double val);
89  virtual double bodyWeight() const;
91 
93  virtual void setItemAppearance(const DtString& val);
95  virtual const DtString& itemAppearance() const;
97 
99  virtual bool setAccessoryAppearance(unsigned int index, const DtString& val);
102  virtual const DtString& accessoryAppearance(unsigned int index) const;
104 
106  virtual void setAccessoryAppearanceCount(unsigned int index);
108  virtual unsigned int accessoryAppearanceCount() const;
110 
112  virtual void setAction(const DtString& val);
114  virtual void setAction(const DtString& val, bool paused, double speed = 0.0,
115  bool useActionPositioning = false, const DtVector& offset = DtVector(0, 0, 0), double transitionSpeed = 1.0);
116  virtual const DtString& action() const;
117 
118  virtual bool useActionPositioning() const;
119  virtual const DtVector& actionOffset() const;
121 
123  virtual void setActionPaused(bool paused);
125  virtual bool isActionPaused() const;
127 
129  virtual double actionSpeed() const;
131  virtual void setActionSpeed(double speed);
133 
135  virtual double transitionSpeed() const;
137  virtual void setTransitionSpeed(double speed);
139 
141  virtual void setVisible(bool visibile);
143  virtual bool isVisible() const;
145 
147  virtual void addShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, const DtDiGuyPixelData& pixelData );
149  virtual void removeShapeVariation( unsigned int linkIndex, unsigned int shapeIndex );
150  virtual const DtDiGuyPixelData& shapeVariation( unsigned int linkIndex, unsigned int shapeIndex, bool& dataIsValid ) const;
151  static const DtDiGuyPixelData& shapeVariation( const DtDiGuyLinkShapeMap& shapeVariations, int linkIndex, unsigned int shapeIndex, bool& dataIsValid );
152  virtual bool getShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, DtDiGuyPixelData& pixelData ) const;
153  virtual void setShapeVariations( const DtDiGuyLinkShapeMap& variations );
154  virtual const DtDiGuyLinkShapeMap& shapeVariations() const;
155  virtual DtDiGuyLinkShapeMap& shapeVariations();
157  virtual void setShapeVariationsDirty();
159  virtual bool isShapeVariationsDirty() const;
161  virtual void clearShapeVariationsDirty() const;
163 
165  virtual const DtVector& characterScale() const;
167  virtual void setCharacterScale(const DtVector& scale);
169 
171  virtual unsigned int rank() const;
173  virtual void setRank(unsigned int val);
174  virtual unsigned int unit() const;
175  virtual void setUnit(unsigned int val);
176  virtual unsigned int personalUnit() const;
177  virtual void setPersonalUnit(unsigned int val);
178  virtual const DtString& name() const;
179  virtual void setName(const DtString& val);
181 
182 protected:
183 
189  bool myVisible;
193  std::vector<DtString> myAccessoryAppearance;
201  double myBodyWeight;
202  unsigned int myUnit;
203  unsigned int myPersonalUnit;
204  unsigned int myRank;
206 };
207 
208 
209 
210 
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
std::map< DtU16, DtDiGuyShapeDataMap > DtDiGuyLinkShapeMap
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:21
bool myVisible
Definition: diGuyObjectStateRepository.h:189
std::vector< DtString > myAccessoryAppearance
Definition: diGuyObjectStateRepository.h:193
bool myIsShapeVariationsDirty
Definition: diGuyObjectStateRepository.h:197
DtEntityIdentifier myEntityIdentifier
Definition: diGuyObjectStateRepository.h:184
bool myActionPaused
Definition: diGuyObjectStateRepository.h:187
std::map< DtU16, DtDiGuyPixelData > DtDiGuyShapeDataMap
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:20
DtString myAction
Definition: diGuyObjectStateRepository.h:186
DtString myName
Definition: diGuyObjectStateRepository.h:205
unsigned int myUnit
Definition: diGuyObjectStateRepository.h:202
DtVector64 DtVector
Definition: vlVector.h:285
Definition: vlVector.h:224
DtString myHeadAppearance
Definition: diGuyObjectStateRepository.h:191
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
DtString myItemAppearance
Definition: diGuyObjectStateRepository.h:192
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
DtVector myCharacterScale
Definition: diGuyObjectStateRepository.h:196
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
bool myUseActionPositioningFlag
Definition: diGuyObjectStateRepository.h:198
std::vector< char > DtDiGuyPixelData
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:19
double myBodyWeight
Definition: diGuyObjectStateRepository.h:201
Instances of DtDIGuyObjectStateRepository are used to store state data for DIGuyObject objects...
Definition: diGuyObjectStateRepository.h:27
DtString myBodyAppearance
Definition: diGuyObjectStateRepository.h:190
DtVector myActionOffset
Definition: diGuyObjectStateRepository.h:199
virtual void printData() const
Print State Data to the DtInfo Stream.
double myTransitionSpeed
Definition: diGuyObjectStateRepository.h:200
DtString myType
Definition: diGuyObjectStateRepository.h:194
Instances of DtString are used to represent strings.
Definition: vlString.h:29
unsigned int myRank
Definition: diGuyObjectStateRepository.h:204
virtual void printDataToStream(std::ostream &stream) const
Prints the State Data to the stream specified.
DtStateRepository & operator=(const DtStateRepository &orig)
assignment operator
DtGlobalObjectDesignator myObjectIdentifier
Definition: diGuyObjectStateRepository.h:185
DtDiGuyLinkShapeMap myShapeVariations
Definition: diGuyObjectStateRepository.h:195
double myActionSpeed
Definition: diGuyObjectStateRepository.h:188
unsigned int myPersonalUnit
Definition: diGuyObjectStateRepository.h:203

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)