This class describes a workflow for processing a table using TableOperators.
The user must provide a source table either as a filepath to a table or an in-memory TimeSeriesTable. In C++, one can easily chain together the operators in a processor using the C++ pipe operator:
- Examples:
- example2DWalking.cpp, exampleMocoInverse.cpp, and exampleMocoTrack.cpp.
#include <Moco/Moco/Common/TableProcessor.h>
|
| OpenSim_DECLARE_PROPERTY (filepath, std::string, "File path to a TimeSeriesTable.") |
|
| OpenSim_DECLARE_LIST_PROPERTY (operators, TableOperator, "Operators to apply to the source table of this processor.") |
|
| TableProcessor () |
| This constructor is only for use when reading (deserializing) from an XML file. More...
|
|
| TableProcessor (TimeSeriesTable table) |
| Use an in-memory TimeSeriesTable as the source table. More...
|
|
| TableProcessor (std::string filepath) |
| Use a filepath as the source table. More...
|
|
TimeSeriesTable | process (std::string relativeToDirectory, const Model *model=nullptr) const |
| Process and obtain the table. More...
|
|
TimeSeriesTable | process (const Model *model=nullptr) const |
| Same as above, but paths are evaluated with respect to the current working directory. More...
|
|
bool | empty () const |
| Returns true if neither a filepath nor an in-memory table have been provided. More...
|
|
TableProcessor & | append (const TableOperator &op) |
| Append an operation to the end of the operations in this processor.
|
|
TableProcessor & | append (const TableProcessor &traj) |
| Append all operations in another processor to this processor. More...
|
|
TableProcessor & | operator| (const TableOperator &right) |
| This operator allows one to write the following code in C++: More...
|
|
◆ TableProcessor() [1/3]
OpenSim::TableProcessor::TableProcessor |
( |
| ) |
|
|
inline |
This constructor is only for use when reading (deserializing) from an XML file.
◆ TableProcessor() [2/3]
OpenSim::TableProcessor::TableProcessor |
( |
TimeSeriesTable |
table | ) |
|
|
inline |
Use an in-memory TimeSeriesTable as the source table.
Since this constructor is not explicit, you can provide a TimeSeriesTable to any function that takes a TableProcessor (in C++).
◆ TableProcessor() [3/3]
OpenSim::TableProcessor::TableProcessor |
( |
std::string |
filepath | ) |
|
|
inline |
Use a filepath as the source table.
Since this constructor is not explicit, you can provide a string filepath to any function that takes a TableProcessor.
◆ append()
Append all operations in another processor to this processor.
The source table of the provided trajectory is ignored.
◆ empty()
bool OpenSim::TableProcessor::empty |
( |
| ) |
const |
|
inline |
Returns true if neither a filepath nor an in-memory table have been provided.
◆ operator|()
This operator allows one to write the following code in C++:
◆ process() [1/2]
TimeSeriesTable OpenSim::TableProcessor::process |
( |
std::string |
relativeToDirectory, |
|
|
const Model * |
model = nullptr |
|
) |
| const |
|
inline |
Process and obtain the table.
If a filepath is provided, it will be evaluated relative relativeToDirectory
. If a model is provided, it is used to convert columns from degrees to radians (if the table has a header with inDegrees=yes) before any operations are performed. This model is accessible by any TableOperators that require it.
◆ process() [2/2]
TimeSeriesTable OpenSim::TableProcessor::process |
( |
const Model * |
model = nullptr | ) |
const |
|
inline |
Same as above, but paths are evaluated with respect to the current working directory.
The documentation for this class was generated from the following file: