A class implementing a bushing force specified by expressions of the deflection between two bushing frames.
More...
|
| ExpressionBasedBushingForce () |
| Default constructor leaves bodies unspecified, sets the bushing frames to be at their body origins, and sets all bushing parameters to zero. More...
|
|
| ExpressionBasedBushingForce (const std::string &name, const PhysicalFrame &frame1, const PhysicalFrame &frame2) |
| This convenience constructor sets the bushing frames and sets all bushing functions to zero. More...
|
|
| ExpressionBasedBushingForce (const std::string &name, const std::string &frame1Name, const std::string &frame2Name) |
| This convenience constructor defines and sets the bushing frames by name and sets all bushing functions to zero. More...
|
|
| ExpressionBasedBushingForce (const std::string &name, const PhysicalFrame &frame1, const SimTK::Vec3 &point1, const SimTK::Vec3 &orientation1, const PhysicalFrame &frame2, const SimTK::Vec3 &point2, const SimTK::Vec3 &orientation2) |
| This convenience constructor defines and sets the bushing frames on each body, and sets all bushing functions to zero. More...
|
|
| ExpressionBasedBushingForce (const std::string &name, const std::string &frame1Name, const SimTK::Vec3 &point1, const SimTK::Vec3 &orientation1, const std::string &frame2Name, const SimTK::Vec3 &point2, const SimTK::Vec3 &orientation2) |
| This convenience constructor defines and sets the bushing frames on each body, and sets all bushing functions to zero. More...
|
|
| ExpressionBasedBushingForce (const std::string &name, const PhysicalFrame &frame1, const SimTK::Vec3 &point1, const SimTK::Vec3 &orientation1, const PhysicalFrame &frame2, const SimTK::Vec3 &point2, const SimTK::Vec3 &orientation2, const SimTK::Vec3 &transStiffness, const SimTK::Vec3 &rotStiffness, const SimTK::Vec3 &transDamping, const SimTK::Vec3 &rotDamping) |
| This convenience constructor defines a bushing that behaves like a primitive bushing. More...
|
|
| ExpressionBasedBushingForce (const std::string &name, const std::string &frame1Name, const SimTK::Vec3 &point1, const SimTK::Vec3 &orientation1, const std::string &frame2Name, const SimTK::Vec3 &point2, const SimTK::Vec3 &orientation2, const SimTK::Vec3 &transStiffness, const SimTK::Vec3 &rotStiffness, const SimTK::Vec3 &transDamping, const SimTK::Vec3 &rotDamping) |
| This convenience constructor defines a bushing that behaves like a primitive bushing. More...
|
|
void | setMomentVisualScale (double scale) |
| Set the value used to scale the bushing moment on body2 when drawing it to screen. More...
|
|
void | setForceVisualScale (double scale) |
| Set the value used to scale the bushing force on body2 when drawing it to screen. More...
|
|
void | setVisualAspectRatio (double ratio) |
| Set the aspect ratio used to control the thickness of the bushing force and moment in drawn in the visualizer. More...
|
|
void | setMxExpression (std::string expression) |
| Set the expression defining Mx as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
void | setMyExpression (std::string expression) |
| Set the expression defining My as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
void | setMzExpression (std::string expression) |
| Set the expression defining Mz as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
void | setFxExpression (std::string expression) |
| Set the expression defining Fx as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
void | setFyExpression (std::string expression) |
| Set the expression defining Fy as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
void | setFzExpression (std::string expression) |
| Set the expression defining Fz as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
std::string | getMxExpression () |
| Get the expression defining Mx as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
std::string | getMyExpression () |
| Get the expression defining My as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
std::string | getMzExpression () |
| Get the expression defining Mz as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
std::string | getFxExpression () |
| Get the expression defining Fx as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
std::string | getFyExpression () |
| Get the expression defining Fy as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
std::string | getFzExpression () |
| Get the expression defining Fz as a function of the bushing deflections theta_x, theta_y, theta_z, delta_x, delta_y, delta_z. More...
|
|
SimTK::Vec6 | calcStiffnessForce (const SimTK::State &state) const |
| Calculate the bushing force contribution due to its stiffness. More...
|
|
SimTK::Vec6 | calcDampingForce (const SimTK::State &state) const |
| Calculate the bushing force contribution due to its damping. More...
|
|
virtual OpenSim::Array< std::string > | getRecordLabels () const override |
| Provide name(s) of the quantities (column labels) of the force value(s) to be reported. More...
|
|
virtual OpenSim::Array< double > | getRecordValues (const SimTK::State &state) const override |
| Provide the value(s) to be reported that correspond to the labels. More...
|
|
|
const std::string & | get_Mx_expression () const |
| Get the value of the Mx_expression property. More...
|
|
std::string & | upd_Mx_expression () |
| Get a writable reference to the Mx_expression property. More...
|
|
void | set_Mx_expression (const std::string &value) |
| Set the value of the Mx_expression property. More...
|
|
const std::string & | get_My_expression () const |
| Get the value of the My_expression property. More...
|
|
std::string & | upd_My_expression () |
| Get a writable reference to the My_expression property. More...
|
|
void | set_My_expression (const std::string &value) |
| Set the value of the My_expression property. More...
|
|
const std::string & | get_Mz_expression () const |
| Get the value of the Mz_expression property. More...
|
|
std::string & | upd_Mz_expression () |
| Get a writable reference to the Mz_expression property. More...
|
|
void | set_Mz_expression (const std::string &value) |
| Set the value of the Mz_expression property. More...
|
|
const std::string & | get_Fx_expression () const |
| Get the value of the Fx_expression property. More...
|
|
std::string & | upd_Fx_expression () |
| Get a writable reference to the Fx_expression property. More...
|
|
void | set_Fx_expression (const std::string &value) |
| Set the value of the Fx_expression property. More...
|
|
const std::string & | get_Fy_expression () const |
| Get the value of the Fy_expression property. More...
|
|
std::string & | upd_Fy_expression () |
| Get a writable reference to the Fy_expression property. More...
|
|
void | set_Fy_expression (const std::string &value) |
| Set the value of the Fy_expression property. More...
|
|
const std::string & | get_Fz_expression () const |
| Get the value of the Fz_expression property. More...
|
|
std::string & | upd_Fz_expression () |
| Get a writable reference to the Fz_expression property. More...
|
|
void | set_Fz_expression (const std::string &value) |
| Set the value of the Fz_expression property. More...
|
|
const double & | get_visual_aspect_ratio () const |
| Get the value of the visual_aspect_ratio property. More...
|
|
double & | upd_visual_aspect_ratio () |
| Get a writable reference to the visual_aspect_ratio property. More...
|
|
void | set_visual_aspect_ratio (const double &value) |
| Set the value of the visual_aspect_ratio property. More...
|
|
const double & | get_moment_visual_scale () const |
| Get the value of the moment_visual_scale property. More...
|
|
double & | upd_moment_visual_scale () |
| Get a writable reference to the moment_visual_scale property. More...
|
|
void | set_moment_visual_scale (const double &value) |
| Set the value of the moment_visual_scale property. More...
|
|
const double & | get_force_visual_scale () const |
| Get the value of the force_visual_scale property. More...
|
|
double & | upd_force_visual_scale () |
| Get a writable reference to the force_visual_scale property. More...
|
|
void | set_force_visual_scale (const double &value) |
| Set the value of the force_visual_scale property. More...
|
|
const SimTK::Vec3 & | get_rotational_damping () const |
| Get the value of the rotational_damping property. More...
|
|
SimTK::Vec3 & | upd_rotational_damping () |
| Get a writable reference to the rotational_damping property. More...
|
|
void | set_rotational_damping (const SimTK::Vec3 &value) |
| Set the value of the rotational_damping property. More...
|
|
const SimTK::Vec3 & | get_translational_damping () const |
| Get the value of the translational_damping property. More...
|
|
SimTK::Vec3 & | upd_translational_damping () |
| Get a writable reference to the translational_damping property. More...
|
|
void | set_translational_damping (const SimTK::Vec3 &value) |
| Set the value of the translational_damping property. More...
|
|
| TwoFrameLinker () |
| By default, the TwoFrameLinker is not connected to any frames. More...
|
|
| TwoFrameLinker (const std::string &name, const PhysicalFrame &frame1, const PhysicalFrame &frame2) |
| Convenience Constructor. More...
|
|
| TwoFrameLinker (const std::string &name, const std::string &frame1Name, const std::string &frame2Name) |
| Convenience Constructor. More...
|
|
| TwoFrameLinker (const std::string &name, const PhysicalFrame &frame1, const SimTK::Transform &offsetOnFrame1, const PhysicalFrame &frame2, const SimTK::Transform &offsetOnFrame2) |
| Convenience Constructor with two Frames Construct a TwoFrameLinker where the two frames are specified by name and offset transforms on the respective frames. More...
|
|
| TwoFrameLinker (const std::string &name, const std::string &frame1Name, const SimTK::Transform &offsetOnFrame1, const std::string &frame2Name, const SimTK::Transform &offsetOnFrame2) |
| Convenience Constructor Construct a TwoFrameLinker where the two frames are specified by name and offset transforms on the respective frames. More...
|
|
| TwoFrameLinker (const std::string &name, const PhysicalFrame &frame1, const SimTK::Vec3 &locationInFrame1, const SimTK::Vec3 &orientationInFrame1, const PhysicalFrame &frame2, const SimTK::Vec3 &locationInFrame2, const SimTK::Vec3 &orientationInFrame2) |
| Backwards compatible Convenience Constructor TwoFrameLinker with offsets specified in terms of the location and orientation in respective PhysicalFrames. More...
|
|
| TwoFrameLinker (const std::string &name, const std::string &frame1Name, const SimTK::Vec3 &locationInFrame1, const SimTK::Vec3 &orientationInFrame1, const std::string &frame2Name, const SimTK::Vec3 &locationInFrame2, const SimTK::Vec3 &orientationInFrame2) |
| Backwards compatible Convenience Constructor TwoFrameLinker with offsets specified in terms of the location and orientation in respective PhysicalFrames. More...
|
|
const PhysicalFrame & | getFrame1 () const |
| Access the first frame the TwoFrameLinker component connects. More...
|
|
const PhysicalFrame & | getFrame2 () const |
| Access the second frame the TwoFrameLinker component connects. More...
|
|
SimTK::Transform | computeRelativeOffset (const SimTK::State &s) const |
| Compute the relative offset Transform between the two frames linked by this TwoFrameLinker component at a given State, expressed in frame1. More...
|
|
SimTK::SpatialVec | computeRelativeVelocity (const SimTK::State &s) const |
| Compute the relative spatial velocity between the two frames linked by this TwoFrameLinker component at a given State, expressed in frame1. More...
|
|
SimTK::Vec6 | computeDeflection (const SimTK::State &s) const |
| Compute the deflection (spatial separation) of the two frames connected by the TwoFrameLinker. More...
|
|
SimTK::Vec6 | computeDeflectionRate (const SimTK::State &s) const |
| Compute the deflection rate (dqdot) of the two frames connected by this TwoFrameLinker component. More...
|
|
const PhysicalFrame & | get_frames (int i) const |
| Get the value of the i-th element of the frames property. More...
|
|
PhysicalFrame & | upd_frames (int i) |
| Get a writable reference to the i-th element of the frames property. More...
|
|
void | set_frames (int i, const PhysicalFrame &value) |
| Set the value of the i-th element of frames property. More...
|
|
int | append_frames (const PhysicalFrame &value) |
| Append an element to the frames property. More...
|
|
void | connectSocket_frame1 (const OpenSim::Object &object) |
| Connect the 'frame1' Socket to an object of type F. More...
|
|
void | connectSocket_frame2 (const OpenSim::Object &object) |
| Connect the 'frame2' Socket to an object of type F. More...
|
|
void | assign (Object &aObject) override |
| This allows copy assignment in the Java GUI. More...
|
|
virtual bool | shouldBeParallelized () const |
| Tell SimBody to parallelize this force. More...
|
|
bool | appliesForce (const SimTK::State &s) const |
| Return if the Force is applied (or enabled) or not. More...
|
|
void | setAppliesForce (SimTK::State &s, bool applyForce) const |
| Set whether or not the Force is applied. More...
|
|
virtual bool | hasVisualPath () const |
| Return a flag indicating whether the Force is applied along a path that can be visualized. More...
|
|
const bool & | get_appliesForce () const |
| Get the value of the appliesForce property. More...
|
|
bool & | upd_appliesForce () |
| Get a writable reference to the appliesForce property. More...
|
|
void | set_appliesForce (const bool &value) |
| Set the value of the appliesForce property. More...
|
|
void | assign (Object &aObject) override |
| This allows copy assignment in the Java GUI. More...
|
|
| ModelComponent () |
| Default constructor. More...
|
|
| ModelComponent (const std::string &aFileName, bool aUpdateFromXMLNode=true) |
| Construct ModelComponent from an XML file. More...
|
|
| ModelComponent (SimTK::Xml::Element &aNode) |
| Construct ModelComponent from a specific node in an XML document. More...
|
|
virtual | ~ModelComponent () |
| Destructor is virtual to allow concrete model component cleanup. More...
|
|
void | connectToModel (Model &model) |
| Connect this ModelComponent to its aggregate- a Model. More...
|
|
const Model & | getModel () const |
| Get a const reference to the Model this component is part of. More...
|
|
Model & | updModel () |
| Get a modifiable reference to the Model this component is part of. More...
|
|
bool | hasModel () const |
| Does this ModelComponent have a Model associated with it? More...
|
|
void | preScale (const SimTK::State &s, const ScaleSet &scaleSet) |
| Perform any computations that must occur before ModelComponent::scale() is invoked on all ModelComponents in the Model. More...
|
|
void | scale (const SimTK::State &s, const ScaleSet &scaleSet) |
| Scale the ModelComponent. More...
|
|
void | postScale (const SimTK::State &s, const ScaleSet &scaleSet) |
| Perform any computations that must occur after ModelComponent::scale() has been invoked on all ModelComponents in the Model. More...
|
|
void | assign (Object &aObject) override |
| This allows copy assignment in the Java GUI. More...
|
|
| Component () |
| Default constructor. More...
|
|
| Component (const std::string &aFileName, bool aUpdateFromXMLNode=true) |
| Construct Component from an XML file. More...
|
|
| Component (SimTK::Xml::Element &aNode) |
| Construct Component from a specific node in an XML document. More...
|
|
| Component (const Component &)=default |
| Use default copy constructor and assignment operator. More...
|
|
Component & | operator= (const Component &)=default |
|
virtual | ~Component ()=default |
| Destructor is virtual to allow concrete Component to cleanup. More...
|
|
const SimTK::MultibodySystem & | getSystem () const |
| Get the underlying MultibodySystem that this component is connected to. More...
|
|
bool | hasSystem () const |
| Check if this component has an underlying MultibodySystem. More...
|
|
bool | isComponentInOwnershipTree (const Component *component) const |
| Does the provided component already exist anywhere in the ownership tree (not just subcomponents of this component)? More...
|
|
void | addComponent (Component *subcomponent) |
|
Add a Component (as a subcomponent) of this component. More...
|
|
template<typename T = Component> |
ComponentList< const T > | getComponentList () const |
| Get an iterator through the underlying subcomponents that this component is composed of. More...
|
|
template<typename T = Component> |
ComponentList< T > | updComponentList () |
| Similar to getComponentList(), except the resulting list allows one to modify the components. More...
|
|
template<typename T = Component> |
unsigned | countNumComponents () const |
| Uses getComponentList<T>() to count the number of underlying subcomponents of the specified type. More...
|
|
std::string | getAbsolutePathString () const |
| Get the complete (absolute) pathname for this Component to its ancestral Component, which is the root of the tree to which this Component belongs. More...
|
|
ComponentPath | getAbsolutePath () const |
| Return a ComponentPath of the absolute path of this Component. More...
|
|
std::string | getRelativePathString (const Component &wrt) const |
| Get the relative path of this Component with respect to another Component, as a string. More...
|
|
ComponentPath | getRelativePath (const Component &wrt) const |
| Get the relative path of this Component with respect to another Component. More...
|
|
bool | hasComponent (const std::string &pathname) const |
| Query if there is a component (of any type) at the specified path name. More...
|
|
template<class C = Component> |
bool | hasComponent (const std::string &pathname) const |
| Query if there is a component of a given type at the specified path name. More...
|
|
template<class C = Component> |
const C & | getComponent (const std::string &pathname) const |
| Get a unique subcomponent of this Component by its path name and type 'C'. More...
|
|
template<class C = Component> |
const C & | getComponent (const ComponentPath &pathname) const |
|
const Component & | getComponent (const std::string &pathname) const |
| Similar to the templatized getComponent(), except this returns the component as the generic Component type. More...
|
|
template<class C = Component> |
C & | updComponent (const std::string &name) |
| Get a writable reference to a subcomponent. More...
|
|
template<class C = Component> |
C & | updComponent (const ComponentPath &name) |
|
Component & | updComponent (const std::string &pathname) |
| Similar to the templatized updComponent(), except this returns the component as the generic Component type. More...
|
|
unsigned | printComponentsMatching (const std::string &substring) const |
| Print a list to the console of all components whose absolute path name contains the given string. More...
|
|
int | getNumStateVariables () const |
| Get the number of "continuous" state variables maintained by the Component and its subcomponents. More...
|
|
Array< std::string > | getStateVariableNames () const |
| Get the names of "continuous" state variables maintained by the Component and its subcomponents. More...
|
|
template<class C = Component> |
const C * | findComponent (const ComponentPath &pathToFind) const |
| Find a Component to which this Component is an ancestor—in other words, a Component that is directly owned by this Component or is owned by one of its sub-components, sub-sub-components, etc. More...
|
|
template<class C = Component> |
const C * | findComponent (const std::string &pathToFind) const |
| Same as findComponent(const ComponentPath&), but accepting a string (a path or just a name) as input. More...
|
|
const StateVariable * | traverseToStateVariable (const std::string &pathName) const |
| Get a StateVariable anywhere in the Component tree, given a StateVariable path. More...
|
|
const StateVariable * | traverseToStateVariable (const ComponentPath &path) const |
| Get a StateVariable anywhere in the Component tree, given a StateVariable path. More...
|
|
void | finalizeFromProperties () |
| Define a Component's internal data members and structure according to its properties. More...
|
|
void | finalizeConnections (Component &root) |
| Satisfy the Component's connections specified by its Sockets and Inputs. More...
|
|
void | clearConnections () |
| Disconnect/clear this Component from its aggregate component. More...
|
|
void | addToSystem (SimTK::MultibodySystem &system) const |
| Have the Component add itself to the underlying computational System. More...
|
|
void | initStateFromProperties (SimTK::State &state) const |
| Initialize Component's state variable values from its properties. More...
|
|
void | setPropertiesFromState (const SimTK::State &state) |
| Set Component's properties given a state. More...
|
|
int | getNumSockets () const |
| Get the number of Sockets in this Component. More...
|
|
std::vector< std::string > | getSocketNames () const |
| Collect and return the names of the sockets in this component. More...
|
|
template<typename T > |
const T & | getConnectee (const std::string &name) const |
| Get the "connectee" object that the Component's Socket is bound to. More...
|
|
const Object & | getConnectee (const std::string &name) const |
| Get the connectee as an Object. More...
|
|
const AbstractSocket & | getSocket (const std::string &name) const |
| Get an AbstractSocket for the given socket name. More...
|
|
AbstractSocket & | updSocket (const std::string &name) |
| Get a writable reference to the AbstractSocket for the given socket name. More...
|
|
template<typename T > |
const Socket< T > & | getSocket (const std::string &name) const |
| Get a const reference to the concrete Socket provided by this Component by name. More...
|
|
template<typename T > |
Socket< T > & | updSocket (const std::string &name) |
| Get a writable reference to the concrete Socket provided by this Component by name. More...
|
|
void | printSubcomponentInfo () const |
| List all subcomponents by name and recurse into these components to list their subcomponents, and so on. More...
|
|
void | printSocketInfo () const |
| List all the Sockets of this component and whether or not they are connected. More...
|
|
void | printInputInfo () const |
| List all the inputs of this component and whether or not they are connected. More...
|
|
template<typename C > |
void | printSubcomponentInfo () const |
|
void | printOutputInfo (const bool includeDescendants=true) const |
| Print outputs of this component and optionally, those of all subcomponents. More...
|
|
void | assign (Object &aObject) override |
| This allows copy assignment in the Java GUI. More...
|
|
int | getNumInputs () const |
| Access the number of Inputs that this component has. More...
|
|
int | getNumOutputs () const |
| Access the number of Outputs that this component has. More...
|
|
std::vector< std::string > | getInputNames () const |
| Collect and return the names of Inputs in this component as an std::vector. More...
|
|
std::vector< std::string > | getOutputNames () const |
| Collect and return the names of Outputs in this component as an std::vector. More...
|
|
const AbstractInput & | getInput (const std::string &name) const |
| Get an Input provided by this Component by name. More...
|
|
AbstractInput & | updInput (const std::string &name) |
| Get a writable reference to an Input provided by this Component by name. More...
|
|
template<typename T > |
const Input< T > & | getInput (const std::string &name) const |
| Get a concrete Input that you can directly ask for its values. More...
|
|
const AbstractOutput & | getOutput (const std::string &name) const |
| Get the Output provided by this Component by name. More...
|
|
AbstractOutput & | updOutput (const std::string &name) |
| Get a writable reference to an Output provided by this Component by name. More...
|
|
SimTK::IteratorRange< OutputConstIterator > | getOutputs () const |
| Iterate through all Outputs of this component. More...
|
|
int | getModelingOption (const SimTK::State &state, const std::string &name) const |
| Get a ModelingOption flag for this Component by name. More...
|
|
void | setModelingOption (SimTK::State &state, const std::string &name, int flag) const |
| Set the value of a ModelingOption flag for this Component. More...
|
|
template<typename T > |
const T & | getInputValue (const SimTK::State &state, const std::string &name) const |
| Get the Input value that this component is dependent on. More...
|
|
template<typename T > |
const T & | getOutputValue (const SimTK::State &state, const std::string &name) const |
| Get the Output value provided by this Component by name. More...
|
|
double | getStateVariableValue (const SimTK::State &state, const std::string &name) const |
| Get the value of a state variable allocated by this Component. More...
|
|
double | getStateVariableValue (const SimTK::State &state, const ComponentPath &path) const |
| Get the value of a state variable allocated by this Component. More...
|
|
void | setStateVariableValue (SimTK::State &state, const std::string &name, double value) const |
| Set the value of a state variable allocated by this Component by name. More...
|
|
SimTK::Vector | getStateVariableValues (const SimTK::State &state) const |
| Get all values of the state variables allocated by this Component. More...
|
|
void | setStateVariableValues (SimTK::State &state, const SimTK::Vector &values) const |
| Set all values of the state variables allocated by this Component. More...
|
|
double | getStateVariableDerivativeValue (const SimTK::State &state, const std::string &name) const |
| Get the value of a state variable derivative computed by this Component. More...
|
|
double | getDiscreteVariableValue (const SimTK::State &state, const std::string &name) const |
| Get the value of a discrete variable allocated by this Component by name. More...
|
|
void | setDiscreteVariableValue (SimTK::State &state, const std::string &name, double value) const |
| Set the value of a discrete variable allocated by this Component by name. More...
|
|
template<class T > |
SimTK::CacheEntryIndex | getCacheVariableIndex (const CacheVariable< T > &cv) const |
| Get the index of a Component's cache variable in the Subsystem for allocations. More...
|
|
SimTK::CacheEntryIndex | getCacheVariableIndex (const std::string &name) const |
| Get the index of a Component's cache variable in the Subsystem for allocations. More...
|
|
template<class T > |
const T & | getCacheVariableValue (const SimTK::State &state, const std::string &name) const |
| Get the value of a cache variable allocated by this Component by name. More...
|
|
template<class T > |
const T & | getCacheVariableValue (const SimTK::State &state, const CacheVariable< T > &cv) const |
| Get the value of a cache variable allocated by this Component. More...
|
|
template<typename T > |
void | setCacheVariableValue (const SimTK::State &state, const std::string &k, T value) const |
| Set the value of a cache variable, identified by name , to a new value and mark the cache variable as valid. More...
|
|
template<typename T > |
void | setCacheVariableValue (const SimTK::State &state, const CacheVariable< T > &cv, T value) const |
| Set the value of a cache variable to a new value and mark the cache variable as valid. More...
|
|
template<typename T > |
T & | updCacheVariableValue (const SimTK::State &state, const std::string &name) const |
| Returns a mutable reference to the value of a cache variable identified by name . More...
|
|
template<typename T > |
T & | updCacheVariableValue (const SimTK::State &state, const CacheVariable< T > &cv) const |
| Returns a mutable reference to the value of a cache variable. More...
|
|
bool | isCacheVariableValid (const SimTK::State &state, const std::string &name) const |
| Returns true if the cache variable, identified by name , is valid. More...
|
|
template<class T > |
bool | isCacheVariableValid (const SimTK::State &state, const CacheVariable< T > &cv) const |
| Returns true if the cache variable is valid. More...
|
|
void | markCacheVariableValid (const SimTK::State &state, const std::string &name) const |
| Marks the value of a cache variable, identified by name , as valid. More...
|
|
template<typename T > |
void | markCacheVariableValid (const SimTK::State &state, const CacheVariable< T > &cv) const |
| Marks the value of a cache variable as valid. More...
|
|
void | markCacheVariableInvalid (const SimTK::State &state, const std::string &name) const |
| Marks the value of a cache variable, identified by name , as invalid. More...
|
|
template<class T > |
void | markCacheVariableInvalid (const SimTK::State &state, const CacheVariable< T > &cv) const |
| Marks the value of a cache variable as invalid. More...
|
|
const Component & | getOwner () const |
| Access the owner of this Component. More...
|
|
bool | hasOwner () const |
| (For advanced users) Check if this Component has an owner. More...
|
|
const Component & | getRoot () const |
| Obtain the root Component, which is this component if it is orphaned. More...
|
|
virtual | ~Object () |
| Virtual destructor for cleanup. More...
|
|
bool | isEqualTo (const Object &aObject) const |
| Equality operator wrapper for use from languages not supporting operator overloading. More...
|
|
Object & | operator= (const Object &aObject) |
| Copy assignment copies he base class fields, including the properties. More...
|
|
virtual bool | operator== (const Object &aObject) const |
| Determine if two objects are equal. More...
|
|
virtual bool | operator< (const Object &aObject) const |
| Provide an ordering for objects so they can be put in sorted containers. More...
|
|
void | setName (const std::string &name) |
| Set the name of the Object. More...
|
|
const std::string & | getName () const |
| Get the name of this Object. More...
|
|
void | setDescription (const std::string &description) |
| Set description, a one-liner summary. More...
|
|
const std::string & | getDescription () const |
| Get description, a one-liner summary. More...
|
|
const std::string & | getAuthors () const |
| Get Authors of this Object. More...
|
|
void | setAuthors (const std::string &authors) |
| Set Authors of this object. More...
|
|
const std::string & | getReferences () const |
| Get references or publications to cite if using this object. More...
|
|
void | setReferences (const std::string &references) |
| Set references or publications to cite if using this object. More...
|
|
int | getNumProperties () const |
| Determine how many properties are stored with this Object. More...
|
|
const AbstractProperty & | getPropertyByIndex (int propertyIndex) const |
| Get a const reference to a property by its index number, returned as an AbstractProperty. More...
|
|
AbstractProperty & | updPropertyByIndex (int propertyIndex) |
| Get a writable reference to a property by its index number, returned as an AbstractProperty. More...
|
|
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. More...
|
|
const AbstractProperty & | getPropertyByName (const std::string &name) const |
| Get a const reference to a property by its name, returned as an AbstractProperty. More...
|
|
AbstractProperty & | updPropertyByName (const std::string &name) |
| Get a writable reference to a property by its name, returned as an AbstractProperty. More...
|
|
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. More...
|
|
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. More...
|
|
template<class T > |
const Property< T > & | getPropertyByName (const std::string &name) const |
| Get property of known type Property<T> as a const reference; the property must be present and have the right type. More...
|
|
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. More...
|
|
template<class T > |
Property< T > & | updPropertyByName (const std::string &name) |
| Get property of known type Property<T> as a writable reference; the property must be present and have the right type.
More...
|
|
bool | isObjectUpToDateWithProperties () const |
| Returns true if no property's value has changed since the last time setObjectIsUpToDateWithProperties() was called. More...
|
|
void | readObjectFromXMLNodeOrFile (SimTK::Xml::Element &objectElement, int versionNumber) |
| We're given an XML element from which we are to populate this Object. More...
|
|
void | updateXMLNode (SimTK::Xml::Element &parent, const AbstractProperty *prop=nullptr) const |
| Serialize this object into the XML node that represents it. More...
|
|
bool | getInlined () const |
| Inlined means an in-memory Object that is not associated with an XMLDocument. More...
|
|
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. More...
|
|
std::string | getDocumentFileName () const |
| If there is a document associated with this object then return the file name maintained by the document. More...
|
|
int | getDocumentFileVersion () const |
| If there is a document associated with this object then return its version number. More...
|
|
void | setAllPropertiesUseDefault (bool aUseDefault) |
|
bool | print (const std::string &fileName) const |
| Write this Object into an XML file of the given name; conventionally the suffix to use is ".osim". More...
|
|
std::string | dump () const |
| dump the XML representation of this Object into an std::string and return it. More...
|
|
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. More...
|
|
const std::string & | toString () const |
| Wrapper to be used on Java side to display objects in tree; this returns just the object's name. More...
|
|
PropertySet & | getPropertySet () |
| OBSOLETE: Get a reference to the PropertySet maintained by the Object. More...
|
|
const PropertySet & | getPropertySet () const |
|
|
virtual void | computeForce (const SimTK::State &s, SimTK::Vector_< SimTK::SpatialVec > &bodyForces, SimTK::Vector &generalizedForces) const override |
| Compute the bushing force contribution to the system and add in to appropriate bodyForces and/or system generalizedForces. More...
|
|
void | generateDecorations (bool fixed, const ModelDisplayHints &hints, const SimTK::State &state, SimTK::Array_< SimTK::DecorativeGeometry > &geometryArray) const override |
| Potential energy calculation is not implemented. More...
|
|
void | ComputeForcesAtBushing (const SimTK::State &state, SimTK::SpatialVec &forces_on_M_in_ground, SimTK::SpatialVec &forces_on_F_in_ground) const |
|
void | convertInternalForceToForcesOnFrames (const SimTK::State &state, SimTK::Vec6 f, SimTK::SpatialVec &F1_G, SimTK::SpatialVec &F2_G) const |
| Helper method to convert internal force expressed in the mobility basis between frame1 and frame2, dq, as individual spatial forces acting on each frame linked by this component. More...
|
|
void | addInPhysicalForcesFromInternal (const SimTK::State &state, SimTK::Vec6 f, SimTK::Vector_< SimTK::SpatialVec > &spatialForces) const |
| Helper method to add in the equivalent system spatial forces given internal forces. More...
|
|
void | extendConnectToModel (Model &model) override |
|
void | updateFromXMLNode (SimTK::Xml::Element &aNode, int versionNumber) override |
|
| Force () |
| Default constructor sets up Force-level properties; can only be called from a derived class constructor. More...
|
|
| Force (SimTK::Xml::Element &node) |
| Deserialization from XML, necessary so that derived classes can (de)serialize. More...
|
|
void | extendInitStateFromProperties (SimTK::State &state) const override |
| Subclass should override; be sure to invoke Super::extendInitStateFromProperties() at the beginning of the overriding method. More...
|
|
void | extendAddToSystem (SimTK::MultibodySystem &system) const override |
| Default is to create a ForceAdapter which is a SimTK::Force::Custom as the underlying computational component. More...
|
|
void | extendSetPropertiesFromState (const SimTK::State &state) override |
| Subclass should override; be sure to invoke Force::extendSetPropertiesFromState() at the beginning of the overriding method. More...
|
|
virtual double | computePotentialEnergy (const SimTK::State &state) const |
| Subclasses may optionally override this method to compute a contribution to the potential energy of the system. More...
|
|
void | applyForceToPoint (const SimTK::State &state, const PhysicalFrame &body, const SimTK::Vec3 &point, const SimTK::Vec3 &force, SimTK::Vector_< SimTK::SpatialVec > &bodyForces) const |
| Apply a force at a particular point (a "station") on a given body. More...
|
|
void | applyTorque (const SimTK::State &state, const PhysicalFrame &body, const SimTK::Vec3 &torque, SimTK::Vector_< SimTK::SpatialVec > &bodyForces) const |
| Apply a torque to a particular body. More...
|
|
void | applyGeneralizedForce (const SimTK::State &state, const Coordinate &coord, double force, SimTK::Vector &generalizedForces) const |
| Apply a generalized force. More...
|
|
const SimTK::Vec3 & | getScaleFactors (const ScaleSet &scaleSet, const Frame &frame) const |
| Get the scale factors corresponding to the base OpenSim::Body of the specified Frame. More...
|
|
virtual void | extendPreScale (const SimTK::State &s, const ScaleSet &scaleSet) |
| Perform any computations that must occur before ModelComponent::scale() is invoked on all ModelComponents in the Model. More...
|
|
virtual void | extendScale (const SimTK::State &s, const ScaleSet &scaleSet) |
| Scale the ModelComponent. More...
|
|
virtual void | extendPostScale (const SimTK::State &s, const ScaleSet &scaleSet) |
| Perform any computations that must occur after ModelComponent::scale() has been invoked on all ModelComponents in the Model. More...
|
|
void | extendFinalizeFromProperties () override |
| Perform any time-invariant calculations, data structure initializations, or other configuration based on the component's properties to form a functioning (but not yet connected) component. More...
|
|
| SimTK_DEFINE_UNIQUE_INDEX_TYPE (MemberSubcomponentIndex) |
|
template<class C = Component> |
MemberSubcomponentIndex | constructSubcomponent (const std::string &name) |
| Construct a subcomponent as a data member of this Component. More...
|
|
template<class C = Component> |
const C & | getMemberSubcomponent (MemberSubcomponentIndex ix) const |
|
template<class C = Component> |
C & | updMemberSubcomponent (MemberSubcomponentIndex ix) |
|
void | adoptSubcomponent (Component *subcomponent) |
| Adopt a component as a subcomponent of this Component. More...
|
|
size_t | getNumImmediateSubcomponents () const |
| Get the number of Subcomponents immediately owned by this Component. More...
|
|
size_t | getNumMemberSubcomponents () const |
| Get the number of Subcomponents that are data members of this Component. More...
|
|
size_t | getNumPropertySubcomponents () const |
| Get the number of Subcomponents that are properties of this Component. More...
|
|
size_t | getNumAdoptedSubcomponents () const |
| Get the number of Subcomponents adopted by this Component. More...
|
|
std::vector< SimTK::ReferencePtr< const Component > > | getImmediateSubcomponents () const |
| Access this Component's immediate subcomponents (not those owned by subcomponents) More...
|
|
template<class C > |
const C * | traversePathToComponent (ComponentPath path) const |
|
void | setNextSubcomponentInSystem (const Component &sub) const |
| Helper method to enable Component makers to specify the order of their subcomponents to be added to the System during addToSystem(). More...
|
|
void | resetSubcomponentOrder () |
| resetSubcomponentOrder clears this Component's list of ordered subcomponents (but otherwise leaves subcomponents untouched). More...
|
|
const Component & | get_components (int i) const |
| Get the value of the i-th element of the components property. More...
|
|
Component & | upd_components (int i) |
| Get a writable reference to the i-th element of the components property. More...
|
|
void | set_components (int i, const Component &value) |
| Set the value of the i-th element of components property. More...
|
|
int | append_components (const Component &value) |
| Append an element to the components property. More...
|
|
virtual void | extendAddComponent (Component *subcomponent) |
| Perform any secondary operations, e.g. More...
|
|
void | initComponentTreeTraversal (const Component &root) const |
| Build the tree of Components from this component through its descendants. More...
|
|
virtual void | extendAddToSystemAfterSubcomponents (SimTK::MultibodySystem &system) const |
| Add appropriate Simbody elements (if needed) to the System after your component's subcomponents have had a chance to add themselves to the system. More...
|
|
virtual void | computeStateVariableDerivatives (const SimTK::State &s) const |
| If a model component has allocated any continuous state variables using the addStateVariable() method, then computeStateVariableDerivatives() must be implemented to provide time derivatives for those states. More...
|
|
void | setStateVariableDerivativeValue (const SimTK::State &state, const std::string &name, double deriv) const |
| Set the derivative of a state variable by name when computed inside of this Component's computeStateVariableDerivatives() method. More...
|
|
virtual void | extendRealizeTopology (SimTK::State &state) const |
| Obtain state resources that are needed unconditionally, and perform computations that depend only on the system topology. More...
|
|
virtual void | extendRealizeModel (SimTK::State &state) const |
| Obtain and name state resources (like state variables allocated by an underlying Simbody component) that may be needed, depending on modeling options. More...
|
|
virtual void | extendRealizeInstance (const SimTK::State &state) const |
| Perform computations that depend only on instance variables, like lengths and masses. More...
|
|
virtual void | extendRealizeTime (const SimTK::State &state) const |
| Perform computations that depend only on time and earlier stages. More...
|
|
virtual void | extendRealizePosition (const SimTK::State &state) const |
| Perform computations that depend only on position-level state variables and computations performed in earlier stages (including time). More...
|
|
virtual void | extendRealizeVelocity (const SimTK::State &state) const |
| Perform computations that depend only on velocity-level state variables and computations performed in earlier stages (including position, and time). More...
|
|
virtual void | extendRealizeDynamics (const SimTK::State &state) const |
| Perform computations (typically forces) that may depend on dynamics-stage state variables, and on computations performed in earlier stages (including velocity, position, and time), but not on other forces, accelerations, constraint multipliers, or reaction forces. More...
|
|
virtual void | extendRealizeAcceleration (const SimTK::State &state) const |
| Perform computations that may depend on applied forces. More...
|
|
virtual void | extendRealizeReport (const SimTK::State &state) const |
| Perform computations that may depend on anything but are only used for reporting and cannot affect subsequent simulation behavior. More...
|
|
void | addModelingOption (const std::string &optionName, int maxFlagValue) const |
| Add a modeling option (integer flag stored in the State) for use by this Component. More...
|
|
void | addStateVariable (const std::string &stateVariableName, const SimTK::Stage &invalidatesStage=SimTK::Stage::Dynamics, bool isHidden=false) const |
| Add a continuous system state variable belonging to this Component, and assign a name by which to refer to it. More...
|
|
void | addStateVariable (Component::StateVariable *stateVariable) const |
| The above method provides a convenient interface to this method, which automatically creates an 'AddedStateVariable' and allocates resources in the SimTK::State for this variable. More...
|
|
void | addDiscreteVariable (const std::string &discreteVariableName, SimTK::Stage invalidatesStage) const |
| Add a system discrete variable belonging to this Component, give it a name by which it can be referenced, and declare the lowest Stage that should be invalidated if this variable's value is changed. More...
|
|
SimTK::MultibodySystem & | updSystem () const |
| Get writable reference to the MultibodySystem that this component is connected to. More...
|
|
int | getStateIndex (const std::string &name) const |
| Get the index of a Component's continuous state variable in the Subsystem for allocations. More...
|
|
SimTK::SystemYIndex | getStateVariableSystemIndex (const std::string &stateVariableName) const |
| Get the System Index of a state variable allocated by this Component. More...
|
|
const SimTK::DiscreteVariableIndex | getDiscreteVariableIndex (const std::string &name) const |
| Get the index of a Component's discrete variable in the Subsystem for allocations. More...
|
|
template<typename T > |
PropertyIndex | constructSocket (const std::string &name, const std::string &propertyComment) |
| Construct a specialized Socket for this Component's dependence on another Component. More...
|
|
template<typename T , typename CompType = Component> |
bool | constructOutput (const std::string &name, T(CompType::*const memFunc)(const SimTK::State &) const, const SimTK::Stage &dependsOn=SimTK::Stage::Acceleration) |
| Construct an output for a member function of the same component. More...
|
|
template<typename T , typename CompType = Component> |
bool | constructOutput (const std::string &name, const T &(CompType::*const memFunc)(const SimTK::State &) const, const SimTK::Stage &dependsOn=SimTK::Stage::Acceleration) |
| This variant handles component member functions that return the output value by const reference (const T&). More...
|
|
template<typename T , typename CompType > |
bool | constructListOutput (const std::string &name, T(CompType::*const memFunc)(const SimTK::State &, const std::string &channel) const, const SimTK::Stage &dependsOn=SimTK::Stage::Acceleration) |
| Construct an output that can have multiple channels. More...
|
|
bool | constructOutputForStateVariable (const std::string &name) |
| Construct an Output for a StateVariable. More...
|
|
template<typename T > |
PropertyIndex | constructInput (const std::string &name, bool isList, const std::string &propertyComment, const SimTK::Stage &requiredAtStage=SimTK::Stage::Instance) |
| Construct an Input (socket) for this Component's dependence on an Output signal. More...
|
|
template<class T > |
CacheVariable< T > | addCacheVariable (std::string name, T variablePrototype, SimTK::Stage dependsOnStage) const |
| Add a state cache entry belonging to this Component to hold calculated values that must be automatically invalidated when certain state values change. More...
|
|
void | setOwner (const Component &owner) |
| Set this Component's reference to its owning Component More...
|
|
| Object () |
| The default constructor is only for use by constructors of derived types. More...
|
|
| Object (const std::string &fileName, bool aUpdateFromXMLNode=true) |
| Constructor from a file, to be called from other constructors that take a file as input. More...
|
|
| Object (const Object &source) |
| Copy constructor is invoked automatically by derived classes with default copy constructors; otherwise it must be invoked explicitly. More...
|
|
| Object (SimTK::Xml::Element &aElement) |
| Construct the base class portion of an Object from a given Xml element that describes this Object. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
PropertyIndex | getPropertyIndex (const std::string &name) const |
| Look up a property by name and return its PropertyIndex if it is found. More...
|
|
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. More...
|
|
template<class T > |
void | checkPropertyValueIsPositive (const Property< T > &p) const |
| Throw an exception if any of the property's values are not positive. More...
|
|
template<class T > |
void | checkPropertyValueIsInSet (const Property< T > &p, const std::set< T > &set) const |
| Throw an exception if any of the property's values are not in the provided set. More...
|
|
template<class T > |
void | checkPropertyValueIsInRangeOrSet (const Property< T > &p, const T &lower, const T &upper, const std::set< T > &set) const |
| Throw an exception if any of the property's values are neither in the provided range nor in the provided set. More...
|
|
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. More...
|
|
void | clearObjectIsUpToDateWithProperties () |
| For testing or debugging purposes, manually clear the "object is up to
date with respect to properties" flag. More...
|
|
void | makeObjectNamesConsistentWithProperties () |
| Make sure the name of an object is consistent with its property type. More...
|
|
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. More...
|
|
void | setDocument (XMLDocument *doc) |
| Unconditionally set the XMLDocument associated with this object. More...
|
|
const XMLDocument * | getDocument () const |
| Get a const pointer to the document (if any) associated with this object. More...
|
|
XMLDocument * | updDocument () |
| Get a writable pointer to the document (if any) associated with this object. More...
|
|