20 #include <vlpi/articulatedPart.h>
28 class DtArticulatedPartStateComponent;
29 class DtArticulatedPartStateRepository;
69 virtual void postGetSelf()
override;
83 virtual DtArtPartType parentPartType()
const;
108 MergeRule rule = AllSpecifiedValues);
112 virtual DtArtPartType partType()
const;
113 virtual void setPartType(DtArtPartType type);
118 virtual DtVector attachPointWithRespectToObject()
const;
122 virtual DtVector bodyPosition()
const;
126 virtual DtVector localPosition()
const;
130 virtual DtVector endPointlocalPosition()
const;
134 virtual DtVector worldPosition()
const;
137 virtual DtTaitBryan bodyOrientation()
const;
140 virtual DtDcm localOrientationMatrix()
const;
159 DtReal azimuthNeutralOffset()
const;
160 void setAzimuthNeutralOffset(DtReal
offset,
bool isSpecified =
true);
161 bool isAzimuthNeutralOffsetSpecified()
const;
166 DtReal elevationNeutralOffset()
const;
167 void setElevationNeutralOffset(DtReal
offset,
bool isSpecified =
true);
168 bool isElevationNeutralOffsetSpecified()
const;
172 virtual void addParameterType(DtArtParamType paramType);
175 virtual void clearParameterTypes();
178 virtual bool hasParameterType(DtArtParamType paramType)
const;
187 virtual void setAllValuesUnspecified();
192 virtual void prePutSelf()
override;
194 virtual void setPublishOnLegionNetwork(
bool,
bool);
197 return myPublishOnLegionNetwork;
200 virtual void updateDataStorage(
const std::vector<DtArticulatedPart::ParameterMetric>&);
205 virtual void setAttachPoint(
const DtVector& attachPoint,
bool isSpecified =
true)
override;
206 virtual void setEndPoint(
const DtVector& loc,
bool isSpecified =
true)
override;
207 virtual void setPosition(
double val,
bool isSpecified =
true)
override;
208 virtual void setPositionRate(
double val,
bool isSpecified =
true)
override;
209 virtual void setMaxPositionRate(
double val,
bool isSpecified =
true)
override;
210 virtual void setExtension(
double val,
bool isSpecified =
true)
override;
211 virtual void setExtensionRate(
double val,
bool isSpecified =
true)
override;
212 virtual void setMaxExtensionRate(
double val,
bool isSpecified =
true)
override;
213 virtual void setTranslation(
const DtVector& val,
bool isSpecified =
true)
override;
214 virtual void setMinTranslation(
const DtVector& val,
bool isSpecified =
true)
override;
215 virtual void setMaxTranslation(
const DtVector& val,
bool isSpecified =
true)
override;
216 virtual void setTranslationRate(
const DtVector& val,
bool isSpecified =
true)
override;
217 virtual void setMaxTranslationRate(
const DtVector& val,
bool isSpecified =
true)
override;
218 virtual void setAzimuth(
double angle,
bool isSpecified =
true)
override;
219 virtual void setMinAzimuth(
double angle,
bool isSpecified =
true)
override;
220 virtual void setMaxAzimuth(
double angle,
bool isSpecified =
true)
override;
221 virtual void setAzimuthRate(
double rate,
bool isSpecified =
true)
override;
222 virtual void setMaxAzimuthRate(
double rate,
bool isSpecified =
true)
override;
223 virtual void setElevation(
double angle,
bool isSpecified =
true)
override;
224 virtual void setMinElevation(
double angle,
bool isSpecified =
true)
override;
225 virtual void setMaxElevation(
double angle,
bool isSpecified =
true)
override;
226 virtual void setElevationRate(
double rate,
bool isSpecified =
true)
override;
227 virtual void setMaxElevationRate(
double rate,
bool isSpecified =
true)
override;
228 virtual void setRotation(
double angle,
bool isSpecified =
true)
override;
229 virtual void setMinRotation(
double angle,
bool isSpecified =
true)
override;
230 virtual void setMaxRotation(
double angle,
bool isSpecified =
true)
override;
231 virtual void setRotationRate(
double rate,
bool isSpecified =
true)
override;
232 virtual void setMaxRotationRate(
double rate,
bool isSpecified =
true)
override;
235 virtual void addPartDeletedCallback(
237 virtual void removePartDeletedCallback(
241 virtual void partUpdated();
245 void preventConfigValueReadAndWrite();
250 virtual void setParentsForAllParts();
252 virtual DtTaitBryan parentLocalOrientation()
const;
254 virtual void destroyLegionParts();
DtArtPartMap(const DtRwTemplatedMapPtr &orig, DtReaderWriterRegistry *parentRegistry=nullptr)
Definition: articulatedPartStateRepository.h:63
Definition: rwTemplatedList.h:213
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
LegionParameterMetrics myLegionParameterMetrics
Definition: articulatedPartStateRepository.h:275
DtArtPartMap(const DtString &name, const DtRwTemplatedMapPtr &orig, DtReaderWriterRegistry *parentRegistry=nullptr)
Definition: articulatedPartStateRepository.h:57
DtArticulatedPartStateComponent * myParentComponent
Definition: articulatedPartStateRepository.h:264
DtRwTemplatedIntList myParameterTypes
Definition: articulatedPartStateRepository.h:270
bool publishOnLegionNetwork() const
Definition: articulatedPartStateRepository.h:195
In order to be a well defined state component, you must:
Definition: articulatedPartStateComponent.h:69
DtArtPartMap(const DtSymbolString &name, const DtRwTemplatedMapPtr &orig, DtReaderWriterRegistry *parentRegistry=nullptr)
Definition: articulatedPartStateRepository.h:60
DtArtPartMap(const DtString &name, DtReaderWriterRegistry *parentRegistry=nullptr, const DtString &keyName="key", const DtString &valueName="value", const DtString &elementName="item")
Definition: articulatedPartStateRepository.h:49
DtRwReal myAzimuthNeutralOffset
Definition: articulatedPartStateRepository.h:267
Definition: readerWriterRegistry.h:39
unsigned long long UInt64
Definition: stateDataTypes.h:17
virtual ~DtArtPartMap() override
Definition: articulatedPartStateRepository.h:67
UInt64 myArticulatedPartInstanceHandle
Definition: articulatedPartStateRepository.h:273
DtArtPartMap()
Definition: articulatedPartStateRepository.h:48
DtStateData * myParentObject
Definition: articulatedPartStateRepository.h:263
Definition: coordSystem.h:54
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:398
DtRwReal myElevationNeutralOffset
Definition: articulatedPartStateRepository.h:268
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
Definition: rwTemplatedMap.h:97
DtArticulatedPartStateRepositoryDeletedCallbackList myCallbackList
Definition: articulatedPartStateRepository.h:276
DtRwInt myPartType
Definition: articulatedPartStateRepository.h:259
Description: Readable, Writable int.
Definition: rwInt.h:25
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtArtPartMap(const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=nullptr, const DtString &keyName="key", const DtString &valueName="value", const DtString &elementName="item")
Definition: articulatedPartStateRepository.h:53
DtArtPartMap myParts
Definition: articulatedPartStateRepository.h:261
const Coordinate_System * myCoordinateSystem
Definition: articulatedPartStateRepository.h:257
Definition: articulatedPartStateRepository.h:44
The DtArticulatedPartStateRepository class is used to represent articulated parts for an entity...
Definition: articulatedPartStateRepository.h:40
#define DT_DLL_vrfStateData
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfStateDataDefines.h:26
bool myPublishOnLegionNetwork
Definition: articulatedPartStateRepository.h:271
A readable, writable type that holds an articulated part state.
Definition: rwArtPartState.h:26
void(* DtCallbackFunctionType)(DtArticulatedPartStateRepository *, void *)
The function signature of the callback function.
Definition: noArgumentCallbackList.h:94
std::map< int, UInt64 > LegionParameterMetrics
Definition: articulatedPartStateRepository.h:274
voidpf uLong offset
Definition: ioapi.h:42
DtArticulatedPartStateRepository * myParentPart
Definition: articulatedPartStateRepository.h:265
bool myIsWritable
Definition: articulatedPartStateRepository.h:272
DtArticulatedPartStateRepository::DtArtPartMap DtArtPartMap
Definition: articulatedPartStateRepository.h:279