20 #include <vlpi/articulatedPart.h>
28 class DtArticulatedPartStateComponent;
69 virtual void postGetSelf();
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);
165 DtReal elevationNeutralOffset()
const;
166 void setElevationNeutralOffset(DtReal
offset,
bool isSpecified =
true);
170 virtual void addParameterType(DtArtParamType paramType);
173 virtual void clearParameterTypes();
176 virtual bool hasParameterType(DtArtParamType paramType)
const;
185 virtual void setAllValuesUnspecified();
190 virtual void prePutSelf();
192 virtual void setPublishOnLegionNetwork(
bool,
bool);
195 return myPublishOnLegionNetwork;
198 virtual void updateDataStorage(
const std::vector<DtArticulatedPart::ParameterMetric>&);
203 virtual void setAttachPoint(
const DtVector& attachPoint,
bool isSpecified =
true);
204 virtual void setEndPoint(
const DtVector& loc,
bool isSpecified =
true);
205 virtual void setPosition(
double val,
bool isSpecified =
true);
206 virtual void setPositionRate(
double val,
bool isSpecified =
true);
207 virtual void setMaxPositionRate(
double val,
bool isSpecified =
true);
208 virtual void setExtension(
double val,
bool isSpecified =
true);
209 virtual void setExtensionRate(
double val,
bool isSpecified =
true);
210 virtual void setMaxExtensionRate(
double val,
bool isSpecified =
true);
211 virtual void setTranslation(
const DtVector& val,
bool isSpecified =
true);
212 virtual void setMinTranslation(
const DtVector& val,
bool isSpecified =
true);
213 virtual void setMaxTranslation(
const DtVector& val,
bool isSpecified =
true);
214 virtual void setTranslationRate(
const DtVector& val,
bool isSpecified =
true);
215 virtual void setMaxTranslationRate(
const DtVector& val,
bool isSpecified =
true);
216 virtual void setAzimuth(
double angle,
bool isSpecified =
true);
217 virtual void setMinAzimuth(
double angle,
bool isSpecified =
true);
218 virtual void setMaxAzimuth(
double angle,
bool isSpecified =
true);
219 virtual void setAzimuthRate(
double rate,
bool isSpecified =
true);
220 virtual void setMaxAzimuthRate(
double rate,
bool isSpecified =
true);
221 virtual void setElevation(
double angle,
bool isSpecified =
true);
222 virtual void setMinElevation(
double angle,
bool isSpecified =
true);
223 virtual void setMaxElevation(
double angle,
bool isSpecified =
true);
224 virtual void setElevationRate(
double rate,
bool isSpecified =
true);
225 virtual void setMaxElevationRate(
double rate,
bool isSpecified =
true);
226 virtual void setRotation(
double angle,
bool isSpecified =
true);
227 virtual void setMinRotation(
double angle,
bool isSpecified =
true);
228 virtual void setMaxRotation(
double angle,
bool isSpecified =
true);
229 virtual void setRotationRate(
double rate,
bool isSpecified =
true);
230 virtual void setMaxRotationRate(
double rate,
bool isSpecified =
true);
233 virtual void addPartDeletedCallback(
235 virtual void removePartDeletedCallback(
239 virtual void partUpdated();
243 void preventConfigValueReadAndWrite();
248 virtual void setParentsForAllParts();
250 virtual DtTaitBryan parentLocalOrientation()
const;
252 virtual void destroyLegionParts();
DtArtPartMap(const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, const DtString &keyName="key", const DtString &valueName="value", const DtString &elementName="item")
Definition: articulatedPartStateRepository.h:53
Definition: rwTemplatedList.h:203
Definition: symbolString.h:20
LegionParameterMetrics myLegionParameterMetrics
Definition: articulatedPartStateRepository.h:273
DtArticulatedPartStateRepository::DtArtPartMap DtArtPartMap
Definition: articulatedPartStateRepository.h:277
DtArtPartMap(const DtString &name, const DtRwTemplatedMapPtr &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Definition: articulatedPartStateRepository.h:57
DtArticulatedPartStateComponent * myParentComponent
Definition: articulatedPartStateRepository.h:262
DtRwTemplatedIntList myParameterTypes
Definition: articulatedPartStateRepository.h:268
bool publishOnLegionNetwork() const
Definition: articulatedPartStateRepository.h:193
DtArtPartMap(const DtRwTemplatedMapPtr &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Definition: articulatedPartStateRepository.h:63
In order to be a well defined state component, you must:
Definition: articulatedPartStateComponent.h:59
DtArtPartMap(const DtSymbolString &name, const DtRwTemplatedMapPtr &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Definition: articulatedPartStateRepository.h:60
DtRwReal myAzimuthNeutralOffset
Definition: articulatedPartStateRepository.h:265
Definition: readerWriterRegistry.h:39
UInt64 myArticulatedPartInstanceHandle
Definition: articulatedPartStateRepository.h:271
DtArtPartMap()
Definition: articulatedPartStateRepository.h:48
DtStateData * myParentObject
Definition: articulatedPartStateRepository.h:261
Definition: coordSystem.h:54
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
DtRwReal myElevationNeutralOffset
Definition: articulatedPartStateRepository.h:266
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
Definition: rwTemplatedMap.h:97
DtArticulatedPartStateRepositoryDeletedCallbackList myCallbackList
Definition: articulatedPartStateRepository.h:274
DtRwInt myPartType
Definition: articulatedPartStateRepository.h:257
Description: Readable, Writable int.
Definition: rwInt.h:25
DtCallbackList< DtArticulatedPartStateRepository * > DtArticulatedPartStateRepositoryDeletedCallbackList
Definition: articulatedPartStateRepository.h:29
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
virtual ~DtArtPartMap()
Definition: articulatedPartStateRepository.h:67
DtArtPartMap myParts
Definition: articulatedPartStateRepository.h:259
const Coordinate_System * myCoordinateSystem
Definition: articulatedPartStateRepository.h:255
Definition: articulatedPartStateRepository.h:44
DtArtPartMap(const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, const DtString &keyName="key", const DtString &valueName="value", const DtString &elementName="item")
Definition: articulatedPartStateRepository.h:49
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:269
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:95
std::map< int, UInt64 > LegionParameterMetrics
Definition: articulatedPartStateRepository.h:272
voidpf uLong offset
Definition: ioapi.h:42
DtArticulatedPartStateRepository * myParentPart
Definition: articulatedPartStateRepository.h:263
bool myIsWritable
Definition: articulatedPartStateRepository.h:270