API  4.1
For C++ developers
OpenSim Namespace Reference

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  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  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  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  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  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
 Component Exceptions. More...
 
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 class for handling Paths for Components, deriving from Path. 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  ConstantDistanceConstraint
 A class implementing a constraint that maintains a constant distance between 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  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  DataTable_
 DataTable_ is an in-memory storage container for data with support for holding metadata (using the base class AbstractDataTable). More...
 
class  DataTypeMismatch
 
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  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  EmptyFileName
 
class  EmptyTable
 
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 who's 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  FileDoesNotExist
 
class  FileExtensionNotFound
 
class  FileIsEmpty
 
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  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 base class representing a path (muscle, ligament, etc.). 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  IMUDataReader
 
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 calibrate on a model to match placement of 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  InputNotConnected
 ComponentSocket Exceptions. More...
 
class  InputNotFound
 
class  InvalidArgument
 
class  InvalidCall
 
class  InvalidColumn
 
class  InvalidColumnLabel
 
class  InvalidComponentName
 
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  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  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  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  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  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  ModelHasNoSystem
 Model Exceptions. 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  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  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  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::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  Output
 
class  OutputNotFound
 
class  OutputReporter
 The OutputReporter Analysis is a wrapper for a TableReporter. More...
 
class  Path
 An abstract class for handling a Path. More...
 
class  PathActuator
 This is the base class for actuators that apply controllable tension along a geometry 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  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  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  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
 This class holds a sequence of SimTK::States. More...
 
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  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  Storage
 A class for storing an array of statevectors. More...
 
class  StorageCreator
 
class  StorageFactory
 
class  StorageInterface
 
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  SystemEnergyProbe
 SystemEnergyProbe is a ModelComponent Probe for computing an operation on a total system energy during a simulation. More...
 
class  TableMissingHeader
 
class  TableNotFoundException
 
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  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  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  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  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...
 

Functions

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...
 
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)
 
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 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...
 
General-purpose simulation driver for OpenSim models
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...
 

Variables

const char ObjectDEFAULT_NAME [] = "default"
 

Detailed Description

Version
1.0
Author
Ayman Habib

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.

Function Documentation

◆ 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

◆ 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 ( )

◆ getFormattedDateTime()

OSIMCOMMON_API std::string OpenSim::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).

You can change the datetime format via the format parameter. If you specify "ISO", then we use the ISO 8601 extended datetime format Y-m-dTH:M:S. See https://en.cppreference.com/w/cpp/io/manip/put_time.

◆ 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.

◆ operator<<()

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  )

◆ simulate()

OSIMSIMULATION_API SimTK::State OpenSim::simulate ( Model model,
const SimTK::State &  initialState,
double  finalTime,
bool  saveStatesFile = false 
)

Simulate a model from an initial state and return the final state.

If the model's useVisualizer flag is true, the user is repeatedly prompted to either begin simulating or quit. The provided state is not updated but the final state is returned at the end of the simulation, when finalTime is reached. Set saveStatesFile=true to save the states to a storage file as: "<model_name>_states.sto".

◆ updatePre40KinematicsFilesFor40MotionType()

OSIMSIMULATION_API void OpenSim::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).

Specific instances of the issue are the patella coordinate in the Rajagopal 2015 and leg6dof9musc models. In these cases, the patella will visualize incorrectly in the GUI when replaying the kinematics from the MOT file, and Static Optimization will yield incorrect results.

The new files are written to the same directories as the original files, but with the provided suffix (before the file extension). To overwrite your original files, set the suffix to an emtpty string.

If the file does not need to be updated, no new file is written.

Conversion of the data only occurs for files in degrees ("inDegrees=yes" in the header).

Do not use this function with MOT files generated by 4.0 or later; doing so will cause your data to be altered incorrectly. We do not detect whether or not your MOT file is pre-4.0.

In OpenSim 4.0, MotionTypes for Coordinates are now determined strictly by the coordinates' owning Joint. In older models, the MotionType, particularly for CustomJoints, were user- specified. That entailed in some cases, incorrectly labeling a Coordinate as being Rotational, for example, when it is in fact Coupled. For the above models, for example, the patella Coordinate had been user-specified to be Rotational, but the angle of the patella about the Z-axis of the patella body, is a spline function (e.g. coupled function) of the patella Coordinate. Thus, the patella Coordinate is not an angle measurement and is not classified as Rotational. Use this utility to remove any unit conversions from Coordinates that were incorrectly labeled as Rotational in the past. For these Coordinates only, the utility will undo the incorrect radians to degrees conversion.

◆ updatePre40KinematicsStorageFor40MotionType()

OSIMSIMULATION_API std::unique_ptr<Storage> OpenSim::updatePre40KinematicsStorageFor40MotionType ( const Model pre40Model,
const Storage kinematics 
)

Not available through scripting.

Returns
nullptr if no update is necessary.

◆ updateSocketConnecteesBySearch()

OSIMSIMULATION_API void OpenSim::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.

The paths are updated by searching the model for a component with the correct name. For example, a connectee path like ../../some/invalid/path/to/foo will be updated to /bodyset/foo if a Body named foo exists in the Model's BodySet. If a socket specifies a Body foo and more than one Body foo exists in the model, we emit a warning and the socket that specified foo is not altered.

This method is intended for use with models loaded from version-30516 XML files to bring them up to date with the 4.0 interface.

Variable Documentation

◆ ObjectDEFAULT_NAME

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