1 #ifndef SimTK_SIMBODY_VISUALIZER_H_ 2 #define SimTK_SIMBODY_VISUALIZER_H_ 37 class MultibodySystem;
38 class DecorationGenerator;
224 Visualizer& setShutdownWhenDestructed(
bool shouldShutdown);
229 bool getShutdownWhenDestructed()
const;
302 const Visualizer& setShowShadows(
bool showShadows)
const;
309 const Visualizer& setShowFrameRate(
bool showFrameRate)
const;
316 const Visualizer& setShowSimTime(
bool showSimTime)
const;
323 const Visualizer& setShowFrameNumber(
bool showFrameNumber)
const;
379 Real getGroundHeight()
const;
389 Mode getMode()
const;
405 Real getDesiredFrameRate()
const;
426 Real getRealTimeScale()
const;
457 Real getDesiredBufferLengthInSec()
const;
461 Real getActualBufferLengthInSec()
const;
463 int getActualBufferLengthInFrames()
const;
474 int getNumInputListeners()
const;
489 int getNumFrameControllers()
const;
531 void report(
const State& state)
const;
539 void flushFrames()
const;
545 void drawFrameNow(
const State& state)
const;
577 const Array_<std::pair<String, int> >& items);
602 int getNumDecorations()
const;
618 int getNumRubberBandLines()
const;
634 int getNumDecorationGenerators()
const;
678 const Visualizer& zoomCameraToShowAllGeometry()
const;
712 void dumpStats(std::ostream& o)
const;
722 int getRefCount()
const;
731 const Impl& getImpl()
const {assert(impl);
return *impl;}
732 Impl& updImpl() {assert(impl);
return *impl;}
754 virtual void generateControls(
const Visualizer& viz,
769 #endif // SimTK_SIMBODY_VISUALIZER_H_ This is for arrays indexed by mobilized body number within a subsystem (typically the SimbodyMatterSu...
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
A CoordinateDirection is a CoordinateAxis plus a direction indicating the positive or negative direct...
Definition: CoordinateAxis.h:244
Mode
These are the operating modes for the Visualizer, with PassThrough the default mode.
Definition: Visualizer.h:234
that it contains events that have triggered but have not been processed Thus it is not a legitimate point along the system’s trajectory and should never be returned to the caller For discussion we label this “improper” state EMBED Equation DSMT4 The event handler will correct the state creating a modified state with time still at thigh but not triggering any events We label the modified state EMBED Equation DSMT4 Once the system’s handler the state EMBED Equation DSMT4 can be output as part of the trajectory and used as the initial condition for the next continuous interval Thus the time stepper generates the sequence of legitimate trajectory points just prior to event immediately followed by EMBED Equation DSMT4 which is the time at which the but after the event handler has modified the state to deal with those events Consecutive intervals I and I will consist of trajectory points EMBED Equation DSMT4 with round brackets indicating that EMBED Equation DSMT4 is not part of the trajectory Event handlers Event handlers are solvers which are able to take a state in an resolve the set up appropriate event triggers for the next and report back to the time stepper the degree to which the system continuity has been so that the integrator can be reinitialized appropriately An event handler can also indicate that the simulation should be in which case the time stepper will return the final state to its caller and disallow further time stepping Other event types Not all events have to be localized There are several special case clock user interrupt control is returned to the time stepper The time stepper can then declare that a scheduled event has call the system’s event and reinitialize the integrator if continuity has been violated Time advanced events occur whenever the integrator has advanced time that at the end of every successful internal integration step These are generally restricted to discrete variable updates which do not affect the continuous system
Definition: SimmathUserGuide.doc:227
ELEM min(const VectorBase< ELEM > &v)
Definition: VectorMath.h:178
Every Simbody header and source file should include this header before any other Simbody header...
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:593
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:276
This abstract class represents an object that will be invoked by the Visualizer just prior to renderi...
Definition: Visualizer.h:741
PredefinedMenuIds
The visualizer may predefine some menus; if you need to refer to one of those use its menu Id as defi...
Definition: Visualizer.h:260
A DecorationGenerator is used to define geometry that may change over the course of a simulation...
Definition: DecorationGenerator.h:45
The SimTK::Array_<T> container class is a plug-compatible replacement for the C++ standard template l...
Definition: Array.h:50
This is an EventReporter that makes it easy to generate on-screen movies of any simulation.
Definition: Visualizer_Reporter.h:51
ELEM max(const VectorBase< ELEM > &v)
Definition: VectorMath.h:251
The job of the MultibodySystem class is to coordinate the activities of various subsystems which can ...
Definition: MultibodySystem.h:48
This is the client-side interface to an implementation-independent representation of "Decorations" su...
Definition: DecorativeGeometry.h:86
Visualizer VTKVisualizer
OBSOLETE: This provides limited backwards compatibility with the old VTK Visualizer that is no longer...
Definition: Visualizer.h:765
SimTK::String is a plug-compatible std::string replacement (plus some additional functionality) inten...
Definition: String.h:62
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:72
BackgroundType
These are the types of backgrounds the visualizer currently supports.
Definition: Visualizer.h:249
virtual ~FrameController()
Destructor is virtual; be sure to override it if you have something to clean up at the end...
Definition: Visualizer.h:760
A line between two points.
Definition: DecorativeGeometry.h:304
Provide simple visualization of and interaction with a Simbody simulation, with real time control of ...
Definition: Visualizer.h:146
however the hybrid system can request that if in which case “end of step” is treated like any other event External events are typically handled through the end of step event mechanism For the end of step function can look at the keyboard etc and respond accordingly a termination event occurs either when the integrator advances to a designated “final time” for the or when an event handler indicates that the simulation must be terminated for some other reason Event trigger transition details This section probably covers more than you really want to know about event triggers But if you run into some mysterious behavior regarding your event trigger functions at some point
Definition: SimmathUserGuide.doc:228