Simbody
3.7
|
This is the base handle class for all Measures whose value type is known, including all the Simbody built-in Measure types. More...
Classes | |
class | Constant |
This creates a Measure whose value is a Topology-stage constant of any type T. More... | |
class | Delay |
(CAUTION: still under development) This is a Measure whose value at time t is the value that its source operand had at time t-delay for a specified delay. More... | |
class | Differentiate |
This Measure operator returns the time derivative of its operand measure, or a numerical approximation of the time derivative if an analytic one is not available. More... | |
class | Extreme |
This Measure tracks extreme values attained by the elements of its source operand since the last initialize() call or explicit call to setValue(). More... | |
class | Implementation |
This is the base Implementation class for all Measures whose value type is known. More... | |
class | Integrate |
This measure yields the time integral of a given derivative measure, initializing with an initial condition measure of the same type T. More... | |
class | MaxAbs |
Track the value of the operand that is of maximum absolute value. More... | |
class | Maximum |
Track the maximum value of the operand (signed). More... | |
class | MinAbs |
Track the value of the operand that is of minimum absolute value (not very useful). More... | |
class | Minimum |
Track the minimum value of the operand (signed). More... | |
class | Minus |
This Measure is the difference of two Measures of the same type T. More... | |
class | One |
This creates a Measure::Constant whose value is always T(1) and can't be changed. More... | |
class | Plus |
This Measure is the sum of two Measures of the same type T. More... | |
class | Result |
This Measure holds the result of some externally-determined computation, and helps to coordinate the validity of that computation with respect to the state variables. More... | |
class | SampleAndHold |
NOT IMPLEMENTED YET – This is a Measure operator which, upon occurrence of a designated event, samples its source Measure and then holds its value in a discrete state variable until the next occurrence of the event. More... | |
class | Scale |
This Measure multiplies some other Measure by a Real scale factor. More... | |
class | Sinusoid |
This measure produces a sinusoidal function of time: More... | |
class | Time |
This creates a Measure::Time whose value is always T(time). More... | |
class | Variable |
This creates a Measure whose value is a discrete State variable of any type T. More... | |
class | Zero |
This creates a Measure::Constant whose value is always T(0) and can't be changed. More... | |
Public Member Functions | |
SimTK_MEASURE_HANDLE_PREAMBLE_ABSTRACT (Measure_, AbstractMeasure) | |
This class is still abstract so we don't want it to allocate an Implementation object in its default constructor. More... | |
const T & | getValue (const State &s, int derivOrder=0) const |
Retrieve the Value of this Measure or one of its time derivatives, assuming the supplied State has been realized to at least the required stage for the selected value or derivative, as reported by getDependsOnStage(). More... | |
Measure_ & | setDefaultValue (const T &defaultValue) |
Change the default value associated with this Measure. More... | |
const T & | getDefaultValue () const |
Obtain a reference to the default value associated with this Measure. More... | |
SimTK_MEASURE_HANDLE_POSTSCRIPT (Measure_, AbstractMeasure) | |
Public Member Functions inherited from SimTK::AbstractMeasure | |
AbstractMeasure (Implementation *g=0) | |
Provide an Implementation for this AbstractMeasure and bump its reference count. More... | |
AbstractMeasure (Subsystem &, Implementation *g, const SetHandle &) | |
Construct this handle with a given Implementation object (whose reference count will be bumped) and then let the given Subsystem adopt this Measure (which will again bump the Implementation's reference count, leaving us with two new handles). More... | |
AbstractMeasure (const AbstractMeasure &) | |
Shallow copy constructor copies the pointer from the source Implementation object and bumps its reference count. More... | |
AbstractMeasure & | operator= (const AbstractMeasure &source) |
Shallow assignment operator results in this handle referencing the same Implementation object as does the source. More... | |
~AbstractMeasure () | |
Destructor decrements the Implementation's reference count and deletes the object if the count goes to zero. More... | |
AbstractMeasure & | shallowAssign (const AbstractMeasure &) |
Shallow assignment operator destructs the current Implementation object (meaning its reference count is decremented and the object actually deleted only if the count goes to zero), then copies the Implementation pointer from the source and bumps its reference count. More... | |
AbstractMeasure & | deepAssign (const AbstractMeasure &source) |
Deep assignment clones the Implementation object pointed to by the source handle, so that this handle ends up pointing to a new Measure object similar to the original but not yet contained in any Subsystem. More... | |
int | getNumTimeDerivatives () const |
Every Measure can produce a value, and some can provide one or more total derivatives with respect to time of that value. More... | |
Stage | getDependsOnStage (int derivOrder=0) const |
At what Stage can we expect the value of this AbstractMeasure or one of its time derivatives to be available? Users of Measures will typically impose restrictions on the levels they will accept. More... | |
bool | isSameMeasure (const AbstractMeasure &other) const |
There can be multiple handles on the same Measure. More... | |
bool | isEmptyHandle () const |
bool | isInSubsystem () const |
Test whether this Measure object has been adopted by a Subsystem. More... | |
const Subsystem & | getSubsystem () const |
Return a reference to the Subsystem that owns this Measure. More... | |
bool | isSameSubsystem (const Subsystem &) const |
Is getSubsystem() the same as the passed-in Subsystem? More... | |
MeasureIndex | getSubsystemMeasureIndex () const |
Return the MeasureIndex by which this Measure is known to the Subsystem that owns it. More... | |
const Implementation & | getImpl () const |
Implementation & | updImpl () |
bool | hasImpl () const |
int | getRefCount () const |
This is the base handle class for all Measures whose value type is known, including all the Simbody built-in Measure types.
SimTK::Measure_< T >::SimTK_MEASURE_HANDLE_PREAMBLE_ABSTRACT | ( | Measure_< T > | , |
AbstractMeasure | |||
) |
This class is still abstract so we don't want it to allocate an Implementation object in its default constructor.
|
inline |
Retrieve the Value of this Measure or one of its time derivatives, assuming the supplied State has been realized to at least the required stage for the selected value or derivative, as reported by getDependsOnStage().
If the stage is sufficient but the corresponding value has not yet been computed, it will be computed first with its value going into this State's cache so that subsequent calls do not require further computation.
|
inline |
Change the default value associated with this Measure.
How this is used varies with the Measure type but generally it is the value that the Measure will have before any calculations are performed. Note that this does not require a State since it is a Topology-stage change; you have to call realizeTopology() again if you call this method.
|
inline |
Obtain a reference to the default value associated with this Measure.
SimTK::Measure_< T >::SimTK_MEASURE_HANDLE_POSTSCRIPT | ( | Measure_< T > | , |
AbstractMeasure | |||
) |