API  4.5.1
For C++ developers
OpenSim Namespace Reference

This path contraint allows you to bound any number of state variables between two time-based functions. More...

Namespaces

 DebugUtilities
 

Classes

class  AbstractChannel
 One of the values of an Output. More...
 
class  AbstractDataTable
 AbstractDataTable is the base-class of all DataTable_(templated) allowing storage of DataTable_ templated on different types to be stored in a container like std::vector. More...
 
class  AbstractGeometryPath
 A base class that represents a path that has a computable length and lengthening speed. More...
 
class  AbstractInput
 A specialized Socket that connects to an Output signal is an Input. More...
 
class  AbstractOutput
 Output formalizes the access to a value of interest computed by the owning Component. More...
 
class  AbstractPathPoint
 An abstract class implementing a path point interface. More...
 
class  AbstractProperty
 An abstract property is a serializable (name,value) pair, for which we do not know the type of the value. More...
 
class  AbstractReporter
 This abstract class represents a Reporter that generates a report from values generated by Components in a Model during a simulation. More...
 
class  AbstractSocket
 A Socket formalizes the dependency between a Component and another object (typically another Component) without owning that object. More...
 
class  AbstractTool
 An abstract class for specifying the interface for an investigation. More...
 
class  AbstractValueArray
 ValueArray (of type T) represents an array of SimTK::Value (of type T). More...
 
class  AccelerationMotion
 This class is a thin wrapper to Simbody's SimTK::Motion for prescribing the acceleration of all degrees of freedom (UDot), and is used when enforcing dynamics using implicit differential equations (UDot is supplied by the solver, not by Simbody). More...
 
class  AckermannVanDenBogert2010Force
 This class is still under development. More...
 
class  ActivationCoordinateActuator
 
Similar to CoordinateActuator (simply produces a generalized force) but with first-order linear activation dynamics. More...
 
class  ActivationFiberLengthMuscle
 A base class representing a two-state muscle-tendon actuator. More...
 
class  ActivationFiberLengthMuscle_Deprecated
 A base class representing a muscle-tendon actuator. More...
 
class  ActiveForceLengthCurve
 This class serves as a serializable ActiveForceLengthCurve, commonly used to model the active element in muscle models. More...
 
class  Actuation
 A class for recording the basic actuator information for a model during a simulation. More...
 
class  Actuator
 Base class for an actuator (e.g., a torque motor, muscle, ...) that requires a generic external input (a vector of controls) to generate force. More...
 
class  ActuatorForceProbe
 ActuatorForceProbe is a ModelComponent Probe for computing an operation on a force or sum of forces in the model during a simulation. 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  ActuatorInputController
 ActuatorInputController is the simplest concrete implementation of an InputController used internally by Moco to pass scalar control values to the actuators not associated with a user-added controller. More...
 
class  ActuatorPowerProbe
 ActuatorPowerProbe is a ModelComponent Probe for computing an operation on a actuator power or sum of actuator powers in the model during a simulation. More...
 
class  Analysis
 An abstract class for specifying the interface for an analysis plugin. More...
 
class  AnalysisSet
 A class for holding and managing a set of integration callbacks for a model. More...
 
class  AnalyticGeometry
 Abstract class for analytical geometry (e.g. More...
 
class  AnalyzeTool
 An abstract class for specifying the interface for an investigation. More...
 
class  APDMDataReader
 APDMDataReader is a class that reads files produced by IMU manufacturer APDM and produces datatables from them. More...
 
class  APDMDataReaderSettings
 APDMDataReaderSettings is a class that reads files produced by IMU manufacturer APDM and produces datatables from them. More...
 
class  Appearance
 A class that holds the Appearance properties of Geometry displayed in the OpenSim Visualizer. More...
 
class  Array
 A class for storing an array of values of type T. More...
 
class  ArrayPtrs
 
class  Arrow
 Arrow is a Geometry subclass used to represent an arrow. More...
 
class  AssemblySolver
 Solve for the coordinates (degrees-of-freedom) of the model that satisfy the set of constraints imposed on the model as well as set of desired coordinate values. More...
 
class  BallJoint
 A class implementing a Ball joint. More...
 
class  Bhargava2004MuscleMetabolicsProbe
 Bhargava2004MuscleMetabolicsProbe is a Probe ModelComponent for computing the net metabolic energy rate of a set of Muscles in the model during a simulation. More...
 
class  Bhargava2004MuscleMetabolicsProbe_MetabolicMuscleParameter
 Documentation for this class has been provided with the documentation for the Bhargava2004MuscleMetabolicsProbe class. More...
 
class  Bhargava2004MuscleMetabolicsProbe_MetabolicMuscleParameterSet
 MetabolicMuscleParameterSet is a class that holds the set of MetabolicMuscleParameters for each muscle. More...
 
class  Bhargava2004SmoothedMuscleMetabolics
 This class implements the metabolic energy model of Bhargava et al (2004) and provides an option to use smooth (i.e., twice continuously differentiable) approximations. More...
 
class  Bhargava2004SmoothedMuscleMetabolics_MuscleParameters
 Object class that holds the metabolic parameters required to calculate metabolic power for a single muscle. More...
 
class  Blankevoort1991Ligament
 
This class implements a nonlinear spring ligament model introduced by Blankevoort et al. (1991) [1] and further described in Smith et al. (2016) [2]. More...
 
class  Body
 An OpenSim::Body is a PhysicalFrame (reference frame) with associated inertia specified by its mass, center-of-mass located in the PhysicalFrame, and its moment of inertia tensor about the center-of-mass. More...
 
class  BodyActuator
 Apply a spatial force (that is, [torque, force]) on a given point of the given body. More...
 
class  BodyKinematics
 A class for recording the kinematics of the bodies of a model during a simulation. More...
 
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  Brick
 A class to represent Brick geometry. More...
 
class  BufferedOrientationsReference
 Subclass of OrientationsReference that handles live data by providing a DataQueue that allows clients to push data into and allows the InverseKinematicsSolver to draw data from for solving. More...
 
class  BushingForce
 A class implementing a Bushing Force. More...
 
class  C3DFileAdapter
 C3DFileAdapter reads a C3D file into markers and forces tables of type TimeSeriesTableVec3. More...
 
class  ClutchedPathSpring
 The ClutchedPathSpring is an actuator that has passive path spring behavior only when the clutch is engaged. 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 governed by differential equations (and 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  ColumnIndexOutOfRange
 
class  Component
 The abstract Component class defines the interface used to add computational elements to the underlying SimTK::System (MultibodySystem). More...
 
class  ComponentAlreadyPartOfOwnershipTree
 
class  ComponentFilter
 
A class to specify a filter to be used to iterate through components. More...
 
class  ComponentFilterAbsolutePathNameContainsString
 A component is considered a match if its absolute path name contains the given string. More...
 
class  ComponentFilterMatchAll
 
ComponentFilterMatchAll is a trivial Filter that matches all components. More...
 
class  ComponentHasNoName
 
class  ComponentHasNoSystem
 
class  ComponentIsAnOrphan
 
class  ComponentIsRootWithNoSubcomponents
 
class  ComponentList
 
Collection (linked list) of components to iterate through. More...
 
class  ComponentListIterator
 Class used to iterate over subcomponents of a specific type (by default, any Component). More...
 
class  ComponentNotFound
 
class  ComponentNotFoundOnSpecifiedPath
 
class  ComponentPath
 A representation of a path within a Component tree. More...
 
class  ComponentSet
 A class for holding a set of miscellaneous model components. More...
 
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  Cone
 A class to represent a Cone geometry. More...
 
class  ConnecteeNotSpecified
 
class  ConsoleReporter_
 A reporter that simply prints quantities to the console (command window or terminal), perhaps to monitor the progress of a simulation as it executes. More...
 
class  Constant
 A class for representing a constant value. More...
 
class  ConstantCurvatureJoint
 A class implementing a ConstantCurvatureJoint joint. More...
 
class  ConstantDistanceConstraint
 A class implementing a constraint that maintains a constant distance between two points on separate PhysicalFrames. More...
 
class  ConstantMuscleActivation
 This constant muscle activation model simply holds activation at the value that was provided most recently, and can be used to generate an activation signal without relying on an excitation signal. More...
 
class  Constraint
 A parent class for implementing a Simbody Constraint. 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 components. 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  Control
 A class that represents a control in a dynamic simulation. More...
 
class  ControlConstant
 A class that represents a constant control curve. More...
 
class  ControlDistributor
 This component is used internally in Moco stores a vector of control values that can be used to distributed controls to other components in a model (e.g., InputController). More...
 
class  Controller
 Controller is an abstract ModelComponent that defines the interface for
an OpenSim Controller. More...
 
class  ControllerSet
 A class for holding and managing a set of controllers for a model. More...
 
class  ControlLinear
 A class that represents a piece-wise linear control curve. More...
 
class  ControlLinearNode
 A control node used to reconstruct a piecewise linear control. More...
 
class  ControlSet
 A class for holding and managing a set of controls for a dynamic simulation. More...
 
class  ControlSetController
 ControlSetController that simply assigns controls from a ControlSet. More...
 
class  Coordinate
 A Coordinate is a ModelComponent for managing the access and behavior of a model's generalized coordinate including its value, speed and acceleration (once system accelerations have been realized). More...
 
class  CoordinateActuator
 An actuator that applies a generalized force in the direction of a generalized coordinate. More...
 
class  CoordinateCouplerConstraint
 
class  CoordinateLimitForce
 Generate a force that acts to limit the range of motion of a coordinate. More...
 
class  CoordinateReference
 Reference value to be achieved for a specified coordinate that will be used via optimization and/or tracking. More...
 
class  CoordinateSet
 A class for holding a set of coordinates. More...
 
class  CorrectionController
 This is a simple feedback controller to be used in generating a forward dynamic simulation. More...
 
class  CSVFileAdapter
 CSVFileAdapter is a DelimFileAdapter that presets the delimiters appropriately for CSV files. More...
 
class  CustomJoint
 
A class implementing a custom joint. More...
 
class  Cylinder
 A class to represent a Cylinder geometry. More...
 
class  DataAdapter
 DataAdapter is an abstract class defining an interface for reading/writing in/out the contents of a DataTable. More...
 
class  DataAdapterAlreadyRegistered
 
class  DataQueue_
 DataQueue is a wrapper around the std::queue customized to handle data processing and synchronization, and limiting the interface to only the subset of operations needed for this use case. More...
 
class  DataQueueEntry_
 This base class defines the interface for a DataQueue. More...
 
class  DataTable_
 DataTable_ is an in-memory storage container for data with support for holding metadata (using the base class AbstractDataTable). More...
 
class  DataTypeMismatch
 
class  DeGrooteFregly2016Muscle
 This muscle model was published in De Groote et al. More...
 
class  DelimFileAdapter
 DelimFileAdapter is a FileAdapter that reads and writes text files with given delimiters. More...
 
class  Delp1990Muscle_Deprecated
 A class implementing a SIMM muscle. More...
 
class  DiscreteForces
 This class is a thin wrapper to Simbody's SimTK::Force::DiscreteForces class. More...
 
class  DynamicsTool
 An abstract Tool for defining tools for performing a dynamics analysis with a given model. More...
 
class  ElasticFoundationForce
 This Force subclass implements an elastic foundation contact model. More...
 
class  Ellipsoid
 A class to represent an Ellipsoid geometry. More...
 
class  EllipsoidJoint
 A class implementing a Ellipsoid joint. More...
 
class  EmptyComponentPath
 Component Exceptions. More...
 
class  EmptyFileName
 
class  EmptyTable
 
class  EspositoMiller2018Force
 This contact model uses a continuous equation to transition between in and out of contact. More...
 
struct  Event
 Struct representing an event extracted from a C3D file. More...
 
class  Exception
 A class for basic exception functionality. More...
 
class  ExperimentalFrame
 
ExperimentalFrame is a concrete Frame that represents the experimental value of a Frame and can be used to display its frame in the OpenSim Visualizer. More...
 
class  ExperimentalMarker
 
ExperimentalMarker is a concrete Point that represents the experimental value of a Marker and can be used to display its location in the OpenSim Visualizer. More...
 
class  ExperimentalSensor
 A class representing the experimental sensor, such as IMU, and its association to a model (component) in OpenSim. More...
 
class  ExpressionBasedBushingForce
 A class implementing a bushing force specified by expressions of the deflection between two bushing frames. More...
 
class  ExpressionBasedCoordinateForce
 
class  ExpressionBasedPointToPointForce
 A point-to-point Force whose force magnitude is determined by a user-defined expression, with the distance (d) and its time derivative (ddot) as variables. More...
 
class  ExternalForce
 An ExternalForce is a Force class specialized at applying an external force and/or torque to a body as described by arrays (columns) of a Storage object. More...
 
class  ExternalLoads
 A convenience class for managing ExternaForce(s) to be applied to a model. More...
 
class  FiberCompressiveForceCosPennationCurve
 
This class serves as a serializable FiberCompressiveForceCosPennationCurve, which is used to ensure that the pennation angle approaches but never reaches an angle of 90 degrees. More...
 
class  FiberCompressiveForceLengthCurve
 
This class serves as a serializable FiberCompressiveForceLengthCurve, which is used to ensure that the fiber cannot generate force at, nor shorten beyond a minimum normalized length. More...
 
class  FiberForceLengthCurve
 This class serves as a serializable FiberForceLengthCurve, commonly used to model the parallel elastic element in muscle models. More...
 
class  FileAdapter
 FileAdapter is a DataAdapter that reads and writes files with methods read and writeFile respectively. More...
 
class  FileDeletionThrower
 This class helps a user cause an exception within the code. More...
 
class  FileDeletionThrowerException
 Thrown by FileDeletionThrower::throwIfDeleted(). More...
 
class  FileDoesNotExist
 
class  FileExtensionNotFound
 
class  FileIsEmpty
 
class  FileRemover
 When an instance of this class is destructed, it removes (deletes) the file at the path provided in the constructor. More...
 
class  FirstOrderMuscleActivationDynamics
 Computes muscle activation using a modified version of the first-order dynamic models used by Thelen (2003) and Winters (1995). 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 Force or Actuator to be used as a SimTK::Force. More...
 
class  ForceReporter
 A class for recording the Forces applied to a model during a simulation. More...
 
class  ForceSet
 A class for holding and managing a set of forces for a model. More...
 
class  ForceVelocityCurve
 This class serves as a serializable ForceVelocityCurve for use in muscle models. More...
 
class  ForceVelocityInverseCurve
 This class serves as a serializable ForceVelocityInverseCurve for use in equilibrium muscle models. More...
 
class  ForwardTool
 A concrete tool for performing forward dynamics simulations. More...
 
class  Frame
 A Frame is an OpenSim representation of a reference frame. More...
 
class  FrameGeometry
 A class to represent Frame geometry. More...
 
class  FreeJoint
 A class implementing a Free joint. More...
 
class  Function
 An abstract class for representing a function. More...
 
class  FunctionBasedBushingForce
 A class implementing a bushing force specified by functions of the frame deflections. More...
 
class  FunctionBasedPath
 A concrete class representing a path for muscles, ligaments, etc., based on Function objects. More...
 
class  FunctionSet
 A class for holding a set of functions. More...
 
class  FunctionThresholdCondition
 FunctionThresholdCondition is a concrete implementation of a Condition. More...
 
class  GCVSpline
 A class for representing a smooth function with a generalized cross-validation spline. More...
 
class  GCVSplineSet
 A class for holding a set of generalized cross-validated splines. More...
 
class  GenericModelMaker
 A class implementing a set of parameters describing a generic musculoskeletal model. More...
 
class  Geometry
 
Class Geometry is intended to be used as the base class for all geometry that needs to be represented in the system, including mesh files, and built in analytic shapes. More...
 
class  GeometryPath
 A concrete class representing a path (muscle, ligament, etc.) based on geometry objects in the model (e.g., PathPoints and PathWraps). More...
 
class  GimbalJoint
 
A class implementing a Gimbal joint. More...
 
class  Ground
 Ground is an inertial reference frame in which the motion of all Frames and points may conveniently and efficiently be expressed. More...
 
class  HuntCrossleyForce
 This force subclass implements a Hunt-Crossley contact model. More...
 
class  IKCoordinateTask
 
class  IKMarkerTask
 
class  IKTask
 
class  IKTaskSet
 
class  IMU
 
IMU is a Model Component that represents a virtual IMU along with its Geometry for visualization. More...
 
class  IMUDataReader
 
class  IMUDataReporter
 A class for recording the readings off an IMU object placed on a model during a simulation. More...
 
class  IMUInverseKinematicsTool
 A Study that performs an Inverse Kinematics analysis with a given model. More...
 
class  IMUPlacer
 A class implementing a set of parameters describing how to place IMUs on a model to match placement of experimental sensors (IMUs) More...
 
class  IncorrectMetaDataLength
 
class  IncorrectNumColumnLabels
 
class  IncorrectNumColumns
 
class  IncorrectNumMetaDataKeys
 
class  IncorrectNumRows
 
class  IncorrectNumTokens
 
class  IncorrectTableType
 
class  IndexOutOfRange
 
class  InducedAccelerations
 A class to perform an Induced Accelerations analysis using a constraint- method of replacing external (contact) forces in order to determine the contributions of actuators to external reaction forces and thus model accelerations including that of the center-of-mass. More...
 
class  InducedAccelerationsSolver
 
A Solver to compute the induced accelerations of an applied "force" acting on the model. More...
 
class  Input
 An Input<Y> must be connected by an Output<Y> More...
 
class  InputController
 InputController is a simple intermediate abstract class for a Controller that computes controls based on scalar values defined via a list Input. More...
 
class  InputNotConnected
 ComponentSocket Exceptions. More...
 
class  InputNotFound
 
class  InvalidArgument
 
class  InvalidCall
 
class  InvalidColumn
 
class  InvalidColumnLabel
 
class  InvalidComponentName
 
class  InvalidIndices
 
class  InvalidPropertyValue
 Property Exceptions. More...
 
class  InvalidRow
 
class  InvalidTable
 
class  InvalidTemplateArgument
 
class  InvalidTimeRange
 
class  InvalidTimestamp
 
class  InverseDynamicsSolver
 Solve for the generalized coordinate forces (1 per degree-of- freedom) that satisfy the unconstrained equations of motion given kinematics: q, u, u_dot. More...
 
class  InverseDynamicsTool
 A Tool that performs an Inverse Dynamics analysis with a given model. More...
 
class  InverseKinematicsSolver
 Solve for the coordinates (degrees of freedom) of the model that satisfy the set of constraints imposed on the model and the set of desired coordinate values. More...
 
class  InverseKinematicsTool
 A Tool that performs an Inverse Kinematics analysis with a given model. More...
 
class  InverseKinematicsToolBase
 A Tool that performs an Inverse Kinematics analysis with a given model. More...
 
class  IO
 A class for performing input and output with OpenSim API. More...
 
class  IOError
 
class  Joint
 
An OpenSim Joint is an OpenSim::ModelComponent which connects two PhysicalFrames together and specifies their relative permissible motion as described in internal coordinates. More...
 
class  JointFramesAreTheSame
 
class  JointFramesHaveSameBaseFrame
 
class  JointHasNoCoordinates
 
class  JointInternalPowerProbe
 JointInternalPowerProbe is a ModelComponent Probe for computing an operation on internal joint power or sum of joint powers in the model during a simulation. More...
 
class  JointReaction
 An analysis for reporting the joint reaction loads from a model. More...
 
class  JointSet
 A class for holding a set of joints. More...
 
class  KeyExists
 
class  KeyMissing
 
class  KeyNotFound
 
class  Kinematics
 A class for recording the kinematics of the generalized coordinates of a model during a simulation. More...
 
class  LatinHypercubeDesign
 A class for generating Latin hypercube designs. More...
 
class  Ligament
 A class implementing a ligament. More...
 
class  LinearFunction
 A class for representing a LinearFunction. More...
 
class  LineGeometry
 LineGeometry is a utility class used to abstract a line segment. More...
 
class  Logger
 This is a singleton class (single instance) for logging messages and controlling how those messages are presented to the user. More...
 
class  LogSink
 Derive from this class to implement your own way of reporting logged messages. More...
 
class  Manager
 A class that manages the execution of a simulation. More...
 
class  Marker
 A class implementing a Mocap marker. More...
 
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  MarkerPair
 A class for holding the names of a pair of markers (for making measurements on a model). More...
 
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  MarkerSet
 A class for holding a set of markers. More...
 
class  MarkersReference
 Reference values to be achieved for specified Markers that will be used via optimization and/or tracking. More...
 
class  MarkerWeight
 
class  McKibbenActuator
 McKibben Pneumatic Actuator Model based on the simple cylindrical formulation described in J. 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  Mesh
 A class to represent Mesh geometry that comes from a file. More...
 
class  MetaDataLengthMismatch
 
class  MeyerFregly2016Force
 This contact model is from the following paper: Meyer A. More...
 
class  Millard2012AccelerationMuscle
 
This class implements a 3 state (activation,fiber length and fiber velocity) acceleration musculo-tendon model that has several advantages over equilibrium musculo-tendon models: it is possible to simulate 0 activation, it requires fewer integrator steps to simulate, and physiological active force-length (with a minimum value of 0) and force velocity (with true asymptotes at the maximum shortening and lengthening velocities) curves can be employed. More...
 
class  Millard2012EquilibriumMuscle
 
This class implements a configurable equilibrium muscle model, as described in Millard et al. (2013). More...
 
class  MissingHeader
 
class  MissingMetaData
 
class  MocoAccelerationTrackingGoal
 The squared difference between a model frame origin's linear acceleration and a reference acceleration value, summed over the frames for which a reference is provided, and integrated over the phase. More...
 
class  MocoAngularVelocityTrackingGoal
 The squared difference between a model frame's angular velocity and a reference angular velocity value, summed over the frames for which a reference is provided, and integrated over the phase. More...
 
class  MocoAverageSpeedGoal
 This goal requires the average speed of the system to match a desired average speed. More...
 
class  MocoBounds
 Small struct-like class to handle bounds. More...
 
class  MocoCasADiSolver
 This solver uses the CasADi library (https://casadi.org) to convert the MocoProblem into a generic nonlinear programming problem. More...
 
class  MocoCasADiSolverNotAvailable
 
class  MocoConstraintInfo
 Information for a given constraint in the optimal control problem. More...
 
class  MocoContactImpulseTrackingGoal
 
More...
 
class  MocoContactImpulseTrackingGoalGroup
 
More...
 
class  MocoContactTrackingGoal
 
More...
 
class  MocoContactTrackingGoalGroup
 
More...
 
class  MocoControlBoundConstraint
 This class constrains any number of control signals from ScalarActuators or Inputs to InputControllers to be between two time-based functions. More...
 
class  MocoControlGoal
 Minimize the sum of the absolute value of the controls (including Input controls) raised to a given exponent, integrated over the phase. More...
 
class  MocoControlTrackingGoal
 
More...
 
class  MocoControlTrackingGoalReference
 Associate a control variable with a column from the reference data. More...
 
class  MocoDirectCollocationSolver
 This is a base class for solvers that use direct collocation to convert an optimal control problem into a generic nonlinear programming problem. More...
 
class  MocoFinalBounds
 Used for specifying the bounds on a variable at the end of a phase. More...
 
class  MocoFinalOutputGoal
 This goal allows you to minimize or constrain a Model Output value at the end of a trajectory. More...
 
class  MocoFinalTimeGoal
 Endpoint cost for final time. More...
 
class  MocoFrameDistanceConstraint
 This path constraint enforces that the distance between the origins of pairs of model frames is kept between minimum and maximum bounds. More...
 
class  MocoFrameDistanceConstraintPair
 
class  MocoGeneralizedForceTrackingGoal
 
More...
 
class  MocoGoal
 A goal is a term in the cost functional to be minimized, or a set of endpoint constraints that must lie within provided bounds. More...
 
class  MocoInitialActivationGoal
 For all muscles with activation dynamics, the initial activation and initial excitation should be the same. More...
 
class  MocoInitialBounds
 Used for specifying the bounds on a variable at the start of a phase. More...
 
class  MocoInitialForceEquilibriumDGFGoal
 For all DeGrooteFregly2016Muscles with explicit tendon compliance dynamics, constrain (or minimize) the error computed from the muscle-tendon force equilibrium equation. More...
 
class  MocoInitialOutputGoal
 This goal allows you to minimize or constrain a Model Output value at the beginning of a trajectory. More...
 
class  MocoInitialVelocityEquilibriumDGFGoal
 For DeGrooteFregly2016Muscle components with implicit tendon compliance dynamics, the initial tendon and fiber velocities are determined based the derivative of the linearized muscle-tendon equilibrium equation described in Millard et al. More...
 
class  MocoInverse
 This tool solves problems in which the kinematics are prescribed and you seek the actuator (e.g., muscle) behavior that may have given rise to the provided kinematics. More...
 
class  MocoInverseSolution
 This class holds the solution from MocoInverse. More...
 
class  MocoJointReactionGoal
 Minimize the sum of squares of specified reaction moment and force measures for a given joint, integrated over the phase. More...
 
class  MocoKinematicConstraint
 A model kinematic constraint to be enforced in the optimal control problem. More...
 
class  MocoMarkerFinalGoal
 The squared distance between a single model point location and reference location in the final state. More...
 
class  MocoMarkerTrackingGoal
 
More...
 
class  MocoOrientationTrackingGoal
 The squared difference between a model frame's orientation and a reference orientation value, summed over the frames for which a reference is provided, and integrated over the phase. More...
 
class  MocoOutputBase
 This abstract base class provides convenience methods and common interfaces for all Output-related MocoGoal's. More...
 
class  MocoOutputBoundConstraint
 This path constraint allows you to constrain a Model Output value to be between two time-based functions throughout the trajectory. More...
 
class  MocoOutputConstraint
 This path constraint allows you to constrain a Model Output value throughout the trajectory. More...
 
class  MocoOutputExtremumGoal
 This goal permits the integration of only positive or negative values from a model Output. More...
 
class  MocoOutputGoal
 This goal allows you to use model Outputs of type double, SimTK::Vec3, and SimTK::SpatialVec in the integrand of a goal. More...
 
class  MocoOutputPeriodicityGoal
 This goal allows you to minimize or constrain the difference of values from a Model Output from the beginning and end of a trajectory. More...
 
class  MocoOutputTrackingGoal
 This goal allows you to minimize the squared difference between a Model Output value and a user-defined function. More...
 
class  MocoParameter
 A MocoParameter allows you to optimize property values in an OpenSim Model. More...
 
class  MocoPathConstraint
 A path constraint to be enforced in the optimal control problem. More...
 
class  MocoPeriodicityGoal
 This goal enforces equality between initial and final variable values in the optimal control problem. More...
 
class  MocoPeriodicityGoalPair
 Create pair of variables for use with a MocoPeriodicityGoal. More...
 
class  MocoPhase
 The states, controls, dynamics, parameters, goals, and constraints for a phase of the problem. More...
 
class  MocoProblem
 A description of an optimal control problem, backed by OpenSim Models. More...
 
class  MocoProblemInfo
 This class is mostly for internal use for MocoProblemRep to pass select information about a problem to the MocoGoals and MocoPathConstraints of the problem during initializeOnModel(). More...
 
class  MocoProblemRep
 The primary intent of this class is for use by MocoSolvers, but users can also use this class to apply parameter values to the model and evaluate cost terms. More...
 
class  MocoScaleFactor
 A scale factor is a scalar value optimized by Moco that can be used to scale a tracked reference quantity in the cost function. More...
 
class  MocoSolution
 Return type for MocoStudy::solve(). More...
 
class  MocoSolver
 Once the solver is created, you should not make any edits to the MocoProblem. More...
 
class  MocoStateBoundConstraint
 
class  MocoStateTrackingGoal
 
More...
 
class  MocoStepLengthAsymmetryGoal
 Minimize the error between a model's step time asymmetry and a specified target asymmetry value over a gait cycle. More...
 
class  MocoStepTimeAsymmetryGoal
 Minimize the error between a model's step time asymmetry and a specified target asymmetry value over a gait cycle. More...
 
class  MocoStepTimeAsymmetryGoalGroup
 A contact group includes a list of contact force component paths in the model. More...
 
class  MocoStudy
 The top-level class for solving a custom optimal control problem. More...
 
class  MocoStudyFactory
 This class creates MocoStudies of common interest. More...
 
class  MocoSumSquaredStateGoal
 Minimize the sum of squared states, integrated over the phase. More...
 
class  MocoTool
 This is a base class for solving problems that depend on an observed motion using Moco's optimal control methods. More...
 
class  MocoTrack
 
class  MocoTrajectory
 The values of the variables in an optimal control problem. More...
 
class  MocoTrajectoryIsSealed
 This exception is thrown if you try to invoke most methods on MocoTrajectory while the trajectory is sealed. More...
 
class  MocoTranslationTrackingGoal
 The squared difference between a model frame's origin position and a reference position value, summed over the frames for which a reference is provided, and integrated over the phase. More...
 
class  MocoTropterSolver
 Solve the MocoProblem using the tropter direct collocation library. More...
 
class  MocoTropterSolverNotAvailable
 
class  MocoVariableInfo
 Bounds on continuous variables (states, controls, multipliers, etc). More...
 
class  MocoWeight
 This class contains a single property that holds a weighting factor to be used in a MocoGoal. More...
 
class  MocoWeightSet
 A container for Moco weights. More...
 
class  Model
 A concrete class that specifies the interface to a musculoskeletal model. More...
 
class  ModelComponent
 This defines the abstract ModelComponent class, which is used to specify components of a musculoskeletal model and the elements they add to the underlying computational SimTK::System (MultibodySystem). More...
 
class  ModelComponentSet
 
class  ModelDisplayHints
 This class captures information indicating user or programmer preferences to guide automatic display geometry generation by a Model. More...
 
class  ModelFactory
 This class provides utilities for creating OpenSim models. More...
 
class  ModelHasNoSystem
 Model Exceptions. More...
 
class  ModelingOptionMaxExceeded
 
class  ModelOperator
 This abstract base class describes any operation that modifies a Model as part of a ModelProcessor. More...
 
class  ModelProcessor
 This class describes a workflow for processing a Model using ModelOperators. More...
 
class  ModelScaler
 A class for scaling a model. More...
 
class  ModelVisualizer
 This class manages runtime visualization of a Model that is being manipulated through the OpenSim API. More...
 
class  ModelVisualPreferences
 
A class that holds the Visual Preferences of a full OpenSim Model displayed in Visualizer. More...
 
class  ModOpFiberDampingDGF
 Set the fiber damping for all DeGrooteFregly2016Muscles in the model. More...
 
class  ModOpIgnorePassiveFiberForcesDGF
 Turn off passive fiber forces for all DeGrooteFregly2016Muscles in the model. More...
 
class  ModOpPassiveFiberStrainAtOneNormForceDGF
 Set passive fiber stiffness for all DeGrooteFregly2016Muscles in the model. More...
 
class  ModOpReplaceMusclesWithDeGrooteFregly2016
 Invoke DeGrooteFregly2016Muscle::replaceMuscles() on the model. More...
 
class  ModOpScaleActiveFiberForceCurveWidthDGF
 Scale the active fiber force curve width for all DeGrooteFregly2016Muscles in the model. More...
 
class  ModOpTendonComplianceDynamicsModeDGF
 For DeGrooteFregly2016Muscle muscles whose 'ignore_tendon_compliance' property is false, set the tendon compliance dynamics mode to either 'explicit' or 'implicit'. More...
 
class  ModOpUseImplicitTendonComplianceDynamicsDGF
 Set the tendon compliance dynamics mode to "implicit" for all DeGrooteFregly2016Muscles in the model. More...
 
class  MomentArmSolver
 Solve for the effective moment arms at all degrees-of-freedom due to one or more point forces. 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  MultiplierFunction
 A class implementing a Function and a scale factor for the function's value. More...
 
class  MultivariatePolynomialFunction
 A multivariate polynomial function. More...
 
class  Muscle
 A base class for modeling a muscle-tendon actuator. More...
 
class  MuscleActivationDynamics
 An abstract class for modeling muscle activation dynamics. More...
 
class  MuscleActiveFiberPowerProbe
 
MuscleActiveFiberPowerProbe is a ModelComponent probe for computing an operation on the active fiber power of a muscle. More...
 
class  MuscleAnalysis
 A class for recording and computing basic quantities (length, shortening velocity, tendon length, ...) for muscles during a simulation. More...
 
class  MuscleCannotEquilibrate
 
class  MuscleFirstOrderActivationDynamicModel
 This is a muscle modeling utility class that computes the time derivative of activation using a first-order dynamic model. More...
 
class  MuscleFixedWidthPennationModel
 This is a muscle modeling utility class containing kinematic equations that describe the deformation of muscle fibers as they change length using a fixed-width-parallelogram pennation model. More...
 
class  MuscleSecondOrderActivationDynamicModel
 
This function is a muscle modeling utility class that simulates dynamics of muscle force development as a function of input excitation. More...
 
class  MuscleStateTrackingTask
 A TrackingTask for that corresponds to a muscle state variable. More...
 
class  NoColumnLabels
 
class  NonUniqueLabels
 
class  NoRegisteredDataAdapter
 
class  NoTableFound
 
class  Object
 This is the base class for all OpenSim objects that are serializable (meaning they can be written to and read back from files). More...
 
struct  Object_GetClassName
 
struct  Object_GetClassName< bool >
 
struct  Object_GetClassName< char >
 
struct  Object_GetClassName< double >
 
struct  Object_GetClassName< float >
 
struct  Object_GetClassName< int >
 
struct  Object_GetClassName< long double >
 
struct  Object_GetClassName< long int >
 
struct  Object_GetClassName< long long int >
 
struct  Object_GetClassName< short int >
 
struct  Object_GetClassName< signed char >
 
struct  Object_GetClassName< SimTK::Quaternion_< SimTK::Real > >
 
struct  Object_GetClassName< SimTK::Rotation_< SimTK::Real > >
 
struct  Object_GetClassName< SimTK::SpatialVec >
 
struct  Object_GetClassName< SimTK::Transform >
 
struct  Object_GetClassName< SimTK::Vec2 >
 
struct  Object_GetClassName< SimTK::Vec3 >
 
struct  Object_GetClassName< SimTK::Vec6 >
 
struct  Object_GetClassName< SimTK::Vector_< SimTK::Real > >
 
struct  Object_GetClassName< SimTK::Vector_< SimTK::SpatialVec > >
 
struct  Object_GetClassName< SimTK::Vector_< SimTK::Vec3 > >
 
struct  Object_GetClassName< SimTK::Vector_< SimTK::Vec6 > >
 
struct  Object_GetClassName< std::string >
 
struct  Object_GetClassName< unsigned char >
 
struct  Object_GetClassName< unsigned int >
 
struct  Object_GetClassName< unsigned long int >
 
struct  Object_GetClassName< unsigned long long int >
 
struct  Object_GetClassName< unsigned short int >
 
class  ObjectGroup
 A class implementing an object group. More...
 
class  ObjectProperty
 
class  OffsetFrame
 An OffsetFrame is a Frame whose transform (translation and orientation) with respect to another (parent) Frame is constant in time. More...
 
class  OpenSenseUtilities
 
class  OptimizationTarget
 This class provides an interface specification for optimizing redundant systems. More...
 
class  OrientationsReference
 Reference values for the Orientations of model frames that will be used to to compute tracking errors. More...
 
class  OrientationWeight
 
class  OrientationWeightSet
 
class  Output
 
class  OutputNotFound
 
class  OutputReporter
 The OutputReporter Analysis is a wrapper for a TableReporter. More...
 
class  PathActuator
 This is the base class for actuators that apply controllable tension along a path. More...
 
class  PathPoint
 A path point that is stationary with respect to parent's PhysicalFrame. More...
 
class  PathPointSet
 A class for holding a set of path points. More...
 
class  PathSpring
 A class implementing a PathSpring. More...
 
class  PathWrapPoint
 A class implementing a path wrapping point, which is a path point that is produced by a PathWrap. More...
 
class  PhysicalFrame
 A PhysicalFrame is a Frame that locates a physical element of the multi- body system that underlies a Model. More...
 
class  PhysicalOffsetFrame
 A PhysicalOffsetFrame is a PhysicalFrame whose transform is specified as a constant offset from another PhysicalFrame. More...
 
class  PhysicalOffsetFramesFormLoop
 
class  PiecewiseConstantFunction
 A class implementing a step function. More...
 
class  PiecewiseLinearFunction
 A class implementing a linear function. More...
 
class  PinJoint
 A Class implementing a Pin joint. More...
 
class  PlanarJoint
 
A class implementing a Planar joint. More...
 
class  Point
 A Point is an OpenSim abstraction for any location in space. More...
 
class  PointActuator
 A class that implements a point actuator acting on the model. More...
 
class  PointConstraint
 A class implementing a Point Constraint. More...
 
class  PointForceDirection
 Convenience class for a generic representation of geometry of a complex Force (or any other object) with multiple points of contact through which forces are applied to bodies. More...
 
class  PointKinematics
 A class for recording the kinematics of a point on a body of a model during a simulation. More...
 
class  PointOnLineConstraint
 A class implementing a Point On Line Constraint. More...
 
class  PointToPointActuator
 A class that implements a force actuator acting between two points on two bodies. More...
 
class  PointToPointSpring
 A simple point to point spring with a resting length and stiffness. More...
 
class  PolynomialFunction
 A class for representing a Polynomial of x. More...
 
class  PolynomialPathFitter
 A utility class for fitting a set of FunctionBasedPaths to existing geometry-path in an OpenSim model using MultivariatePolynomialFunctions. More...
 
class  PolynomialPathFitterBounds
 A helper class for specifying the minimum and maximum bounds for the coordinate at coordinate_path during path fitting. More...
 
class  PositionMotion
 This class prescribes the value, speed, and acceleration of all coordinates in the model using SimTK::Motion. More...
 
class  PrescribedController
 PrescribedController is a concrete Controller that specifies functions that prescribe the control values of its actuators as a function of time. More...
 
class  PrescribedForce
 This applies to a PhysicalFrame a force and/or torque that is specified as a function of time. More...
 
class  Probe
 This class represents a Probe which is designed to query a Vector of model values given system state. More...
 
class  ProbeReporter
 A class for reporting the outputs of all model-connected Probes to file during a simulation. More...
 
class  ProbeSet
 A class for holding a set of probes. More...
 
class  Property
 A Property<T> is a serializable (name, list-of-values) pair, where each value is of type T. More...
 
class  Property_Deprecated
 
class  PropertyBool
 Class PropertyBool extends class Property. More...
 
class  PropertyBoolArray
 Class PropertyBoolArray extends class Property. More...
 
class  PropertyDbl
 Class PropertyDbl extends class Property. More...
 
class  PropertyDblArray
 Class PropertyDblArray extends class Property. More...
 
class  PropertyDblVec_
 Class PropertyDblVec_ extends class Property. More...
 
class  PropertyGroup
 A class implementing a property group. More...
 
class  PropertyInt
 Class PropertyInt extends class Property. More...
 
class  PropertyIntArray
 Class PropertyIntArray extends class Property. More...
 
class  PropertyObj
 Class PropertyObj extends class Property. More...
 
class  PropertyObjArray
 Class PropertyObjArray extends class Property. More...
 
class  PropertyObjPtr
 Class PropertyObjPtr extends class Property. More...
 
class  PropertySet
 A property set is simply a set of properties. More...
 
class  PropertyStr
 Class PropertyStr extends class Property. More...
 
class  PropertyStrArray
 Class PropertyStrArray extends class Property. More...
 
class  PropertyTable
 A property table is the container that an OpenSim Object uses to hold its properties (each derived from base class AbstractProperty). More...
 
class  PropertyTransform
 Class PropertyTransform extends class Property. More...
 
class  Reference_
 This base (abstract) class defines the interface for a Reference signals to be achieved/tracked via optimization and/or tracking controller. More...
 
class  Reporter
 This is an abstract Reporter with a single list Input named "inputs" whose type is templated (InputT). More...
 
class  RigidTendonMuscle
 A class implementing a RigidTendonMuscle actuator with no states. More...
 
class  RollingOnSurfaceConstraint
 A class implementing a collection of rolling-without-slipping and non-penetration constraints on a surface. More...
 
class  RootSolver
 A class for finding the N roots of N one-dimensional non-linear equations. More...
 
class  RowIndexOutOfRange
 
class  RowLengthMismatch
 
class  RRATool
 An abstract class for specifying the interface for an investigation. More...
 
class  ScalarActuator
 This is a derived class from the base class actuator (e.g., a torque motor, muscle, ...) that requires exactly one external input (control) to generate a scalar value force, such as a torque/force magnitude or a tension. More...
 
class  Scale
 
class  ScaleSet
 
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  ScapulothoracicJoint
 A class implementing a 4-DOF ScapulothoracicJoint. More...
 
class  Schutte1993Muscle_Deprecated
 A class implementing a SIMM muscle. More...
 
class  SegmentedQuinticBezierToolkit
 
This is a low level Quintic Bezier curve class that contains functions to design continuous sets of 'C' shaped Bezier curves, and to evaluate their values and derivatives. More...
 
class  Set
 A class for holding a set of pointers to objects. More...
 
class  Signal
 A class for signal processing. More...
 
class  SignalGenerator
 SignalGenerator is a type of Component with no inputs and only one output. More...
 
class  SimbodyEngine
 A wrapper class to use the SimTK Simbody dynamics engine as the underlying engine for OpenSim. More...
 
class  SimmSpline
 A class implementing a smooth function with a cubic spline as implemented in SIMM. More...
 
class  SimpleProperty
 
class  Sine
 A class for representing a Sine function. More...
 
class  SliderJoint
 
A class implementing a Slider joint. More...
 
class  SMC_Joint
 A class for specifying the tracking task for a joint. More...
 
class  SmoothSegmentedFunction
 
This class contains the quintic Bezier curves, x(u) and y(u), that have been created by SmoothSegmentedFunctionFactory to follow a physiologically meaningful muscle characteristic. More...
 
class  SmoothSegmentedFunctionFactory
 
This is a class that acts as a user friendly wrapper to QuinticBezerCurveSet to build specific kinds of physiologically plausible muscle curves using C2 continuous sets of quintic Bezier curves. More...
 
class  SmoothSphereHalfSpaceForce
 This compliant contact force model is similar to HuntCrossleyForce, except that this model applies force even when not in contact. More...
 
class  Socket
 
class  SocketNotFound
 
class  Solver
 The base (abstract) class for a family of objects responsible for solving system equations (statics, dynamic, kinematics, muscle, etc...) given by a model for values of interest. More...
 
class  SpatialTransform
 A class encapsulating the spatial transformation between two bodies that defines the behavior of a custom joint. More...
 
class  Sphere
 A class to represent Sphere geometry. More...
 
class  SpringGeneralizedForce
 A Force that exerts a generalized force based on spring-like characteristics (stiffness and viscosity). More...
 
class  StatesReporter
 A class for recording the states of a model during a simulation. More...
 
class  StatesTrajectory
 
class  StatesTrajectoryReporter
 Stores the states during a simulation in a StatesTrajectory. More...
 
class  StateTrackingTask
 A tracking task objective that corresponds to a state variable of a Force component (e.g. More...
 
class  StateVector
 A class which stores a vector of states or data at a specified time. 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  Station
 A Station is a Point fixed to and located on a PhysicalFrame, which can be a Body, Ground or any PhysicalOffsetFrame. More...
 
class  StationDefinedFrame
 A StationDefinedFrame is a PhysicalFrame that has its orientation and origin point computed * from Stations. More...
 
class  StationPlaneContactForce
 This class models compliant point contact with a ground plane y=0. More...
 
class  StepFunction
 A class for representing a StepFunction. More...
 
class  STODataTypeNotSupported
 
class  STOFileAdapter_
 STOFileAdapter is a DelimFileAdapter that presets the delimiters appropriately for STO files. More...
 
class  Stopwatch
 Record and report elapsed real time ("clock" or "wall" time) in seconds. More...
 
class  Storage
 A class for storing an array of statevectors. More...
 
class  StorageCreator
 
class  StorageFactory
 
class  StorageInterface
 
class  StreamableReference_
 
class  StringLogSink
 This sink stores all messages in a string. More...
 
class  SubcomponentsWithDuplicateName
 
class  SurfaceProperties
 
SurfaceProperties class holds the appearance properties of a piece of Geometry displayed in the OpenSim visualizer or GUI as a surface. More...
 
class  SynergyController
 
class  SynergyVector
 
class  SystemEnergyProbe
 SystemEnergyProbe is a ModelComponent Probe for computing an operation on a total system energy during a simulation. More...
 
class  TableMissingHeader
 
class  TableNotFoundException
 
class  TableOperator
 This abstract class describes any operation that consumes and modifies a TimeSeriesTable as part of a TableProcessor. More...
 
class  TableProcessor
 This class describes a workflow for processing a table using TableOperators. More...
 
class  TableReporter_
 This concrete Reporter class collects and reports Output<InputT>s within a TimeSeriesTable_. More...
 
class  TableSource_
 Component representing a source of data from a TimeSeriesTable_. More...
 
class  TableUtilities
 
class  TabOpAppendCoordinateValueDerivativesAsSpeeds
 Invoke SimulationUtilities::appendCoordinateValueDerivativesAsSpeeds() on the table. More...
 
class  TabOpAppendCoupledCoordinateValues
 Invoke SimulationUtilities::appendCoupledCoordinateValues() on the table. More...
 
class  TabOpConvertDegreesToRadians
 
class  TabOpLowPassFilter
 Apply a low-pass filter to the trajectory. More...
 
class  TabOpUseAbsoluteStateNames
 Update table column labels to use post-4.0 state paths instead of pre-4.0 state names. More...
 
class  TendonForceLengthCurve
 This class serves as a serializable TendonForceLengthCurve for use in muscle models. More...
 
class  Thelen2003Muscle
 
Implementation of a two state (activation and fiber-length) Muscle model by Thelen 2003. This a complete rewrite of a previous implementation (present in OpenSim 2.4 and earlier) contained numerous errors. More...
 
class  Thelen2003Muscle_Deprecated
 A class implementing a SIMM muscle. More...
 
class  ThreadsafeJar
 This class lets you store objects of a single type for reuse by multiple threads, ensuring threadsafe access to each of those objects. More...
 
class  TimeColumnNotIncreasing
 
class  TimeOutOfRange
 
class  TimeSeriesTable_
 TimeSeriesTable_ is a DataTable_ where the independent column is time of type double. More...
 
class  TimestampGreaterThanEqualToNext
 
class  TimestampLessThanEqualToPrevious
 
class  Tool
 A Tool is an OpenSim abstraction that encapsulates an analysis or series of modeling and analysis steps. More...
 
class  TorqueActuator
 A TorqueActuator applies equal and opposite torques on the two bodies (bodyA and B) that it connects. More...
 
class  Torus
 
A class to represent Torus geometry. More...
 
class  TrackingController
 TrackingController is an abstract class from which all tracking type of controllers should be derived. More...
 
class  TrackingTask
 An abstract base class for specifying a target for a tracking problem. More...
 
class  TransformAxis
 A class expressing a transformation of a child body in relation to a parent body along either a translation or about a rotation axis. More...
 
class  TRCFileAdapter
 TRCFileAdapter is a FileAdapter that reads and writes TRC files. More...
 
class  TwoFrameLinker
 TwoFrameLinker is a utility class to extend a Component such that it connects two Frames. More...
 
class  Umberger2010MuscleMetabolicsProbe
 Umberger2010MuscleMetabolicsProbe is a Probe ModelComponent for computing the net metabolic energy rate of a set of Muscles in the model during a simulation. More...
 
class  Umberger2010MuscleMetabolicsProbe_MetabolicMuscleParameter
 Documentation for this class has been provided with the documentation for the Umberger2010MuscleMetabolicsProbe class. More...
 
class  Umberger2010MuscleMetabolicsProbe_MetabolicMuscleParameterSet
 MetabolicMuscleParameterSet is an internal container class containing the set of MetabolicMuscleParameters for each muscle that is probed. More...
 
class  UnexpectedColumnLabel
 
class  UnexpectedMetaDataKey
 
class  UnilateralConstraint
 An abstract class defining an OpenSim UnilateralConstraint. More...
 
class  Units
 A class implementing various units for measuring quantities. More...
 
class  UniversalJoint
 A class implementing a Universal joint. More...
 
class  UnsupportedFileType
 
class  ValueArray
 
class  ValueArrayDictionary
 ValueArrayDictionary represents an associative array mapping from a string to an AbstractValueArray. More...
 
class  VariableNotFound
 
class  VariableOwnerNotFoundOnSpecifiedPath
 
class  VectorFunction
 An abstract class for representing a vector function. More...
 
class  VectorFunctionForActuators
 An abstract class for representing a vector function. More...
 
class  VectorFunctionUncoupledNxN
 An abstract class for representing a vector function. More...
 
class  VisualizerUtilities
 
class  WeldConstraint
 A class implementing a Weld Constraint. More...
 
class  WeldJoint
 
A class implementing a Weld joint. More...
 
class  WrapCylinder
 A class implementing a cylinder for muscle wrapping. More...
 
class  WrapEllipsoid
 A class implementing an ellipsoid for muscle wrapping. 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  WrapSphere
 A class implementing a sphere for muscle wrapping. More...
 
class  WrapTorus
 A class implementing a torus for muscle wrapping. More...
 
class  XMLDocument
 
class  XsensDataReader
 XsensDataReader is a class that reads files produced by IMU manufacturer Xsens and produces datatables from them. More...
 
class  XsensDataReaderSettings
 XsensDataReaderSettings is a class that reads files produced by IMU manufacturer Xsens and produces datatables from them. More...
 
class  ZerothOrderMuscleActivationDynamics
 This zeroth-order muscle activation dynamic model simply sets activation to excitation, and can be used when activation dynamics are being ignored. More...
 

Typedefs

typedef DataTable_< double, double > DataTable
 See DataTable_ for details on the interface. More...
 
typedef DataTable_< double, SimTK::Vec3 > DataTableVec3
 See DataTable_ for details on the interface. More...
 
typedef PropertyDblVec_< 2 > PropertyDblVec2
 
typedef PropertyDblVec_< 3 > PropertyDblVec3
 
typedef PropertyDblVec_< 4 > PropertyDblVec4
 
typedef PropertyDblVec_< 5 > PropertyDblVec5
 
typedef PropertyDblVec_< 6 > PropertyDblVec6
 
typedef STOFileAdapter_< double > STOFileAdapter
 
typedef STOFileAdapter_< SimTK::Vec3 > STOFileAdapterVec3
 
typedef STOFileAdapter_< SimTK::Quaternion > STOFileAdapterQuaternion
 
typedef std::map< std::string, std::string, std::less< std::string > > MapKeysToValues
 
typedef std::map< std::string, OpenSim::StorageCreator *, std::less< std::string > > mapExtensionsToCreators
 
typedef TableSource_< SimTK::Real > TableSource
 This TableSource_ can hold a TimeSeriesTable_<SimTK::Real> and so its list-output 'column' will have channels of type SimTK::Real (double). More...
 
typedef TableSource_< SimTK::Vec3 > TableSourceVec3
 This TableSource_ can hold a TimeSeriesTable_<SimTK::Vec3> and so its list-output 'column' will have channels of type SimTK::Vec3. More...
 
typedef TimeSeriesTable_< SimTK::Real > TimeSeriesTable
 See TimeSeriesTable_ for details on the interface. More...
 
typedef TimeSeriesTable_< SimTK::Vec3 > TimeSeriesTableVec3
 See TimeSeriesTable_ for details on the interface. More...
 
typedef TimeSeriesTable_< SimTK::Quaternion > TimeSeriesTableQuaternion
 See TimeSeriesTable_ for details on the interface. More...
 
typedef TimeSeriesTable_< SimTK::Rotation > TimeSeriesTableRotation
 See TimeSeriesTable_ for details on the interface. More...
 
using VisualRepresentation = SimTK::DecorativeGeometry::Representation
 
VisualRepresentation is the OpenSim name used across the OpenSim API, it is an that describes in what form is Geometry displayed:
DrawPoints, DrawWireframe, DrawSurface are supported. More...
 
template<typename T >
using SetTModelComponent = Set< T, ModelComponent >
 This is the base class for sets of ModelComponent subclasses. More...
 

Enumerations

enum  KinematicLevel {
  KinematicLevel::Position, KinematicLevel::DtPosition, KinematicLevel::Velocity, KinematicLevel::DtDtPosition,
  KinematicLevel::DtVelocity, KinematicLevel::Acceleration
}
 The kinematic level for a scalar kinematic constraint within a MocoKinematicConstraint. More...
 

Functions

OSIMCOMMON_API void OnAssertionError (char const *failingCode, char const *failingFile, char const *failingFunction, unsigned int failingLine, Object const *maybeSourceObject=nullptr)
 
template<typename T , typename... Args>
std::unique_ptr< T > make_unique (Args &&... args)
 Since OpenSim does not require C++14 (which contains std::make_unique()), here is an implementation of make_unique(). More...
 
OSIMCOMMON_API std::string getFormattedDateTime (bool appendMicroseconds=false, std::string format="%Y-%m-%dT%H%M%S")
 Get a string with the current date and time formatted as Y-m-dTHMS (year, month, day, "T", hour, minute, second). More...
 
OSIMCOMMON_API SimTK::Vector createVectorLinspace (int length, double start, double end)
 Create a SimTK::Vector with the provided length whose elements are uniformly spaced between start and end (same as Matlab's linspace()). More...
 
OSIMCOMMON_API SimTK::Vector createVector (std::initializer_list< SimTK::Real > elements)
 Create a SimTK::Vector using modern C++ syntax. More...
 
OSIMCOMMON_API SimTK::Vector interpolate (const SimTK::Vector &x, const SimTK::Vector &y, const SimTK::Vector &newX, const bool ignoreNaNs=false, const bool extrapolate=false)
 Linearly interpolate y(x) at new values of x. More...
 
OSIMCOMMON_API std::string convertRelativeFilePathToAbsoluteFromXMLDocument (const std::string &documentFileName, const std::string &filePathRelativeToDirectoryContainingDocument)
 An OpenSim XML file may contain file paths that are relative to the directory containing the XML file; use this function to convert that relative path into an absolute path. More...
 
OSIMCOMMON_API SimTK::Real solveBisection (std::function< double(const double &)> calcResidual, double left, double right, const double &tolerance=1e-6, int maxIterations=1000)
 Solve for the root of a scalar function using the bisection method. More...
 
OSIMCOMMON_API SimTK::Matrix computeKNearestNeighbors (const SimTK::Matrix &x, const SimTK::Matrix &y, int k=1)
 Compute the 'k' nearest neighbors of two matrices 'x' and 'y'. More...
 
OSIMCOMMON_API double factorizeMatrixNonNegative (const SimTK::Matrix &A, int numFactors, int maxIterations, double tolerance, SimTK::Matrix &W, SimTK::Matrix &H)
 Use non-negative matrix factorization to decompose an matrix A (NxM) for a selected number of factors 'K' into two matrices W (NxK) and H (KxM) such that A = W * H. More...
 
template<typename ETX , typename ETY >
std::ostream & operator<< (std::ostream &outStream, const DataTable_< ETX, ETY > &table)
 Print DataTable out to a stream. More...
 
OSIMCOMMON_API OPENSIM_PORTABLE_HMODULE WINAPI LoadOpenSimLibrary (const std::string &lpLibFileName, bool verbose)
 Load an OpenSim (plugin) library, using a path to a library (relative or absolute) but without the file extension (.dll, .so, .dylib). More...
 
OSIMCOMMON_API void LoadOpenSimLibrary (const std::string &aLibraryName)
 Uses LoadOpenSimLibrary(const std::string&, bool), with verbosity. More...
 
OSIMCOMMON_API bool LoadOpenSimLibraryExact (const std::string &exactPath, bool verbose=true)
 Load an OpenSim (plugin) library using the exact path specified. More...
 
OSIMCOMMON_API void LoadOpenSimLibraries (int argc, char **argv)
 Used to process legacy command line arguments that specify plugin libraries to load. More...
 
 SimTK_DEFINE_UNIQUE_INDEX_TYPE (PropertyIndex)
 
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 allowNaNs=false)
 
bool OSIMCOMMON_API readVectorFromString (std::string &aString, SimTK::Vec3 &rVec)
 
bool OSIMCOMMON_API readVectorFromString (std::string &aString, double *rVX, double *rVY, double *rVZ)
 
bool OSIMCOMMON_API readCoordinatesFromString (std::string &aString, double rVec[3], bool allowNaNs=false)
 
int OSIMCOMMON_API findFirstNonWhiteSpace (std::string &aString)
 
int OSIMCOMMON_API findFirstWhiteSpace (std::string &aString)
 
void OSIMCOMMON_API convertString (std::string &aString, bool aPrependUnderscore)
 
std::string OSIMCOMMON_API getCurrentTimeString ()
 
std::shared_ptr< DataAdaptercreateSTOFileAdapterForReading (const std::string &fileName)
 
std::shared_ptr< DataAdaptercreateSTOFileAdapterForWriting (const AbstractDataTable &table)
 
OSIMMOCO_API std::string GetMocoVersionAndDate ()
 
OSIMMOCO_API std::string GetMocoVersion ()
 
std::ostream & operator<< (std::ostream &stream, const MocoBounds &bounds)
 
template<typename T >
TimeSeriesTable_< T > analyzeMocoTrajectory (Model model, const MocoTrajectory &trajectory, const std::vector< std::string > &outputPaths)
 Calculate the requested outputs using the model in the problem and the provided StatesTrajectory and controls table. More...
 
OSIMMOCO_API void prescribeControlsToModel (const MocoTrajectory &trajectory, Model &model, std::string functionType="GCVSpline")
 Given a MocoTrajectory and the associated OpenSim model, return the model with a PrescribedController appended that will compute the control values from the MocoTrajectory. More...
 
OSIMMOCO_API MocoTrajectory simulateTrajectoryWithTimeStepping (const MocoTrajectory &trajectory, Model model, double integratorAccuracy=SimTK::NaN)
 Use the controls and initial state in the provided trajectory to simulate the model using an ODE time stepping integrator (OpenSim::Manager), and return the resulting states and controls. More...
 
OSIMMOCO_API MocoTrajectory createPeriodicTrajectory (const MocoTrajectory &halfPeriodTrajectory, std::vector< std::string > addPatterns={".*pelvis_tx/value"}, std::vector< std::string > negatePatterns={ ".*pelvis_list(?!/value).*", ".*pelvis_rotation.*", ".*pelvis_tz(?!/value).*", ".*lumbar_bending(?!/value).*", ".*lumbar_rotation.*"}, std::vector< std::string > negateAndShiftPatterns={ ".*pelvis_list/value", ".*pelvis_tz/value", ".*lumbar_bending/value"}, std::vector< std::pair< std::string, std::string >> symmetryPatterns={{R"(_r(\_|$))", "_l$1"}, {R"(_l(\_|$))", "_r$1"}})
 Convert a trajectory covering half the period of a symmetric motion into a trajectory over the full period. More...
 
OSIMMOCO_API int getMocoParallelEnvironmentVariable ()
 This obtains the value of the OPENSIM_MOCO_PARALLEL environment variable. More...
 
OSIMMOCO_API TimeSeriesTable createExternalLoadsTableForGait (Model model, const StatesTrajectory &trajectory, const std::vector< std::string > &forcePathsRightFoot, const std::vector< std::string > &forcePathsLeftFoot)
 Obtain the ground reaction forces, centers of pressure, and torques resulting from Force elements (e.g., SmoothSphereHalfSpaceForce), using a model and states trajectory. More...
 
OSIMMOCO_API TimeSeriesTable createExternalLoadsTableForGait (Model model, const MocoTrajectory &trajectory, const std::vector< std::string > &forcePathsRightFoot, const std::vector< std::string > &forcePathsLeftFoot)
 Same as above, but with a MocoTrajectory instead of a StatesTrajectory. More...
 
OSIMMOCO_API TimeSeriesTable calcGeneralizedForces (Model model, const MocoTrajectory &trajectory, const std::vector< std::string > &forcePaths)
 Compute the set of generalized coordinate forces from the provided Model and MocoTrajectory. More...
 
tropter::Bounds convertBounds (const MocoBounds &mb)
 
tropter::InitialBounds convertBounds (const MocoInitialBounds &mb)
 
tropter::FinalBounds convertBounds (const MocoFinalBounds &mb)
 
template<>
SimTK::MobilizedBody::FunctionBased CustomJoint::createMobilizedBody< SimTK::MobilizedBody::FunctionBased > (SimTK::MobilizedBody &inboard, const SimTK::Transform &inboardTransform, const SimTK::Body &outboard, const SimTK::Transform &outboardTransform, int &startingCoorinateIndex) const
 
OSIMSIMULATION_API SimTK::State simulate (Model &model, const SimTK::State &initialState, double finalTime, bool saveStatesFile=false)
 Simulate a model from an initial state and return the final state. More...
 
OSIMSIMULATION_API void updateStateLabels40 (const Model &model, std::vector< std::string > &labels)
 Update a vector of state labels (in place) to use post-4.0 state paths instead of pre-4.0 state names. More...
 
OSIMSIMULATION_API std::unique_ptr< StorageupdatePre40KinematicsStorageFor40MotionType (const Model &pre40Model, const Storage &kinematics)
 Not available through scripting. More...
 
OSIMSIMULATION_API void updatePre40KinematicsFilesFor40MotionType (const Model &model, const std::vector< std::string > &filePaths, std::string suffix="_updated")
 This function can be used to upgrade MOT files generated with versions before 4.0 in which some data columns are associated with coordinates that were incorrectly marked as Rotational (rather than Coupled). More...
 
OSIMSIMULATION_API void updateSocketConnecteesBySearch (Model &model)
 This function attempts to update the connectee path for any Socket anywhere in the model whose connectee path does not point to an existing component. More...
 
OSIMSIMULATION_API std::vector< std::string > createStateVariableNamesInSystemOrder (const Model &model)
 The map provides the index of each state variable in SimTK::State::getY() from its each state variable path string. More...
 
OSIMSIMULATION_API std::vector< std::string > createStateVariableNamesInSystemOrder (const Model &model, std::unordered_map< int, int > &yIndexMap)
 Same as above, but you can obtain a map from the returned state variable names to the index in SimTK::State::getY() that accounts for empty slots in Y. More...
 
OSIMSIMULATION_API std::unordered_map< std::string, int > createSystemYIndexMap (const Model &model)
 The map provides the index of each state variable in SimTK::State::getY() from its state variable path string. More...
 
OSIMSIMULATION_API std::vector< std::string > createControlNamesFromModel (const Model &model, std::vector< int > &modelControlIndices)
 Create a vector of control names based on the actuators in the model for which appliesForce == True. More...
 
OSIMSIMULATION_API std::vector< std::string > createControlNamesFromModel (const Model &model)
 Same as above, but when there is no mapping to the modelControlIndices. More...
 
template<typename T >
std::unordered_set< std::string > createControlNamesForControllerType (const Model &model)
 Create a vector of control names based on the actuators in the model associated with any controller of type T for which appliesForce == True. More...
 
OSIMSIMULATION_API std::unordered_map< std::string, int > createSystemControlIndexMap (const Model &model)
 The map provides the index of each control variable in the SimTK::Vector returned by Model::getControls(), using the control name as the key. More...
 
OSIMSIMULATION_API void checkOrderSystemControls (const Model &model)
 Throws an exception if the order of the controls in the model is not the same as the order of the actuators in the model. More...
 
OSIMSIMULATION_API void checkLabelsMatchModelStates (const Model &model, const std::vector< std::string > &labels)
 Throws an exception if any label in the provided list does not match any state variable names in the model. More...
 
template<typename T >
TimeSeriesTable_< T > analyze (Model model, const TimeSeriesTable &statesTable, const TimeSeriesTable &controlsTable, const std::vector< std::string > &outputPaths, const TimeSeriesTable &discreteVariablesTable={})
 Calculate the requested outputs using the model in the problem and the provided states and controls tables. More...
 
OSIMSIMULATION_API TimeSeriesTableVec3 createSyntheticIMUAccelerationSignals (const Model &model, const TimeSeriesTable &statesTable, const TimeSeriesTable &controlsTable, const std::vector< std::string > &framePaths)
 Calculate "synthetic" acceleration signals equivalent to signals recorded from inertial measurement units (IMUs). More...
 
OSIMSIMULATION_API void appendCoupledCoordinateValues (TimeSeriesTable &table, const Model &model, bool overwriteExistingColumns=true)
 Compute the values of coordinates defined by CoordinateCouplerConstraints in the model and append them to the provided TimeSeriesTable. More...
 
OSIMSIMULATION_API void appendCoordinateValueDerivativesAsSpeeds (TimeSeriesTable &table, const Model &model, bool overwriteExistingColumns=true)
 Compute and append the coordinate speeds in the model by taking the first derivative of the coordinate values in the provided TimeSeriesTable. More...
 

Variables

const char ObjectDEFAULT_NAME [] = "default"
 

Detailed Description

This path contraint allows you to bound any number of state variables between two time-based functions.

The Moco interface is contained within the OpenSim namespace.

Version
1.0
Author
Ayman Habib

It is possible to constrain the state variable to match the value from a provided function; see the equality_with_lower property.

If a function is a GCVSpline, we ensure that the spline covers the entire possible time range in the problem (using the problem's time bounds). We do not perform such a check for other types of functions.

Note
If you omit the lower and upper bounds, then this class will not constrain any state variable, even if you have provided state paths.

Typedef Documentation

◆ DataTable

typedef DataTable_<double, double> OpenSim::DataTable

See DataTable_ for details on the interface.

◆ DataTableVec3

typedef DataTable_<double, SimTK::Vec3> OpenSim::DataTableVec3

See DataTable_ for details on the interface.

◆ mapExtensionsToCreators

typedef std::map<std::string, OpenSim::StorageCreator*, std::less<std::string> > OpenSim::mapExtensionsToCreators

◆ MapKeysToValues

typedef std::map<std::string, std::string, std::less<std::string> > OpenSim::MapKeysToValues

◆ PropertyDblVec2

◆ PropertyDblVec3

◆ PropertyDblVec4

◆ PropertyDblVec5

◆ PropertyDblVec6

◆ SetTModelComponent

template<typename T >
using OpenSim::SetTModelComponent = typedef Set<T, ModelComponent>

This is the base class for sets of ModelComponent subclasses.

It provides methods for invoking all of the ModelComponent methods on each member of the set.

Template Parameters
TThis must be a concrete class derived from ModelComponent.

◆ STOFileAdapter

◆ STOFileAdapterQuaternion

◆ STOFileAdapterVec3

◆ TableSource

typedef TableSource_<SimTK::Real> OpenSim::TableSource

This TableSource_ can hold a TimeSeriesTable_<SimTK::Real> and so its list-output 'column' will have channels of type SimTK::Real (double).

Its other output 'row' will be of type SimTK::Vector_<SimTK::Real>.

◆ TableSourceVec3

typedef TableSource_<SimTK::Vec3> OpenSim::TableSourceVec3

This TableSource_ can hold a TimeSeriesTable_<SimTK::Vec3> and so its list-output 'column' will have channels of type SimTK::Vec3.

Its other output 'row' will be of type SimTK::Vector_<SimTK::Vec3>.

◆ TimeSeriesTable

See TimeSeriesTable_ for details on the interface.

◆ TimeSeriesTableQuaternion

See TimeSeriesTable_ for details on the interface.

◆ TimeSeriesTableRotation

See TimeSeriesTable_ for details on the interface.

◆ TimeSeriesTableVec3

See TimeSeriesTable_ for details on the interface.

◆ VisualRepresentation

using OpenSim::VisualRepresentation = typedef SimTK::DecorativeGeometry::Representation


VisualRepresentation is the OpenSim name used across the OpenSim API, it is an that describes in what form is Geometry displayed:
DrawPoints, DrawWireframe, DrawSurface are supported.

Enumeration Type Documentation

◆ KinematicLevel

The kinematic level for a scalar kinematic constraint within a MocoKinematicConstraint.

Each scalar constraint is automatically assigned a KinematicLevel enum value when a MocoKinematicConstraint is instantiated.

Enumerator
Position 
DtPosition 
Velocity 
DtDtPosition 
DtVelocity 
Acceleration 

Function Documentation

◆ convertBounds() [1/3]

◆ convertBounds() [2/3]

tropter::InitialBounds OpenSim::convertBounds ( const MocoInitialBounds mb)
inline

◆ convertBounds() [3/3]

tropter::FinalBounds OpenSim::convertBounds ( const MocoFinalBounds mb)
inline

◆ convertString()

void OSIMCOMMON_API OpenSim::convertString ( std::string &  aString,
bool  aPrependUnderscore 
)

◆ createSTOFileAdapterForReading()

std::shared_ptr<DataAdapter> OpenSim::createSTOFileAdapterForReading ( const std::string &  fileName)

◆ createSTOFileAdapterForWriting()

std::shared_ptr<DataAdapter> OpenSim::createSTOFileAdapterForWriting ( const AbstractDataTable table)

◆ CustomJoint::createMobilizedBody< SimTK::MobilizedBody::FunctionBased >()

template<>
SimTK::MobilizedBody::FunctionBased OpenSim::CustomJoint::createMobilizedBody< SimTK::MobilizedBody::FunctionBased > ( SimTK::MobilizedBody &  inboard,
const SimTK::Transform &  inboardTransform,
const SimTK::Body &  outboard,
const SimTK::Transform &  outboardTransform,
int &  startingCoorinateIndex 
) const

◆ factorizeMatrixNonNegative()

OSIMCOMMON_API double OpenSim::factorizeMatrixNonNegative ( const SimTK::Matrix &  A,
int  numFactors,
int  maxIterations,
double  tolerance,
SimTK::Matrix &  W,
SimTK::Matrix &  H 
)

Use non-negative matrix factorization to decompose an matrix A (NxM) for a selected number of factors 'K' into two matrices W (NxK) and H (KxM) such that A = W * H.

The alternating least squares (ALS) algorithm is used to solve for W and H by minimizing the Frobenius norm of the error between A and W * H. The matrices W and H are scaled assuming that the rows of H have magnitudes as if all elements in H were equal to 0.5, which prevents individual factors from being very large or very small. The algorithm terminates when the change in the error norm is less than the specified tolerance or the maximum number of iterations is reached.

Returns
The final Frobenius norm of the error between A and W * H.

Berry, M. W., et al. (2007). Algorithms and Applications for Approximate Nonnegative Matrix Factorization. Computational Statistics & Data Analysis, 52(1), 155-173. doi:10.1016/j.csda.2006.11.006.

Examples:
exampleMocoInverse.cpp.

◆ findFirstNonWhiteSpace()

int OSIMCOMMON_API OpenSim::findFirstNonWhiteSpace ( std::string &  aString)

◆ findFirstWhiteSpace()

int OSIMCOMMON_API OpenSim::findFirstWhiteSpace ( std::string &  aString)

◆ getCurrentTimeString()

std::string OSIMCOMMON_API OpenSim::getCurrentTimeString ( )

◆ GetMocoVersion()

OSIMMOCO_API std::string OpenSim::GetMocoVersion ( )

◆ GetMocoVersionAndDate()

OSIMMOCO_API std::string OpenSim::GetMocoVersionAndDate ( )

◆ LoadOpenSimLibraries()

OSIMCOMMON_API void OpenSim::LoadOpenSimLibraries ( int  argc,
char **  argv 
)

Used to process legacy command line arguments that specify plugin libraries to load.

Internally uses LoadOpenSimLibrary(const std::string&, bool) with verbosity.

◆ LoadOpenSimLibrary() [1/2]

OSIMCOMMON_API OPENSIM_PORTABLE_HMODULE WINAPI OpenSim::LoadOpenSimLibrary ( const std::string &  lpLibFileName,
bool  verbose 
)

Load an OpenSim (plugin) library, using a path to a library (relative or absolute) but without the file extension (.dll, .so, .dylib).

This method will prefer a debug variant of the library if OpenSim was built in debug.

In MATLAB/Python, we suggest you use LoadOpenSimLibraryExact instead of this function. If you insist on using this variant, see the examples below.

To load a plugin in MATLAB, use the following:

import org.opensim.modeling.*;
opensimCommon.LoadOpenSimLibrary('<path>/osimMyPlugin');

Do NOT use MATLAB's loadlibrary().

To load a plugin in Python, use the following:

import opensim
opensim.LoadOpenSimLibrary('<path>/osimMyPlugin')

◆ LoadOpenSimLibrary() [2/2]

OSIMCOMMON_API void OpenSim::LoadOpenSimLibrary ( const std::string &  aLibraryName)

◆ LoadOpenSimLibraryExact()

OSIMCOMMON_API bool OpenSim::LoadOpenSimLibraryExact ( const std::string &  exactPath,
bool  verbose = true 
)

Load an OpenSim (plugin) library using the exact path specified.

Therefore, you must supply an exact path to the library (either relative or absolute), including the file extension (.dll, .so, .dylib). The only change that may be made to the path is to convert forward slashes to backslashes on Windows (and vice versa on UNIX).

To load a plugin in MATLAB, use the following:

import org.opensim.modeling.*;
opensimCommon.LoadOpenSimLibraryExact('<path>/osimMyPlugin.dll');

Do NOT use MATLAB's loadlibrary().

To load a plugin in Python, use the following:

import opensim
opensim.LoadOpenSimLibraryExact('<path>/osimMyPlugin.dll')
Note
If your (plugin) library depends on other libraries, make sure they are available as well (e.g., by setting the appropriate values for environment variables like PATH (Windows), LD_LIBRARY_PATH (Linux), and DYLD_LIBRARY_PATH (macOS)).
Returns
true if the library was successfully loaded; false otherwise.

◆ OnAssertionError()

OSIMCOMMON_API void OpenSim::OnAssertionError ( char const *  failingCode,
char const *  failingFile,
char const *  failingFunction,
unsigned int  failingLine,
Object const *  maybeSourceObject = nullptr 
)

◆ operator<<() [1/2]

std::ostream& OpenSim::operator<< ( std::ostream &  stream,
const MocoBounds bounds 
)
inline

◆ operator<<() [2/2]

template<typename ETX , typename ETY >
std::ostream& OpenSim::operator<< ( std::ostream &  outStream,
const DataTable_< ETX, ETY > &  table 
)

Print DataTable out to a stream.

References OpenSim::DataTable_< ETX, ETY >::toString().

◆ readCoordinatesFromString()

bool OSIMCOMMON_API OpenSim::readCoordinatesFromString ( std::string &  aString,
double  rVec[3],
bool  allowNaNs = false 
)

◆ readDoubleFromString()

bool OSIMCOMMON_API OpenSim::readDoubleFromString ( std::string &  aString,
double *  rNumber,
bool  allowNaNs = false 
)

◆ readIntegerFromString()

bool OSIMCOMMON_API OpenSim::readIntegerFromString ( std::string &  aString,
int *  rNumber 
)

◆ readNonCommentStringFromStream()

bool OSIMCOMMON_API OpenSim::readNonCommentStringFromStream ( std::istream &  aStream,
std::string &  rBuffer 
)

◆ readStringFromStream()

bool OSIMCOMMON_API OpenSim::readStringFromStream ( std::istream &  aStream,
std::string &  rBuffer 
)

◆ readStringFromString()

bool OSIMCOMMON_API OpenSim::readStringFromString ( std::string &  aString,
std::string &  rBuffer 
)

◆ readTabDelimitedStringFromString()

bool OSIMCOMMON_API OpenSim::readTabDelimitedStringFromString ( std::string &  aString,
std::string &  rBuffer 
)

◆ readVectorFromString() [1/2]

bool OSIMCOMMON_API OpenSim::readVectorFromString ( std::string &  aString,
SimTK::Vec3 &  rVec 
)

◆ readVectorFromString() [2/2]

bool OSIMCOMMON_API OpenSim::readVectorFromString ( std::string &  aString,
double *  rVX,
double *  rVY,
double *  rVZ 
)

◆ SimTK_DEFINE_UNIQUE_INDEX_TYPE()

OpenSim::SimTK_DEFINE_UNIQUE_INDEX_TYPE ( PropertyIndex  )

Variable Documentation

◆ ObjectDEFAULT_NAME

const char OpenSim::ObjectDEFAULT_NAME[] = "default"