11 #include <vlpi/articulatedPartCollection.h>
30 : myarticulatedPartManager(orig.myarticulatedPartManager)
31 , myartPartList(orig.myartPartList)
43 bool initialized()
const {
return (myarticulatedPartManager.get() != 0); };
51 std::shared_ptr<DtArticulatedPartManager> myarticulatedPartManager;
84 const DtArticulatedPartManager& articulatedPartManager()
const;
85 DtArticulatedPartManager& articulatedPartManager();
87 const DtArticulatedPartManager& articulatedParts()
const;
88 DtArticulatedPartManager& articulatedParts();
90 const DtArticulatedPartCollection& artPartList()
const;
91 DtArticulatedPartCollection& artPartList();
101 void setPublishOnLegionNetwork(
bool b);
124 void setUpdateFromLegionNetwork(
bool);
152 virtual void updateDataStorage()
override;
156 myCurrentFrameState.updateStateData(sd);
157 myNextFrameState.updateStateData(sd);
160 virtual void setPublishingOnLegionNetwork(
bool b)
override;
167 myCurrentFrameState.aboutToBeDeleted();
168 myNextFrameState.aboutToBeDeleted();
173 virtual void createPartsFromDescriptors(
const std::list<DtSimArtPartDescriptor*>& descriptors,
174 const std::list<DtSimArtPartDescriptor*>& partDefaultsFromActuators);
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
virtual const DtFrameStateInterface * nextFrameState() const
Definition: articulatedPartStateComponent.h:148
The articulated part manager maintains a tree of articulated and attached parts for the state reposit...
Definition: articulatedPartManager.h:34
std::shared_ptr< DtArticulatedPartCollection > myartPartList
Definition: articulatedPartStateComponent.h:52
virtual DtFrameStateInterface * nextFrameState()
Definition: articulatedPartStateComponent.h:147
2) Define the next frame class. This will be used for write access.
Definition: articulatedPartStateComponent.h:75
A readable, writable type that holds an articulated part type, attached-to part type, attachment point, and a list of art-part params (DtSimArtPartParamList). The read/write name is not used for anything in particular, and therefore may be used for file readability.
Definition: simArtPartDescriptor.h:28
Definition: stateComponent.h:257
In order to be a well defined state component, you must:
Definition: articulatedPartStateComponent.h:59
DtArticulatedPartManager & articulatedPartManager()
Definition: articulatedPartStateComponent.h:45
#define UNDEFINED_RETURNREF_ACCESSORS(ReturnType, Member)
Definition: doubleBufferedDataStorage.h:40
const DtArticulatedPartStateComponentData & frameState() const
Current frame state only can access current frame buffers. This ensures thread safety.
Definition: articulatedPartStateComponent.h:116
DtArticulatedPartStateComponentNextFrame myNextFrameState
Definition: articulatedPartStateComponent.h:178
DtArticulatedPartStateComponentData()
Definition: articulatedPartStateComponent.h:19
bool isDoubleBuffered()
Definition: articulatedPartStateComponent.h:145
virtual void aboutToBeDeleted() override
Definition: articulatedPartStateComponent.h:164
const DtArticulatedPartStateComponentData & frameState() const
Next frame access write access. Ensure this is only used in a single thread (i.e.a controller thread)...
Definition: articulatedPartStateComponent.h:81
Definition: coordSystem.h:54
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
DtArticulatedPartStateComponentData myData
Definition: articulatedPartStateComponent.h:105
#define DEFINE_STATE_COMPONENT_TYPE(CreatedComponent)
Definition: stateComponent.h:219
DtStateData * myStateData
Definition: articulatedPartStateComponent.h:104
void updateStateData(DtStateData *sd)
Implement to update data storage to the new state data.
Definition: articulatedPartStateComponent.h:154
Subclass from this to indicate that this will be a double buffered state component.
Definition: stateComponent.h:365
DtArticulatedPartStateComponentData(const DtArticulatedPartStateComponentData &orig)
Definition: articulatedPartStateComponent.h:29
Definition: stateComponent.h:70
DtStateComponentCreator< DtArticulatedPartStateComponentImplementation > DtArticulatedPartStateComponentCreator
5) Define the creator. This will need to be registered with the REGISTER_STATE_COMPONENT macro in the...
Definition: articulatedPartStateComponent.h:183
virtual void aboutToBeDeleted()
bool initialized() const
Definition: articulatedPartStateComponent.h:43
DtArticulatedPartStateComponentData & frameState()
Definition: articulatedPartStateComponent.h:82
std::shared_ptr< DtArticulatedPartManager > myarticulatedPartManager
Definition: articulatedPartStateComponent.h:48
virtual void makeReadOnly()
Override to make component read-only.
Definition: articulatedPartStateComponent.h:99
const DtFrameStateInterface * currentFrameState() const
Definition: articulatedPartStateComponent.h:146
DtArticulatedPartStateComponentData & operator=(const DtArticulatedPartStateComponentData &rhs)
Definition: articulatedPartStateComponent.h:35
4) Define the state component that will contain the wrappers to the next and current frame states tha...
Definition: articulatedPartStateComponent.h:140
void create()
Definition: articulatedPartStateComponent.h:23
void advanceFrame(const DtArticulatedPartStateComponentData &data)
Definition: articulatedPartStateComponent.h:128
virtual void makeWritable()
Override to make component writable.
Definition: articulatedPartStateComponent.h:96
DtArticulatedPartStateComponentCurrentFrame myCurrentFrameState
Definition: articulatedPartStateComponent.h:177
#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
const DtArticulatedPartManager & articulatedPartManager() const
Definition: articulatedPartStateComponent.h:44
const DtArticulatedPartCollection & artPartList() const
Definition: articulatedPartStateComponent.h:47
bool myPublishOnLegionNetwork
Definition: articulatedPartStateComponent.h:106
Definition: articulatedPartStateComponent.h:17
3) Define the current frame class. This will be used for read access.
Definition: articulatedPartStateComponent.h:110
Contains the DtStateComponent class declaration.
DtArticulatedPartStateComponentData myData
Definition: articulatedPartStateComponent.h:134
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:282
bool myUpdateFromLegionNetwork
Definition: articulatedPartStateComponent.h:135