OpenSim
OpenSim 3.1
|
#include <ControlLinear.h>
Public Member Functions | |
ControlLinear () | |
ControlLinear (const ControlLinear &aControl) | |
virtual | ~ControlLinear () |
void | copyData (const ControlLinear &aControl) |
ControlLinear & | operator= (const ControlLinear &aControl) |
void | setUseSteps (bool aTrueFalse) |
bool | getUseSteps () const |
void | setKp (double aKp) |
double | getKp () const |
void | setKv (double aKv) |
double | getKv () const |
virtual int | getNumParameters () const |
virtual void | setParameterMin (int aI, double aMin) |
virtual double | getParameterMin (int aI) const |
virtual void | setParameterMax (int aI, double aMax) |
virtual double | getParameterMax (int aI) const |
virtual double | getParameterTime (int aI) const |
virtual void | getParameterNeighborhood (int aI, double &rTLower, double &rTUpper) const |
virtual int | getParameterList (double aT, Array< int > &rList) |
virtual int | getParameterList (double aT1, double aT2, Array< int > &rList) |
virtual void | setParameterValue (int aI, double aP) |
virtual double | getParameterValue (int aI) const |
virtual void | setControlValue (double aT, double aX) |
virtual double | getControlValue (double aT) |
virtual double | getControlValueMin (double aT=0.0) |
virtual void | setControlValueMin (double aT, double aX) |
virtual double | getControlValueMax (double aT=0.0) |
virtual void | setControlValueMax (double aT, double aX) |
void | clearControlNodes () |
ArrayPtrs< ControlLinearNode > & | getControlValues () |
ArrayPtrs< ControlLinearNode > & | getControlMinValues () |
ArrayPtrs< ControlLinearNode > & | getControlMaxValues () |
void | insertNewValueNode (int index, const ControlLinearNode &newNode) |
void | insertNewMinNode (int index, const ControlLinearNode &newNode) |
void | insertNewMaxNode (int index, const ControlLinearNode &newNode) |
virtual const double | getFirstTime () const |
virtual const double | getLastTime () const |
virtual void | simplify (const PropertySet &aProperties) |
bool | simplify (const double &cutoffFrequency, const double &distance) |
virtual void | filter (double aT) |
![]() | |
Control (const char *aName="UNKNOWN") | |
Control (const Control &aControl) | |
virtual | ~Control () |
Control & | operator= (const Control &aControl) |
void | setIsModelControl (bool aTrueFalse) |
bool | getIsModelControl () const |
void | setExtrapolate (bool aTrueFalse) |
bool | getExtrapolate () const |
void | setFilterOn (bool aTrueFalse) |
bool | getFilterOn () const |
void | setDefaultParameterMin (double aMin) |
double | getDefaultParameterMin () const |
void | setDefaultParameterMax (double aMin) |
double | getDefaultParameterMax () const |
![]() | |
virtual | ~Object () |
Virtual destructor for cleanup. | |
virtual Object * | clone () const =0 |
Create a new heap-allocated copy of the concrete object to which this Object refers. | |
virtual const std::string & | getConcreteClassName () const =0 |
Returns the class name of the concrete Object-derived class of the actual object referenced by this Object, as a string. | |
virtual const VisibleObject * | getDisplayer () const |
Methods to support making the object displayable in the GUI or Visualizer Implemented only in few objects. | |
virtual VisibleObject * | updDisplayer () |
get Non const pointer to VisibleObject | |
bool | isEqualTo (const Object &aObject) const |
Equality operator wrapper for use from languages not supporting operator overloading. | |
Object & | operator= (const Object &aObject) |
Copy assignment copies he base class fields, including the properties. | |
virtual bool | operator== (const Object &aObject) const |
Determine if two objects are equal. | |
virtual bool | operator< (const Object &aObject) const |
Provide an ordering for objects so they can be put in sorted containers. | |
void | setName (const std::string &name) |
Set the name of the Object. | |
const std::string & | getName () const |
Get the name of this Object. | |
void | setDescription (const std::string &description) |
Set description, a one-liner summary. | |
const std::string & | getDescription () const |
Get description, a one-liner summary. | |
const std::string & | getAuthors () const |
Get Authors of this Object. | |
void | setAuthors (const std::string &authors) |
Set Authors of this object, call this method in your constructor if needed. | |
const std::string & | getReferences () const |
Get references or publications to cite if using this object. | |
void | setReferences (const std::string &references) |
Set references or publications to cite if using this object. | |
int | getNumProperties () const |
Determine how many properties are stored with this Object. | |
const AbstractProperty & | getPropertyByIndex (int propertyIndex) const |
Get a const reference to a property by its index number, returned as an AbstractProperty. | |
AbstractProperty & | updPropertyByIndex (int propertyIndex) |
Get a writable reference to a property by its index number, returned as an AbstractProperty. | |
bool | hasProperty (const std::string &name) const |
Return true if this Object has a property of any type with the given name, which must not be empty. | |
const AbstractProperty & | getPropertyByName (const std::string &name) const |
Get a const reference to a property by its name, returned as an AbstractProperty. | |
AbstractProperty & | updPropertyByName (const std::string &name) |
Get a writable reference to a property by its name, returned as an AbstractProperty. | |
template<class T > | |
bool | hasProperty () const |
Return true if this Object contains an unnamed, one-object property that contains objects of the given template type T. | |
template<class T > | |
const Property< T > & | getProperty (const PropertyIndex &index) const |
Get property of known type Property<T> as a const reference; the property must be present and have the right type. | |
template<class T > | |
Property< T > & | updProperty (const PropertyIndex &index) |
Get property of known type Property<T> as a writable reference; the property must be present and have the right type. | |
void | setObjectIsUpToDateWithProperties () |
When an object is initialized using the current values of its properties, it can set a flag indicating that it is up to date. | |
bool | isObjectUpToDateWithProperties () const |
Returns true if no property's value has changed since the last time setObjectIsUpToDateWithProperties() was called. | |
void | readObjectFromXMLNodeOrFile (SimTK::Xml::Element &objectElement, int versionNumber) |
We're given an XML element from which we are to populate this Object. | |
virtual void | updateFromXMLNode (SimTK::Xml::Element &objectElement, int versionNumber) |
Use this method to deserialize an object from a SimTK::Xml::Element. | |
virtual void | updateXMLNode (SimTK::Xml::Element &parent) |
Serialize this object into the XML node that represents it. | |
bool | getInlined () const |
Inlined means an in-memory Object that is not associated with an XMLDocument. | |
void | setInlined (bool aInlined, const std::string &aFileName="") |
Mark this as inlined or not and optionally provide a file name to associate with the new XMLDocument for the non-inline case. | |
std::string | getDocumentFileName () const |
If there is a document associated with this object then return the file name maintained by the document. | |
void | setAllPropertiesUseDefault (bool aUseDefault) |
bool | print (const std::string &fileName) |
Write this Object into an XML file of the given name; conventionally the suffix to use is ".osim". | |
std::string | dump (bool dumpName=false) |
dump the XML representation of this Object into an std::string and return it. | |
void | clearObjectIsUpToDateWithProperties () |
For testing or debugging purposes, manually clear the "object is up to
date with respect to properties" flag. | |
virtual bool | isA (const char *type) const |
The default implementation returns true only if the supplied string is "Object"; each Object-derived class overrides this to match its own class name. | |
const std::string & | toString () const |
Wrapper to be used on Java side to display objects in tree; this returns just the object's name. | |
PropertySet & | getPropertySet () |
OBSOLETE: Get a reference to the PropertySet maintained by the Object. | |
const PropertySet & | getPropertySet () const |
Static Public Member Functions | |
static double | Interpolate (double aX1, double aY1, double aX2, double aY2, double aX) |
Protected Member Functions | |
virtual void | setupProperties () |
![]() | |
void | copyData (const Control &aControl) |
![]() | |
Object () | |
The default constructor is only for use by constructors of derived types. | |
Object (const std::string &fileName, bool aUpdateFromXMLNode=true) SWIG_DECLARE_EXCEPTION | |
Constructor from a file, to be called from other constructors that take a file as input. | |
Object (const Object &source) | |
Copy constructor is invoked automatically by derived classes with default copy constructors; otherwise it must be invoked explicitly. | |
Object (SimTK::Xml::Element &aElement) | |
Construct the base class portion of an Object from a given Xml element that describes this Object. | |
template<class T > | |
PropertyIndex | addProperty (const std::string &name, const std::string &comment, const T &value) |
Define a new single-value property of known type T, with the given name, associated comment, and initial value. | |
template<class T > | |
PropertyIndex | addOptionalProperty (const std::string &name, const std::string &comment) |
Add an optional property, meaning it can contain either no value or a single value. | |
template<class T > | |
PropertyIndex | addOptionalProperty (const std::string &name, const std::string &comment, const T &value) |
Add an optional property, meaning it can contain either no value or a single value. | |
template<class T > | |
PropertyIndex | addListProperty (const std::string &name, const std::string &comment, int minSize, int maxSize) |
Define a new list-valued property of known type T, with the given name, associated comment, minimum (==0) and maximum (>0) allowable list lengths, and a zero-length initial value. | |
template<class T , template< class > class Container> | |
PropertyIndex | addListProperty (const std::string &name, const std::string &comment, int minSize, int maxSize, const Container< T > &valueList) |
Define a new list-valued property as above, but assigning an initial value via some templatized container class that supports size() and indexing. | |
PropertyIndex | getPropertyIndex (const std::string &name) const |
Look up a property by name and return its PropertyIndex if it is found. | |
template<class T > | |
PropertyIndex | getPropertyIndex () const |
Look up an unnamed property by the type of object it contains, and return its PropertyIndex if it is found. | |
void | updateFromXMLDocument () |
Use this method only if you're deserializing from a file and the object is at the top level; that is, primarily in constructors that take a file name as input. | |
void | setDocument (XMLDocument *doc) |
Unconditionally set the XMLDocument associated with this object. | |
const XMLDocument * | getDocument () const |
Get a const pointer to the document (if any) associated with this object. | |
XMLDocument * | updDocument () |
Get a writable pointer to the document (if any) associated with this object. |
Protected Attributes | |
PropertyBool | _propUseSteps |
Flag that indicates whether or not to linearly interpolate between nodes or use step functions. | |
PropertyObjArray < ControlLinearNode > | _propXNodes |
Array of control nodes. | |
PropertyObjArray < ControlLinearNode > | _propMinNodes |
PropertyObjArray < ControlLinearNode > | _propMaxNodes |
PropertyDbl | _propKp |
Position gain for PD follower filter. | |
PropertyDbl | _propKv |
Velocity gain for PD follower filter. | |
bool & | _useSteps |
ArrayPtrs< ControlLinearNode > & | _xNodes |
ArrayPtrs< ControlLinearNode > & | _minNodes |
ArrayPtrs< ControlLinearNode > & | _maxNodes |
double & | _kp |
double & | _kv |
ControlLinearNode | _searchNode |
Utility node for speeding up searches for control values in getControlValue() and elsewhere. | |
![]() | |
PropertyBool | _propIsModelControl |
Flag that specifies whether or not this control is a model control. | |
PropertyBool | _propExtrapolate |
Flag that specifies whether or not this control should use extrapolation for times outside the time range of the control parameters. | |
PropertyDbl | _propDefaultMin |
Default parameter minimum. | |
PropertyDbl | _propDefaultMax |
Default parameter maximum. | |
PropertyBool | _propFilterOn |
Flat that indicates whether PD follower filter is on. | |
bool & | _isModelControl |
Reference to the value of the IsModelControl property. | |
bool & | _extrapolate |
Reference to the value of the Extrapolate flag. | |
double & | _defaultMin |
Reference to the value of the DefaultMin property. | |
double & | _defaultMax |
Reference to the value of the DefaultMax property. | |
bool & | _filterOn |
Reference to the value of the PropFilterOn property. | |
![]() | |
PropertySet | _propertySet |
OBSOLETE: Property_Deprecated set for serializable member variables of this and derived classes. |
Additional Inherited Members | |
![]() | |
static const std::string | DEFAULT_NAME |
Name used for default objects when they are serialized. | |
![]() | |
#define | OpenSim_DECLARE_CONCRETE_OBJECT(ConcreteClass, SuperClass) |
Macro to be included as the first line of the class declaration for any non-templatized, concrete class that derives from OpenSim::Object. | |
#define | OpenSim_DECLARE_ABSTRACT_OBJECT(ConcreteClass, SuperClass) |
Macro to be included as the first line of the class declaration for any still-abstract class that derives from OpenSim::Object. | |
#define | OpenSim_DECLARE_CONCRETE_OBJECT_T(ConcreteClass, TArg, SuperClass) |
Macro to be included as the first line of the class declaration for any templatized, concrete class that derives from OpenSim::Object, like Set<T>. | |
#define | OpenSim_DECLARE_ABSTRACT_OBJECT_T(ConcreteClass, TArg, SuperClass) |
Macro to be included as the first line of the class declaration for any templatized, still-abstract class that derives from OpenSim::Object. |
OpenSim::ControlLinear::ControlLinear | ( | ) |
OpenSim::ControlLinear::ControlLinear | ( | const ControlLinear & | aControl | ) |
|
virtual |
void OpenSim::ControlLinear::clearControlNodes | ( | ) |
void OpenSim::ControlLinear::copyData | ( | const ControlLinear & | aControl | ) |
|
virtual |
Reimplemented from OpenSim::Control.
|
inline |
|
inline |
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
inline |
|
virtual |
Reimplemented from OpenSim::Control.
double OpenSim::ControlLinear::getKp | ( | ) | const |
double OpenSim::ControlLinear::getKv | ( | ) | const |
|
virtual |
Reimplemented from OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
bool OpenSim::ControlLinear::getUseSteps | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
static |
ControlLinear& OpenSim::ControlLinear::operator= | ( | const ControlLinear & | aControl | ) |
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
void OpenSim::ControlLinear::setKp | ( | double | aKp | ) |
void OpenSim::ControlLinear::setKv | ( | double | aKv | ) |
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
virtual |
Implements OpenSim::Control.
|
protectedvirtual |
Reimplemented from OpenSim::Control.
void OpenSim::ControlLinear::setUseSteps | ( | bool | aTrueFalse | ) |
|
virtual |
Reimplemented from OpenSim::Control.
bool OpenSim::ControlLinear::simplify | ( | const double & | cutoffFrequency, |
const double & | distance | ||
) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Position gain for PD follower filter.
|
protected |
Velocity gain for PD follower filter.
|
protected |
|
protected |
|
protected |
Flag that indicates whether or not to linearly interpolate between nodes or use step functions.
|
protected |
Array of control nodes.
|
protected |
Utility node for speeding up searches for control values in getControlValue() and elsewhere.
Without this node, a control node would need to be contructed, but this is too expensive. It is better to contruct a node up front, and then just alter the time.
|
protected |
|
protected |