VR-Link API Documentation for HLA 1.3
 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) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vl/stateRepository.h>
13 #include <vlpi/patchIdentifier.h>
14 #include <vector>
15 #include <map>
16 
17 
20 
21 typedef std::vector<char> DtDiGuyPixelData;
22 typedef std::map<DtU16, DtDiGuyPixelData> DtDiGuyShapeDataMap;
23 typedef std::map<DtU16, DtDiGuyShapeDataMap> DtDiGuyLinkShapeMap;
24 
26 
27 
32 {
33 public:
34 
37 
40 
43 
46 
48  virtual DtStateRepository* clone(bool copy) const;
49 
51  static DtDIGuyObjectStateRepository* create();
52 
54  virtual void printData() const;
55 
57  virtual void printDataToStream(std::ostream& stream) const;
58 
60  virtual void setEntityIdentifier(const DtEntityIdentifier& val);
61 
63  virtual const DtEntityIdentifier& entityIdentifier() const;
64 
66  virtual void setObjectIdentifier(const DtGlobalObjectDesignator& val);
67 
69  virtual const DtGlobalObjectDesignator& objectIdentifier() const;
70 
74  virtual void setType(const DtString& newType,
75  const DtString& newAppearance );
76  virtual void setType(const DtString& val);
77  virtual const DtString& type() const;
78 
80  virtual void setBodyAppearance(const DtString& val);
82  virtual const DtString& bodyAppearance() const;
84 
86  virtual void setHeadAppearance(const DtString& val);
88  virtual const DtString& headAppearance() const;
90 
92  virtual void setBodyWeight(double val);
94  virtual double bodyWeight() const;
96 
98  virtual void setItemAppearance(const DtString& val);
100  virtual const DtString& itemAppearance() const;
102 
104  virtual bool setAccessoryAppearance(unsigned int index, const DtString& val);
107  virtual const DtString& accessoryAppearance(unsigned int index) const;
109 
111  virtual void setAccessoryAppearanceCount(unsigned int index);
113  virtual unsigned int accessoryAppearanceCount() const;
115 
117  virtual void setAction(const DtString& val);
119  virtual void setAction(const DtString& val, bool paused, double speed = 0.0,
120  bool useActionPositioning = false, const DtVector& offset = DtVector(0, 0, 0), double transitionSpeed = 1.0);
121  virtual const DtString& action() const;
122 
123  virtual bool useActionPositioning() const;
124  virtual const DtVector& actionOffset() const;
126 
128  virtual void setActionPaused(bool paused);
130  virtual bool isActionPaused() const;
132 
134  virtual double actionSpeed() const;
136  virtual void setActionSpeed(double speed);
138 
140  virtual double transitionSpeed() const;
142  virtual void setTransitionSpeed(double speed);
144 
146  virtual void setVisible(bool visibile);
148  virtual bool isVisible() const;
150 
152  virtual void addShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, const DtDiGuyPixelData& pixelData );
154  virtual void removeShapeVariation( unsigned int linkIndex, unsigned int shapeIndex );
155  virtual const DtDiGuyPixelData& shapeVariation( unsigned int linkIndex, unsigned int shapeIndex, bool& dataIsValid ) const;
156  static const DtDiGuyPixelData& shapeVariation( const DtDiGuyLinkShapeMap& shapeVariations, int linkIndex, unsigned int shapeIndex, bool& dataIsValid );
157  virtual bool getShapeVariation( unsigned int linkIndex, unsigned int shapeIndex, DtDiGuyPixelData& pixelData ) const;
158  virtual void setShapeVariations( const DtDiGuyLinkShapeMap& variations );
159  virtual const DtDiGuyLinkShapeMap& shapeVariations() const;
160  virtual DtDiGuyLinkShapeMap& shapeVariations();
162  virtual void setShapeVariationsDirty();
164  virtual bool isShapeVariationsDirty() const;
166  virtual void clearShapeVariationsDirty() const;
168 
170  virtual const DtVector& characterScale() const;
172  virtual void setCharacterScale(const DtVector& scale);
174 
177 
178  virtual void setUnit( const DtPatchIdentifier& patchId );
179  virtual const DtPatchIdentifier& unit() const;
180 
181  virtual void setPersonalUnit( const DtPatchIdentifier& patchId );
182  virtual const DtPatchIdentifier& personalUnit() const;
183 
184  virtual void setRank( const DtPatchIdentifier& patchId );
185  virtual const DtPatchIdentifier& rank() const;
186 
187  virtual void setName( const DtString& val );
188  virtual const DtString& name() const;
189 
191 
192 protected:
193 
199  bool myVisible;
203  std::vector<DtString> myAccessoryAppearance;
211  double myBodyWeight;
216 
217 };
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtPatchIdentifier myUnit
Definition: diGuyObjectStateRepository.h:212
std::map< DtU16, DtDiGuyShapeDataMap > DtDiGuyLinkShapeMap
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:23
bool myVisible
Definition: diGuyObjectStateRepository.h:199
std::vector< DtString > myAccessoryAppearance
Definition: diGuyObjectStateRepository.h:203
bool myIsShapeVariationsDirty
Definition: diGuyObjectStateRepository.h:207
DtEntityIdentifier myEntityIdentifier
Definition: diGuyObjectStateRepository.h:194
bool myActionPaused
Definition: diGuyObjectStateRepository.h:197
std::map< DtU16, DtDiGuyPixelData > DtDiGuyShapeDataMap
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:22
DtString myAction
Definition: diGuyObjectStateRepository.h:196
DtString myName
Definition: diGuyObjectStateRepository.h:215
DtVector64 DtVector
Definition: vlVector.h:285
Definition: vlVector.h:224
DtString myHeadAppearance
Definition: diGuyObjectStateRepository.h:201
virtual DtStateRepository * clone(bool copy=false) const
Return a copy/empty object of the same type as this.
DtString myItemAppearance
Definition: diGuyObjectStateRepository.h:202
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
DtVector myCharacterScale
Definition: diGuyObjectStateRepository.h:206
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtPatchIdentifier myPersonalUnit
Definition: diGuyObjectStateRepository.h:213
DtPatchIdentifier is used to uniquely identify a uniform patch.
Definition: patchIdentifier.h:18
Contains the DtPatchIdentifier class declaration.
bool myUseActionPositioningFlag
Definition: diGuyObjectStateRepository.h:208
std::vector< char > DtDiGuyPixelData
Container for shape variation data.
Definition: diGuyObjectStateRepository.h:21
double myBodyWeight
Definition: diGuyObjectStateRepository.h:211
Instances of DtDIGuyObjectStateRepository are used to store state data for DIGuyObject objects...
Definition: diGuyObjectStateRepository.h:31
DtString myBodyAppearance
Definition: diGuyObjectStateRepository.h:200
DtVector myActionOffset
Definition: diGuyObjectStateRepository.h:209
virtual void printData() const
Print State Data to the DtInfo Stream.
double myTransitionSpeed
Definition: diGuyObjectStateRepository.h:210
DtString myType
Definition: diGuyObjectStateRepository.h:204
Instances of DtString are used to represent strings.
Definition: vlString.h:29
virtual void printDataToStream(std::ostream &stream) const
Prints the State Data to the stream specified.
DtPatchIdentifier myRank
Definition: diGuyObjectStateRepository.h:214
DtStateRepository & operator=(const DtStateRepository &orig)
assignment operator
DtGlobalObjectDesignator myObjectIdentifier
Definition: diGuyObjectStateRepository.h:195
DtDiGuyLinkShapeMap myShapeVariations
Definition: diGuyObjectStateRepository.h:205
double myActionSpeed
Definition: diGuyObjectStateRepository.h:198

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)