API
4.0
For C++ developers
|
Public Types | |
enum | ForceLocation { ForceLocation::OriginOfForcePlate = 0, ForceLocation::CenterOfPressure = 1, ForceLocation::PointOfWrenchApplication = 2 } |
Enumerated list of locations in which read in forces are expressed. More... | |
typedef std::vector< Event > | EventTable |
typedef std::map< std::string, std::shared_ptr< TimeSeriesTableVec3 > > | Tables |
Public Types inherited from OpenSim::DataAdapter | |
typedef std::map< std::string, std::shared_ptr< DataAdapter > > | RegisteredDataAdapters |
Type of the registry containing registered adapters. More... | |
typedef std::map< std::string, std::shared_ptr< AbstractDataTable > > | OutputTables |
Collection of tables returned by reading methods implemented in derived classes. More... | |
typedef std::map< std::string, const AbstractDataTable * > | InputTables |
Collection of tables accepted by writing methods implemented in derived classes. More... | |
Static Public Member Functions | |
static Tables | read (const std::string &fileName, ForceLocation wrt=ForceLocation::OriginOfForcePlate) |
Read in a C3D file into separate markers and forces tables of type TimeSeriesTableVec3. More... | |
static void | write (const Tables &markerTable, const std::string &fileName) |
Static Public Member Functions inherited from OpenSim::FileAdapter | |
static OutputTables | readFile (const std::string &fileName) |
Read a file with the given name. More... | |
static void | writeFile (const InputTables &tables, const std::string &fileName) |
Write a collection of tables to the given file. More... | |
static std::string | findExtension (const std::string &filename) |
Find the extension from a filename. More... | |
static std::vector< std::string > | getNextLine (std::istream &stream, const std::string &delims) |
Get the next line from the stream and tokenize/split the line using the given delimiters. More... | |
Static Public Member Functions inherited from OpenSim::DataAdapter | |
static bool | registerDataAdapter (const std::string &identifier, const DataAdapter &adapter) |
Register a concrete DataAdapter by its unique string identifier. More... | |
Static Public Attributes | |
static const std::string | _markers |
static const std::string | _forces |
Protected Member Functions | |
OutputTables | extendRead (const std::string &fileName) const override |
Implements reading functionality. More... | |
void | extendWrite (const InputTables &tables, const std::string &fileName) const override |
Implements writing functionality. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from OpenSim::FileAdapter | |
static std::vector< std::string > | tokenize (const std::string &str, const std::string &delims) |
Tokenize/split a given string using the given delimiters. More... | |
Static Protected Member Functions inherited from OpenSim::DataAdapter | |
static std::shared_ptr< DataAdapter > | createAdapter (const std::string &identifier) |
Creator of concrete DataAdapter(s) for the specified source type by its unique identifier (string). More... | |
typedef std::vector<Event> OpenSim::C3DFileAdapter::EventTable |
typedef std::map<std::string, std::shared_ptr<TimeSeriesTableVec3> > OpenSim::C3DFileAdapter::Tables |
|
strong |
Enumerated list of locations in which read in forces are expressed.
Measurement from force plates can be expressed by the C3DFileAdapter either at the OriginOfForcePlate (the default), CenterOfPressure, or the PointOfWrenchApplication. It is an optional argument to C3DFileAdapter::read().
In the case of the CenterOfPressure (COP), the underlying assumptions are that the ground plane (in which COP is defined) passes through the lab origin (0,0,0) with the Z-axis as its normal vector.
The PointOfWrenchApplication (PWA) does not assume a plane of contact. The PWA is an equivalent wrench in the lab frame and computed according to Shimba 1984. Takeshi Shimba, An estimation of center of gravity from force platform data, Journal of Biomechanics, 17(1), pp53-60, 1984.
C++ example
Python example
Java example
MATLAB example
Enumerator | |
---|---|
OriginOfForcePlate | 0 : the origin of the force-plate |
CenterOfPressure | 1 : the center of pressure |
PointOfWrenchApplication | 2 : PWA as defined by Shimba, 1984 |
|
default |
|
default |
|
default |
|
default |
|
overridevirtual |
Implements OpenSim::DataAdapter.
|
overrideprotectedvirtual |
Implements reading functionality.
Implements OpenSim::DataAdapter.
|
overrideprotectedvirtual |
Implements writing functionality.
Implements OpenSim::DataAdapter.
|
inline |
|
default |
|
default |
|
static |
Read in a C3D file into separate markers and forces tables of type TimeSeriesTableVec3.
The markers table has each column labeled by its corresponding marker name. For the forces table, the data are grouped by sensor (force-plate #) in force, point and moment order, with the respective f#, p# and m# column labels. C3DFileAdpater provides options for expressing the force-plate measurements either as the net force and moments expressed at the ForcePlateOrigin, the CentereOfPressure, or the PointOfWrenchApplication (see above).
|
inline |
|
static |
|
static |
|
static |