Classes | |
class | ContDerivMuscle |
A class implementing a SIMM muscle. More... | |
class | CoordinateActuator |
class | Delp1990Muscle |
A class implementing a SIMM muscle. More... | |
class | PassiveJointTorque |
class | PointActuator |
class | Schutte1993Muscle |
A class implementing a SIMM muscle. More... | |
class | SpringGeneralizedForce |
class | Springs |
class | Thelen2003Muscle |
A class implementing a SIMM muscle. More... | |
class | TorqueActuator |
class | Actuation |
A class for recording the basic actuator information for a model during a simulation. More... | |
class | ActuatorPerturbation |
class | ActuatorPerturbationIndependent |
class | BodyKinematics |
A class for recording the kinematics of the bodies of a model during a simulation. More... | |
class | ForceReporter |
A class for recording the Forces applied to a model during a simulation. More... | |
class | InverseDynamics |
A class for performing and recording Inverse Dynamics forces/moments on a motion trajectory. More... | |
class | JointReaction |
An analysis for reporting the joint reaction loads from a model. More... | |
class | Kinematics |
A class for recording the kinematics of the generalized coordinates of a model during a simulation. More... | |
class | MuscleAnalysis |
A class for recording and computting basic quantities (length, shortening velocity, tendon length, . More... | |
class | PointKinematics |
A class for recording the kinematics of a point on a body of a model during a simulation. More... | |
class | StaticOptimization |
This class implements static optimization to compute Muscle Forces and activations. More... | |
class | StaticOptimizationTarget |
This class provides an interface specification for static optimization Objective Function. More... | |
class | Array |
class | ArrayPtrs |
class | BSpline |
class | Constant |
A class for representing a constant value. More... | |
class | Event |
A base class for events to be communicated between platform objects. More... | |
class | Exception |
class | Function |
class | FunctionAdapter |
class | FunctionScaler |
class | FunctionSet |
class | GCVSpline |
class | GCVSplineSet |
class | Geometry |
Class Geometry is intended to be used as the base class for all geometry that needs to be represented in the system, both as vtk files, or analytic. More... | |
class | LineGeometry |
class | ArrowGeometry |
class | AnalyticGeometry |
Utility class used to abstract anayltic geometry. More... | |
class | AnalyticSphere |
class | AnalyticEllipsoid |
class | AnalyticCylinder |
class | AnalyticTorus |
class | PolyhedralGeometry |
class | InterruptedException |
class | IO |
class | LinearFunction |
A class for representing a LinearFunction. More... | |
class | LogCallback |
class | StreamLogCallback |
class | LogBuffer |
class | LogManager |
class | MarkerData |
A class implementing a sequence of marker frames from a TRC/TRB file. More... | |
class | MarkerFrame |
A class implementing a frame of marker data from a TRC/TRB file. More... | |
class | Material |
A class for representing the material properties of an object. More... | |
class | Mtx |
class | MultiplierFunction |
class | NaturalCubicSpline |
class | Object |
class | ObjectGroup |
A class implementing an object group. More... | |
class | Observable |
class | OptimizationTarget |
class | PiecewiseLinearFunction |
class | Property |
class | PropertyBool |
class | PropertyBoolArray |
Class PropertyBoolArray extends class Property. More... | |
class | PropertyDbl |
class | PropertyDblArray |
class | PropertyDblVec3 |
class | PropertyGroup |
A class implementing a property group. More... | |
class | PropertyInt |
class | PropertyIntArray |
class | PropertyObj |
class | PropertyObjArray |
class | PropertyObjPtr |
class | PropertySet |
class | PropertyStr |
class | PropertyStrArray |
class | Range |
class | RootSolver |
class | Scale |
class | ScaleSet |
class | Set |
A class for holding a set of pointers to objects. More... | |
class | Signal |
class | SimmMotionData |
A class implementing a SIMM motion file. More... | |
class | SimmMotionEvent |
A class implementing an event in a SIMM motion. More... | |
class | SimmPoint |
A class implementing a 3D point. More... | |
class | SIMMTransform |
Class SIMMTransform is intended to represent transformations for rd platform. More... | |
class | SIMMUtilities |
class | Spline |
class | StateVector |
class | StepFunction |
class | Storage |
class | ExampleVectorFunctionUncoupledNxN |
class | rdSerializableObject |
class | rdSerializableObject2 |
class | TransformChangeEvent |
class | Units |
A class implementing various units for measuring quantities. More... | |
class | VectorFunction |
class | VectorFunctionUncoupledNxN |
class | VectorGCVSplineR1R3 |
class | VisibleObject |
Class VisibleObject is intended to be used as the base class for all Visible objects that subclass Object. More... | |
class | VisibleProperties |
Class VisibleProperties is intended to contain all visible properties of an object including Wireframe/Surface Shading-Quality,. More... | |
class | XMLDocument |
class | XMLNode |
class | XMLParsingException |
class | XYPoint |
class | XYFunctionInterface |
class | ConstantController |
class | Control |
class | ControlConstant |
class | Controller |
class | ControlLinear |
class | ControlLinearNode |
class | ControlSet |
class | ControlSetController |
class | TrackingController |
class | Manager |
class | AbstractTool |
An abstract class for specifying the interface for an investigation. More... | |
class | Actuator |
An abstract class for representing an actuator (e.g., a torque motor, muscle, . More... | |
class | Analysis |
An abstract class for specifying the interface for an analysis plugin. More... | |
class | AnalysisSet |
class | BodyScale |
A class implementing a set of parameters describing how to scale a body segment. More... | |
class | BodyScaleSet |
A class for holding a set of body scales. More... | |
class | BodySet |
A class for holding a set of bodies. More... | |
class | CMCActuatorSystemRep |
class | CMCActuatorSystem |
class | CMCActuatorSubsystemRep |
class | CMCActuatorSubsystem |
class | Condition |
A parent class for implementing an OpenSim Condition. More... | |
class | ConditionalPathPoint |
A class implementing a conditional path point, which is a point that is active only for a specified range of a coordinate. More... | |
class | ConstraintSet |
A class for holding a set of constraints. More... | |
class | ContactGeometry |
This class represents the physical shape of an object for use in contact modeling. More... | |
class | ContactGeometrySet |
A class for holding a set of ContactGeometry objects. More... | |
class | ContactHalfSpace |
This class represents a half space (that is, everything to one side of an infinite plane) for use in contact modeling. More... | |
class | ContactMesh |
This class represents a polygonal mesh for use in contact modeling. More... | |
class | ContactSphere |
This class represents a spherical object for use in contact modeling. More... | |
class | ControllerSet |
A class for holding and managing a set of controllers for a model. More... | |
class | CoordinateSet |
A class for holding a set of coordinates. More... | |
class | CustomActuator |
This is an abstract subclass of Actuator which allows you to define new Actuator types by overriding methods, rather than having to create a new SimTK::Force subclass. More... | |
class | CustomForce |
This is an abstract subclass of Force which allows you to define new Force types by overriding methods, rather than having to create a new SimTK::Force subclass. More... | |
class | ElasticFoundationForce |
This Force subclass implements an elastic foundation contact model. More... | |
class | Force |
This abstract class represents a force applied to bodies or generalized coordinates during a simulation. More... | |
class | ForceAdapter |
This acts as an adapter to allow a CustomForce or CustomActuator to be used as a SimTK::Force. More... | |
class | ForceSet |
A class for holding and managing a set of actuators for a model. More... | |
class | FunctionThresholdCondition |
FunctionThresholdCondition is a concrete implementation of a Condition. More... | |
class | GeometryPath |
A base class representing a path (muscle, ligament, etc. More... | |
class | HuntCrossleyForce |
This force subclass implements a Hunt-Crossley contact model. More... | |
class | JointSet |
A class for holding a set of joints. More... | |
class | Ligament |
A class implementing a ligament. More... | |
class | Marker |
A class implementing a SIMM [mocap] marker. More... | |
class | MarkerSet |
A class for holding a set of markers for inverse kinematics. More... | |
class | Model |
A base class that specifies the interface for a musculoskeletal model. More... | |
class | ModelComponent |
This is the base class for any object which can be added to a Model. More... | |
class | ModelComponentSet |
This is the base class for sets of ModelComponent subclasses. More... | |
class | MovingPathPoint |
A class implementing a moving muscle point, which is a muscle point that moves in a body's reference frame as a function of a coordinate. More... | |
class | Muscle |
A base class representing a muscle-tendon actuator. More... | |
class | OpenSimForceSubsystemRep |
class | OpenSimForceSubsystem |
class | PathPoint |
A class implementing a path point. More... | |
class | PathPointSet |
A class for holding a set of muscle points. More... | |
class | PrescribedForce |
This applies a force and/or torque to a body which is fully specified as a function of time. More... | |
class | VectorFunctionForActuators |
class | BallJoint |
A class implementing an Ball joint. More... | |
class | Body |
A class implementing a Simbody body segment. More... | |
class | Constraint |
A parent class for implementing a Simbody Constraint. More... | |
class | Coordinate |
A class implementing a Simbody generalized coordinate. More... | |
class | CoordinateCouplerConstraint |
class | CustomJoint |
A class implementing a custom joint. More... | |
class | EllipsoidJoint |
A class implementing an Ellipsoid joint. More... | |
class | FreeJoint |
A class implementing a Free joint. More... | |
class | Joint |
A class implementing an OpenSim Joint. More... | |
class | PinJoint |
A class implementing an Pin joint. More... | |
class | PointConstraint |
A class implementing a Point Constraint. More... | |
class | PointOnLineConstraint |
A class implementing a Point On Line Constraint. More... | |
class | RollingOnSurfaceConstraint |
A class implementing a collection of rolling-without-slipping and non-penetration constraints on a surface. More... | |
class | SimbodyEngine |
A wrapper class to use the SimTK Simbody dynamics engine as the underlying engine for OpenSim. More... | |
class | SliderJoint |
A class implementing an Slider joint. More... | |
class | SpatialTransform |
A class encapsulating the spatial transformation bewteen two bodies that defines the behaviour of a custom joint. More... | |
class | TransformAxis |
A class expressing a tranformation of a child body in relation to a parent body along either a translation or rotation axis. More... | |
class | UnilateralConstraint |
A parent class for implementing an OpenSim UnilateralConstraint. More... | |
class | WeldConstraint |
A class implementing a Weld Constraint. More... | |
class | WeldJoint |
A class implementing an Weld joint. More... | |
class | ModelTestSuite |
class | PathWrap |
A class implementing an instance of muscle wrapping. More... | |
class | PathWrapPoint |
A class implementing a SIMM muscle via point, which is a muscle point that is active only for a specified range of a coordinate. More... | |
class | PathWrapSet |
A class for holding a set of muscle wrap instances. More... | |
class | WrapCylinder |
A class implementing a cylinder for muscle wrapping. More... | |
class | WrapCylinderObst |
A class implementing a cylinder obstacle for muscle wrapping, based on algorithm presented in Garner & Pandy (2000). More... | |
class | WrapDoubleCylinderObst |
A class implementing a cylinder obstacle for muscle wrapping, based on algorithm presented in Garner & Pandy (2000). More... | |
class | WrapEllipsoid |
A class implementing an ellipsoid for muscle wrapping. More... | |
class | WrapMath |
This class provides basic math functions and constants. More... | |
class | WrapObject |
An abstract class that specifies the interface for a wrapping object. More... | |
class | WrapObjectSet |
A class for holding a set of wrap objects. More... | |
class | WrapResult |
A class for holding the results of a wrapping calculation. More... | |
class | WrapSphere |
A class implementing a sphere for muscle wrapping. More... | |
class | WrapSphereObst |
A class implementing a sphere obstacle for muscle wrapping, based on the algorithm presented in Garner & Pandy (2000). More... | |
class | WrapTorus |
A class implementing a torus for muscle wrapping. More... | |
class | ActuatorForceTarget |
A Computed Muscle Control (CMC) optimization target for controlling dynamic systems whose actuators may be themselves governed by differential equations, meaning there may be non-linear behavior and delays in force production. More... | |
class | ActuatorForceTargetFast |
A Computed Muscle Control (CMC) optimization target for controlling dynamic systems whose actuators may be themselves governed by differential equations, meaning there may be non-linear behavior and delays in force production. More... | |
class | AnalyzeTool |
An abstract class for specifying the interface for an investigation. More... | |
class | CMC |
Computed Muscle Control (CMC) is an optimization-based control technique designed specifically for controlling dynamic models that are actuated by redundant sets of actuators whose force-generating properties may be nonlinear and goverend by differential equaitions (as so have delays in force production). More... | |
class | CMC_Joint |
A class for specifying the tracking task for a joint. More... | |
class | CMC_Orientation |
A class for tracking the orientation of a body. More... | |
class | CMC_Point |
A class for specifying and computing parameters for tracking a point. More... | |
class | CMC_Task |
An abstract base class for specifying a task objective for a dynamic simulation. More... | |
class | CMC_TaskSet |
An class for holding and managing a set of tasks. More... | |
class | CMCTool |
An abstract class for specifying the interface for an investigation. More... | |
class | CorrectionController |
This is a simple feedback controller to be used in generating a forward dynamic simulation. More... | |
class | ForwardTool |
A concrete tool for perfroming forward dynamics simulations. More... | |
class | GenericModelMaker |
A class implementing a set of parameters describing a generic musculoskeletal model. More... | |
class | IKCoordinateTask |
class | IKMarkerTask |
class | IKSolverImpl |
class | IKSolverInterface |
class | IKTarget |
A Class that represents an inverse kinematics optimization target. More... | |
class | IKTask |
class | IKTaskSet |
class | IKTool |
An investigation class for the IK solver. More... | |
class | IKTrial |
A class implementing a set of parameters describing how to perform a single inverse kinematics trial on a model and a marker set. More... | |
class | IKTrialSet |
A class for holding a set of SIMM coordinates. More... | |
class | MarkerPair |
class | MarkerPairSet |
A class for holding a set of SimmMarkerPairs. More... | |
class | MarkerPlacer |
A class implementing a set of parameters describing how to place markers on a model (presumably after it has been scaled to fit a subject). More... | |
class | Measurement |
A class implementing a measurement (the distance between one or more pairs of markers, used to scale a model). More... | |
class | MeasurementSet |
A class for holding a set of measurements. More... | |
class | ModelScaler |
A class for scaling a model. More... | |
class | PerturbationTool |
An abstract class for specifying the interface for an investigation. More... | |
class | ScaleTool |
A class implementing a set of parameters describing how to scale a model to fit a subject, place markers on it, and do IK on one or more motion trials. More... | |
class | SMC_Joint |
A class for specifying the tracking task for a joint. More... | |
Typedefs | |
typedef std::map< std::string, std::string, std::less < std::string > > | MapKeysToValues |
Functions | |
OSIMCOMMON_API OPENSIM_PORTABLE_HMODULE WINAPI | LoadOpenSimLibrary (const std::string &lpLibFileName, bool verbose) |
A wrapper around Window's LoadLibrary that implements library naming convention and loading policy on windows which follows: If you're loading osimSimulation_D and other libraries that do not have a trailing _D an _D is appended to the library file name. | |
OSIMCOMMON_API void | LoadOpenSimLibrary (const std::string &aLibraryName) |
OSIMCOMMON_API void | LoadOpenSimLibraries (int argc, char **argv) |
A function for loading libraries specified in a command line. | |
bool | readNonCommentStringFromStream (istream &aStream, string &rBuffer) |
Read a string from a stream, skipping over any commented text. | |
bool | readStringFromStream (istream &aStream, string &rBuffer) |
Read a string from a stream. | |
bool | readStringFromString (string &aString, string &rBuffer) |
Read a string from an input string. | |
bool | readTabDelimitedStringFromString (string &aString, string &rBuffer) |
Read a tab-delimited string from an input string. | |
bool | readIntegerFromString (string &aString, int *rNumber) |
Read an integer from an input string. | |
bool | readDoubleFromString (string &aString, double *rNumber) |
Read a double from an input string. | |
bool | readVectorFromString (string &aString, SimmPoint &rVec) |
Read a vector from an input string. | |
bool | readVectorFromString (string &aString, double *rVX, double *rVY, double *rVZ) |
Read a vector from an input string. | |
bool | readCoordinatesFromString (string &aString, double rVec[3]) |
Read tab-delimited XYZ coordinate values from a string. | |
int | findFirstNonWhiteSpace (string &aString) |
Find the first non-white-space character in a string. | |
int | findFirstWhiteSpace (string &aString) |
Find the first white-space character in a string. | |
void | convertString (string &aString, bool aPrependUnderscore) |
Convert a text string into a single token that can serve as a C/C++ variable name. | |
string | getCurrentTimeString () |
bool OSIMCOMMON_API | readNonCommentStringFromStream (std::istream &aStream, std::string &rBuffer) |
bool OSIMCOMMON_API | readStringFromStream (std::istream &aStream, std::string &rBuffer) |
bool OSIMCOMMON_API | readStringFromString (std::string &aString, std::string &rBuffer) |
bool OSIMCOMMON_API | readTabDelimitedStringFromString (std::string &aString, std::string &rBuffer) |
bool OSIMCOMMON_API | readIntegerFromString (std::string &aString, int *rNumber) |
bool OSIMCOMMON_API | readDoubleFromString (std::string &aString, double *rNumber) |
bool OSIMCOMMON_API | readVectorFromString (std::string &aString, SimmPoint &rVec) |
bool OSIMCOMMON_API | readVectorFromString (std::string &aString, double *rVX, double *rVY, double *rVZ) |
bool OSIMCOMMON_API | readCoordinatesFromString (std::string &aString, double rVec[3]) |
int OSIMCOMMON_API | findFirstNonWhiteSpace (std::string &aString) |
int OSIMCOMMON_API | findFirstWhiteSpace (std::string &aString) |
void OSIMCOMMON_API | convertString (std::string &aString, bool aPrependUnderscore) |
OSIMSIMULATION_API Model * | LoadModel (const string &aModelLibraryName, const string &aModelFileName) |
Load and create a model from a dynamically loaded library (DLL). | |
OSIMSIMULATION_API Model * | LoadModel (const std::string &aModelLibraryName, const std::string &aModelFileName="") |
A class for holding the names of a pair of markers (for making measurements on a model).
A class for testing the basic functionality of an Model instance.
A class for holding and managing a set of integration callbacks for a model.
A class that manages the execution of a simulation.
TrackingController is an abstract class from which all tracking type of controllers should be derived.
A class for holding and managing a set of controls for a dynamic simulation.
A control node used to reconstruct a piecewise linear control.
A class that represents a piece-wise linear control curve.
Controller is a class that specifies the interface (i.e., the minimal set of variables and methods that should be defined by any class used to control a Model.
A class that represents a constant control curve.
A class that represents a control in a dynamic simulation.
ControllerSetController is a controller that uses a ControlSet to supply controls to actuators.
A class for XML parsing exceptions (derives from Exception).
A class for performing operations on XML nodes.
A class for managing and for performing operations on an XML document.
An object for mainly for testing XML serialization.
An abstract class for representing a vector function.
A class for storing an array of statevectors.
A class implementing a step function.
A class which stores a vector of states or data at a specified time.
A class for representing smooth functions with b-splines.
A class for signal processing.
A class for finding the N roots of N one-dimensional non-linear equations.
Class PropertyStrArray extends class Property.
A property set is simply a set of properties.
Class PropertyObjPtr extends class Property.
Class PropertyObjArray extends class Property.
Class PropertyObj extends class Property.
Class PropertyIntArray extends class Property.
Class PropertyInt extends class Property.
Class PropertyDblVec3 extends class Property.
Class PropertyDblArray extends class Property.
Class PropertyDbl extends class Property.
Class PropertyBool extends class Property.
A class implementing a linear function.
This class provides an interface specification for optimizing redundant systems.
A class implementing a smooth function with a natural cubic spline.
A class implementing a Function and a scale factor for the function's value.
A class for performing vector and matrix operations.
A class for performing input and output.
Typically used by the GUI to stop long computations (e.g.
A class for holding a set of generalized cross-validated splines.
A class for representing a smooth function with a generalized cross-validation spline.
A class for holding a set of functions.
This is a SimTK::Function that multiplies the value of another function by a constant.
This is a SimTK::Function that acts as a wrapper around an OpenMM::Function.
An abstract class for representing a function.
A class for basic exception functionality.
A class for representing and evaluating univariate B-splines.
A class for storing an array of pointers to objects of type T.
A class for storing an array of values of type T.
A used for perturbing the actuator forces during a simulation.
Used for perturbing the actuator forces during a simulation.
A class that implements a torque actuator acting on a body.
A class which implements a set of static functions which model the stress-strain properties of a number of different types of springs.
An force that exerts a generalized force based on spring-like characteristics (stiffness and viscosity).
A class that implements a point actuator acting on the model.
An actuator that exerts passive elastic and damping forces at a generalized coordinate.
This actuator has no states; the control is simply the force to be applied to the model.
This requires that two unperturbed integration be performed prior to running a perturbation. The first is to establish the correct number of timesteps used in the simulation. The integrator should be set to use the existing DTVector prior to running the second unperturbed simulation, during which the unperturbed forces should be recorded. The user is responsible for running these unperturbed integrations.This should be reset between running simulations.
This will only work properly when the integration start time is t = 0.0.
When an ArrayPtrs object falls out of scope or is deleted, all objects pointed to by the pointers in the array are deleted unless the array is set not to own the memory associated with the objects to which its array points.
The capacity of the class grows as needed. To use this template for a class of type T, class T should implement the following methods: default constructor, copy constructor, T* copy(), assignment operator (=), equality operator (==), less than operator (<), and the output operator (<<).
m (half-order) order degree description 1 2 1 linear 2 4 3 cubic 3 6 5 quintic 4 8 7 heptic
This class wraps the gcvspl.c source code written by D. Twisk in 1994, which is based on the GCVSPL code written in Fortran by Woltring in 1985_07_04. This class was initially based on a spline class authored by Darryl Thelen and Victor Ng; it has been rewritten to fit into the Realistic Dynamics, Inc. software framework.
See the following source for details on how the GCV spline is fit: Woltring, H.J. (1986). A Fortran package for generalized, cross-validatory spline smoothing and differentiation. Advances in Engineering Software, Vol. 8, No. 2, 104-113.
This class inherits from Function and so can be used as input to any class requiring an rdFuction as input.
This class inherits from Function and so can be used as input to any class requiring a Fuction as input.
This class inherits from Function and so can be used as input to any class requiring a Function as input.
Note: Class owns its Object _value (so it is deleted as appropriate).
This class can always be used for a system where N=1, although there will be some small amount of overhead for this class to function in this way when compared to a class that is dedicated to an N=1.
To construct an instance of this class, the user must provide an instance of a VectorFunctionUncoupledNxN.
The format of the numerical output for this class is specified by the settings in IO.
When stored as a file, the statevectors are stored in rows. This first value in a row is the time stamp at which the states occured. The rest of the elements in a row are the states. Therefore, each column of data in a file corresponds to a particular state.
In an Storage object, statevectors (or rows) are indexed by the TimeIndex, and a particular state (or column) is indexed by the StateIndex.
A vector function is a relation between some number of independent variables and some number of dependent values such that for any particular set of independent variables the correct number of dependent variables is returned. Values of the function and its derivatives are obtained by calling the evaluate() method. The curve may or may not be finite or diferentiable; the evaluate method returns values between -SimTKInfinity and SimTK::Infinity , or it returns SimTK::NaN (not a number) if the curve is not defined. Currently, functions of up to 3 variables (x,y,z) are supported.
Linear, cubic, qunitic, and heptic splines are supported:
m (half-order) order degree description 1 2 1 linear 2 4 3 cubic 3 6 5 quintic 4 8 7 heptic
This class wraps the gcvspl.c source code written by D. Twisk in 1994, which is based on the GCVSPL code written in Fortran by Woltring in 1985_07_04. This class was initially based on a spline class authored by Darryl Thelen and Victor Ng; it has been rewritten to fit into the Realistic Dynamics, Inc. software framework.
See the following source for details on how the GCV spline is fit: Woltring, H.J. (1986). A Fortran package for generalized, cross-validatory spline smoothing and differentiation. Advances in Engineering Software, Vol. 8, No. 2, 104-113.
This class inherits from VectorFunction and so can be used as input to any class requiring an rdVectorFuction as input.
The document can originate from one of two sources: 1) parsed from an XML source or 2) created locally in memory.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
In general, a control consists of a set of parameters. These parameters are used to reconstruct a control curve. For example, a control may be represented by a consant, a series of step functions, a set of linearly interpolated values, a set of spline control points, coefficients in a Fourier series, etc.
Because there is not necessarily a 1-to-1 correspondence between the parameters used to represent a control curve and the value of the control curve, there are two basic ways to access the content of a control: getParameter() gets the value of a parameter, and getValue() gets the value at a particular time.
A distinction is also made between controls that control a model and controls that control some other aspect of a simulation. For example, a control for the excitation level of a muscle is a "model" control. The value of this type of control is querried during the course of a simualtion. On the other hand, a control for the final time of a simulation is not usually a "model" control. Nor is a control for the initial value of a state variable, even if that state variable is the initial value of a muscle activation. These "non-model" controls are used to set things before a simulation ever begins and are not querried during the cours of a simulation. The number of model controls can be querried by a call to Model::getNumControls().
Derive classes need only to implement the tracking control law based on the error signals computed by this base class.
void OpenSim::convertString | ( | string & | aString, | |
bool | aPrependUnderscore | |||
) |
Convert a text string into a single token that can serve as a C/C++ variable name.
aString | input string to convert. | |
aPrependUnderscore | whether to prepend underscore before numbers |
int OpenSim::findFirstNonWhiteSpace | ( | string & | aString | ) |
Find the first non-white-space character in a string.
aString | input string to scan. |
int OpenSim::findFirstWhiteSpace | ( | string & | aString | ) |
Find the first white-space character in a string.
aString | input string to scan. |
OSIMSIMULATION_API Model* OpenSim::LoadModel | ( | const string & | aModelLibraryName, | |
const string & | aModelFileName | |||
) |
Load and create a model from a dynamically loaded library (DLL).
aModelLibraryName | Name of the model DLL (e.g., rdBlock_D). Do not include the library (.lib) or DLL (.dll) extension in the name of the model library. | |
aModelFileName | Name of the model xml file (optional). |
OSIMCOMMON_API void OpenSim::LoadOpenSimLibraries | ( | int | argc, | |
char ** | argv | |||
) |
A function for loading libraries specified in a command line.
LoadOpenSimLibrary() is used to load each library.
argc | Number of command-line arguments. | |
argv | Array of command-line arguments. |
OSIMCOMMON_API OPENSIM_PORTABLE_HMODULE WINAPI OpenSim::LoadOpenSimLibrary | ( | const std::string & | lpLibFileName, | |
bool | verbose | |||
) |
A wrapper around Window's LoadLibrary that implements library naming convention and loading policy on windows which follows: If you're loading osimSimulation_D and other libraries that do not have a trailing _D an _D is appended to the library file name.
If loading of that fails, we revert to using the non _D file instead, if that fails we give error and return 0. A reciprocal treatment for release libraries is implemented. I tried to keep this function in the same file to try to localize platform specific code. -Ayman
lpLibFileName | Name of the library without either the .lib or .dll extension. |
bool OpenSim::readCoordinatesFromString | ( | string & | aString, | |
double | rVec[3] | |||
) |
Read tab-delimited XYZ coordinate values from a string.
If there are 2 tabs in a row, this indicates a missing coordinate, so fill it in with SimTK::NaN. The input string is modified by deleting the coordinates from it after they have been read.
aString | input string to read from. | |
rVec | vector of coordinates is returned here. |
bool OpenSim::readDoubleFromString | ( | string & | aString, | |
double * | rNumber | |||
) |
Read a double from an input string.
The input string is modified by deleting the double from it after it is read.
aString | input string to read from. | |
rNumber | double that is read is returned here. |
bool OpenSim::readIntegerFromString | ( | string & | aString, | |
int * | rNumber | |||
) |
Read an integer from an input string.
The input string is modified by deleting the integer from it after it is read.
aString | input string to read from. | |
rNumber | integer that is read is returned here. |
bool OpenSim::readNonCommentStringFromStream | ( | istream & | aStream, | |
string & | rBuffer | |||
) |
Read a string from a stream, skipping over any commented text.
aStream | stream to read from. | |
rBuffer | string from stream is returned here. |
bool OpenSim::readStringFromStream | ( | istream & | aStream, | |
string & | rBuffer | |||
) |
Read a string from a stream.
aStream | stream to read from. | |
rBuffer | string from stream is returned here. |
bool OpenSim::readStringFromString | ( | string & | aString, | |
string & | rBuffer | |||
) |
Read a string from an input string.
The input string is modified by deleting the string from it after it is read.
aString | input string to read from. | |
rBuffer | string that is read is returned here. |
bool OpenSim::readTabDelimitedStringFromString | ( | string & | aString, | |
string & | rBuffer | |||
) |
Read a tab-delimited string from an input string.
The input string is modified by deleting the string from it after it is read. This function strips all leading white space from the input string, then looks for a tab, line feed, or carriage return to terminate the string.
aString | input string to read from. | |
rBuffer | string that is read is returned here. |
bool OpenSim::readVectorFromString | ( | string & | aString, | |
double * | rVX, | |||
double * | rVY, | |||
double * | rVZ | |||
) |
Read a vector from an input string.
The input string is modified by deleting the double from it after it is read.
aString | input string to read from. | |
rVX | X coordinate of vector is returned here. | |
rVY | Y coordinate of vector is returned here. | |
rVZ | Z coordinate of vector is returned here. |
bool OpenSim::readVectorFromString | ( | string & | aString, | |
SimmPoint & | rVec | |||
) |
Read a vector from an input string.
The input string is modified by deleting the double from it after it is read.
aString | input string to read from. | |
rVec | vector that is read is returned here. |