![]() |
RobWorkProject
23.9.11-
|
Generic test type for physics engines, which provides a factory for standard tests along with an extension point for user defined tests. More...
#include <EngineTest.hpp>
Inherited by IntegratorTest.
Classes | |
| struct | EngineLoopInfo |
| The info passed in a callback function. More... | |
| class | Factory |
| A factory for engine tests. This factory also defines an ExtensionPoint. More... | |
| struct | Failure |
| Format for a failure to an engine test. More... | |
| struct | Result |
| A result of an engine test. Each test can return multiple results. More... | |
| class | TestHandle |
| Handle for a concrete test run, which makes it possible to interact with the test during simulation. More... | |
Public Types | |
| typedef rw::core::Ptr< EngineTest > | Ptr |
| Smart pointer to EngineTest. | |
| typedef std::function< void(double time, bool failed, bool done)> | TimeCallback |
| The callback type for the current simulation time. | |
Public Member Functions | |
| EngineTest () | |
| Construct new test. | |
| virtual | ~EngineTest () |
| Destructor. | |
| virtual bool | isEngineSupported (const std::string &engineID) const =0 |
| Check if engine with specific name is supported by the test. More... | |
| virtual TestHandle::Ptr | runThread (const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose, rw::core::Ptr< rw::common::ThreadTask > task) |
| Run the test in a separate thread. More... | |
| virtual void | run (TestHandle::Ptr handle, const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose=NULL)=0 |
| Run the test. More... | |
| virtual double | getRunTime () const =0 |
| Get the length of the simulation. More... | |
| virtual rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > | getDWC (const rw::core::PropertyMap &map)=0 |
| Get the dynamic workcell used by the test. More... | |
| virtual rw::core::Ptr< rw::core::PropertyMap > | getDefaultParameters () const |
| Get the default parameters used by the test. More... | |
| virtual std::vector< rw::core::Ptr< rw::core::PropertyMap > > | getPredefinedParameters () const |
| Get a vector of predefined parameters. More... | |
Protected Types | |
| typedef std::function< void(rw::core::Ptr< const rwsim::dynamics::DynamicWorkCell >, rw::kinematics::State &)> | InitCallback |
| Type for a function initializing the state. | |
| typedef std::function< void(const EngineLoopInfo &)> | TestCallback |
| Type for a callback function. | |
Protected Member Functions | |
| void | runEngineLoop (double dt, TestHandle::Ptr handle, const std::string &engineID, const rw::core::PropertyMap ¶meters, rw::core::Ptr< rwsim::log::SimulatorLogScope > verbose, TestCallback callback=0, InitCallback initialize=0) |
| A standard stepping loop provided as a convenience for test implementations. More... | |
Generic test type for physics engines, which provides a factory for standard tests along with an extension point for user defined tests.
|
virtual |
Get the default parameters used by the test.
Reimplemented in IntegratorTest.
|
pure virtual |
Get the dynamic workcell used by the test.
| map | [in] properties for test workcell. |
Implemented in IntegratorTest.
|
virtual |
Get a vector of predefined parameters.
|
pure virtual |
Get the length of the simulation.
Implemented in IntegratorSpringTest, IntegratorRotationTest, and IntegratorGravityTest.
|
pure virtual |
Check if engine with specific name is supported by the test.
| engineID | [in] the id of the engine. |
Implemented in IntegratorTest.
|
pure virtual |
Run the test.
| handle | [in/out] a TestHandle where the results of the test will be added to. |
| engineID | [in] the id of the engine to run test for. |
| parameters | [in] the parameters for the test run. |
| verbose | [in] (optional) record detailed internal debug information in the engine during simulation. |
|
protected |
A standard stepping loop provided as a convenience for test implementations.
| dt | [in] the time step to use. |
| handle | [in/out] a TestHandle where the results of the test will be added to. |
| engineID | [in] the id of the engine to run test for. |
| parameters | [in] the parameters for the test run. |
| verbose | [in] record detailed internal debug information in the engine during simulation. |
| callback | [in] (optional) call a function after each step of the simulation. |
| initialize | [in] (optional) call a function that sets the initial state. |
|
virtual |
Run the test in a separate thread.
| engineID | [in] the id of the engine to run test for. |
| parameters | [in] the parameters for the test run. |
| verbose | [in] record detailed internal debug information in the engine during simulation. |
| task | [in] the task to add simulation work to. |