dart
Public Member Functions | List of all members
dart::python::PyRealTimeWorldNodeNode Class Reference
Inheritance diagram for dart::python::PyRealTimeWorldNodeNode:
Inheritance graph
[legend]
Collaboration diagram for dart::python::PyRealTimeWorldNodeNode:
Collaboration graph
[legend]

Public Member Functions

void refresh () override
 This function is called at the beginning of each rendering cycle. More...
 
void customPreRefresh () override
 If update() is not overloaded, this function will be called at the beginning of each rendering cycle. More...
 
void customPostRefresh () override
 If update() is not overloaded, this function will be called at the end of each rendering cycle. More...
 
void customPreStep () override
 If update() is not overloaded, this function will be called at the beginning of each simulation step. More...
 
void customPostStep () override
 If update() is not overloaded, this function will be called at the end of each simulation step. More...
 
- Public Member Functions inherited from dart::gui::osg::RealTimeWorldNode
 RealTimeWorldNode (const std::shared_ptr< dart::simulation::World > &world=nullptr, const ::osg::ref_ptr< osgShadow::ShadowTechnique > &shadower=nullptr, double targetFrequency=60.0, double targetRealTimeFactor=1.0)
 Construct a world node that will attempt to run a simulation with close to real-time playback. More...
 
void setTargetFrequency (double targetFrequency)
 Set the target refresh rate frequency.
 
double getTargetFrequency () const
 Get the target refresh rate frequency.
 
void setTargetRealTimeFactor (double targetRTF)
 Set the target real time factor.
 
double getTargetRealTimeFactor () const
 Get the target real time factor.
 
double getLastRealTimeFactor () const
 Get the real time factor that was achieved in the last refresh cycle. More...
 
double getLowestRealTimeFactor () const
 Get the lowest real time factor that has been hit during the simulation.
 
double getHighestRealTimeFactor () const
 Get the highest real time factor that has been hit during the simulation.
 
- Public Member Functions inherited from dart::gui::osg::WorldNode
 WorldNode (std::shared_ptr< dart::simulation::World > world=nullptr, ::osg::ref_ptr< osgShadow::ShadowTechnique > shadowTechnique=nullptr)
 Default constructor Shadows are disabled by default.
 
void setWorld (std::shared_ptr< dart::simulation::World > newWorld)
 Set the World that this WorldNode is associated with.
 
std::shared_ptr< dart::simulation::WorldgetWorld () const
 Get the World that this WorldNode is associated with.
 
bool isSimulating () const
 Returns true iff the WorldNode is stepping between render cycles.
 
void simulate (bool on)
 Pass in true to take steps between render cycles; pass in false to turn off steps between render cycles. More...
 
void setNumStepsPerCycle (std::size_t steps)
 Set the number of steps to take between each render cycle (only if the simulation is not paused)
 
std::size_t getNumStepsPerCycle () const
 Get the number of steps that will be taken between each render cycle (only if the simulation is not paused)
 
bool isShadowed () const
 Get whether the WorldNode is casting shadows.
 
void setShadowTechnique (::osg::ref_ptr< osgShadow::ShadowTechnique > shadowTechnique=nullptr)
 Set the ShadowTechnique If you wish to disable shadows, pass a nullptr.
 
::osg::ref_ptr< osgShadow::ShadowTechnique > getShadowTechnique () const
 Get the current ShadowTechnique nullptr is there are no shadows.
 
static ::osg::ref_ptr< osgShadow::ShadowTechnique > createDefaultShadowTechnique (const Viewer *viewer)
 Helper function to create a default ShadowTechnique given a Viewer the default ShadowTechnique is ShadowMap.
 
virtual ~WorldNode ()
 Destructor.
 

Additional Inherited Members

- Protected Types inherited from dart::gui::osg::WorldNode
using NodeMap = std::unordered_map< dart::dynamics::Frame *, ::osg::ref_ptr< ShapeFrameNode > >
 
- Protected Member Functions inherited from dart::gui::osg::WorldNode
virtual void setupViewer ()
 Called when this world gets added to an dart::gui::osg::Viewer. More...
 
void clearChildUtilizationFlags ()
 Clear the utilization flags of each child node.
 
void clearUnusedNodes ()
 Clear any nodes whose utilization flags were not triggered on this render cycle.
 
void refreshSkeletons ()
 Refresh all the Skeleton rendering data.
 
void refreshSimpleFrames ()
 Refresh all the custom Frame rendering data.
 
void refreshBaseFrameNode (dart::dynamics::Frame *frame)
 
void refreshShapeFrameNode (dart::dynamics::Frame *frame)
 
- Protected Attributes inherited from dart::gui::osg::RealTimeWorldNode
bool mFirstRefresh
 Reset each time the simulation is paused.
 
::osg::Timer mRefreshTimer
 Keeps track of the time between refreshes.
 
double mTargetRealTimeLapse
 The target for how much time should elapse between refreshes.
 
double mTargetSimTimeLapse
 The target for how much simulation time should elapse between refreshes.
 
double mLastRealTimeFactor
 The RTF that was achieved in the last refresh cycle.
 
double mLowestRealTimeFactor
 The lowest RTF that has been achieved.
 
double mHighestRealTimeFactor
 The highest RTF that has been achieved.
 
- Protected Attributes inherited from dart::gui::osg::WorldNode
NodeMap mFrameToNode
 Map from Frame pointers to FrameNode pointers.
 
std::shared_ptr< dart::simulation::WorldmWorld
 The World that this WorldNode is associated with.
 
bool mSimulating
 True iff simulation is active.
 
std::size_t mNumStepsPerCycle
 Number of steps to take between rendering cycles.
 
ViewermViewer
 Viewer that this WorldNode is inside of.
 
::osg::ref_ptr<::osg::Group > mNormalGroup
 OSG group for non-shadowed objects.
 
::osg::ref_ptr<::osgShadow::ShadowedScene > mShadowedGroup
 OSG group for shadowed objects.
 
bool mShadowed
 Whether the shadows are enabled.
 

Member Function Documentation

◆ customPostRefresh()

void dart::python::PyRealTimeWorldNodeNode::customPostRefresh ( )
inlineoverridevirtual

If update() is not overloaded, this function will be called at the end of each rendering cycle.

This function can be overloaded to customize the behavior of each update. The default behavior is to do nothing, so overloading this function will not interfere with the usual update() operation.

Reimplemented from dart::gui::osg::WorldNode.

◆ customPostStep()

void dart::python::PyRealTimeWorldNodeNode::customPostStep ( )
inlineoverridevirtual

If update() is not overloaded, this function will be called at the end of each simulation step.

This function can be overloaded to customize the behavior of each step. The default behavior is to do nothing, so overloading this function will not interfere with the usual update() operation. This will not get called if the simulation is paused.

Reimplemented from dart::gui::osg::WorldNode.

◆ customPreRefresh()

void dart::python::PyRealTimeWorldNodeNode::customPreRefresh ( )
inlineoverridevirtual

If update() is not overloaded, this function will be called at the beginning of each rendering cycle.

This function can be overloaded to customize the behavior of each update. The default behavior is to do nothing, so overloading this function will not interfere with the usual update() operation.

Reimplemented from dart::gui::osg::WorldNode.

◆ customPreStep()

void dart::python::PyRealTimeWorldNodeNode::customPreStep ( )
inlineoverridevirtual

If update() is not overloaded, this function will be called at the beginning of each simulation step.

This function can be overloaded to customize the behavior of each step. The default behavior is to do nothing, so overloading this function will not interfere with the usual update() operation. This will not get called if the simulation is paused.

Reimplemented from dart::gui::osg::WorldNode.

◆ refresh()

void dart::python::PyRealTimeWorldNodeNode::refresh ( )
inlineoverridevirtual

This function is called at the beginning of each rendering cycle.

It updates the tree of Frames and Entities that need to be rendered. It may also take a simulation step if the simulation is not paused.

If you want to customize what happens at the beginning of each rendering cycle, you can either overload this function, or you can overload customUpdate(). This update() function will automatically call customUpdate() at the beginning of each rendering cycle. By default, customUpdate() does nothing.

Reimplemented from dart::gui::osg::RealTimeWorldNode.


The documentation for this class was generated from the following file: