Namespaces | |
| Colors | |
| common | |
| core | |
| graph | |
| mechanicalvisitor | |
| node | |
| xml | |
Typedefs | |
| typedef sofa::core::sptr< Node > | NodeSPtr |
| typedef sofa::core::sptr< Simulation > | SimulationSPtr |
Enumerations | |
| enum class | ForEachExecutionPolicy : bool { SEQUENTIAL = false , PARALLEL } |
Functions | |
| void | registerDefaultAnimationLoop (sofa::core::ObjectFactory *factory) |
| void | registerDefaultVisualManagerLoop (sofa::core::ObjectFactory *factory) |
| SOFA_SIMULATION_CORE_API Simulation * | getSimulation () |
| void | registerRequiredPlugin (sofa::core::ObjectFactory *factory) |
| void | initThreadLocalData () |
| template<class LinkType , class Component > | |
| void | checkAlreadyContains (Node &self, LinkType &link, Component *obj) |
| template<class InputIt , class Distance > | |
| void | advance (InputIt &it, Distance n) |
| template<class InputIt > | |
| sofa::type::vector< Range< InputIt > > | makeRangesForLoop (const InputIt first, const InputIt last, const unsigned int nbRangesHint) |
| template<class InputIt , class UnaryFunction > | |
| UnaryFunction | forEach (InputIt first, InputIt last, UnaryFunction f) |
| template<class InputIt , class UnaryFunction > | |
| UnaryFunction | forEachRange (InputIt first, InputIt last, UnaryFunction f) |
| template<class InputIt , class UnaryFunction > | |
| UnaryFunction | parallelForEachRange (TaskScheduler &taskScheduler, InputIt first, InputIt last, UnaryFunction f) |
| template<class InputIt , class UnaryFunction > | |
| UnaryFunction | parallelForEach (TaskScheduler &taskScheduler, InputIt first, InputIt last, UnaryFunction f) |
| template<class InputIt , class UnaryFunction > | |
| UnaryFunction | forEachRange (const ForEachExecutionPolicy execution, TaskScheduler &taskScheduler, InputIt first, InputIt last, UnaryFunction f) |
| template<class InputIt , class UnaryFunction > | |
| UnaryFunction | forEach (const ForEachExecutionPolicy execution, TaskScheduler &taskScheduler, InputIt first, InputIt last, UnaryFunction f) |
| SOFA_SIMULATION_API void | init () |
Variables | |
| const SceneLoader * | loaderPHP = SceneLoaderFactory::getInstance()->addEntry(new SceneLoaderPHP()) |
| const SceneLoader * | loaderXML = SceneLoaderFactory::getInstance()->addEntry(new SceneLoaderXML()) |
| const bool | DefaultTaskSchedulerRegistered |
| typedef sofa::core::sptr< Node > sofa::simulation::NodeSPtr |
|
strong |
| void sofa::simulation::advance | ( | InputIt & | it, |
| Distance | n | ||
| ) |
| void sofa::simulation::checkAlreadyContains | ( | Node & | self, |
| LinkType & | link, | ||
| Component * | obj | ||
| ) |
| UnaryFunction sofa::simulation::forEach | ( | const ForEachExecutionPolicy | execution, |
| TaskScheduler & | taskScheduler, | ||
| InputIt | first, | ||
| InputIt | last, | ||
| UnaryFunction | f | ||
| ) |
| UnaryFunction sofa::simulation::forEach | ( | InputIt | first, |
| InputIt | last, | ||
| UnaryFunction | f | ||
| ) |
Applies the given function object f to the result of dereferencing every iterator in the range [first, last), in order.
| UnaryFunction sofa::simulation::forEachRange | ( | const ForEachExecutionPolicy | execution, |
| TaskScheduler & | taskScheduler, | ||
| InputIt | first, | ||
| InputIt | last, | ||
| UnaryFunction | f | ||
| ) |
| UnaryFunction sofa::simulation::forEachRange | ( | InputIt | first, |
| InputIt | last, | ||
| UnaryFunction | f | ||
| ) |
Applies the given function object f to the Range [first, last)
The signature of the function f should be equivalent to the following: void fun(const Range<InputIt>& a); The signature does not need to have const &
| Simulation * sofa::simulation::getSimulation | ( | ) |
Get the (unique) simulation which controls the scene. Automatically creates one if no Simulation has been set.
| SOFA_SIMULATION_API void sofa::simulation::init | ( | ) |
| SOFA_SIMULATION_CORE_API void sofa::simulation::initThreadLocalData | ( | ) |
| sofa::type::vector<Range<InputIt> > sofa::simulation::makeRangesForLoop | ( | const InputIt | first, |
| const InputIt | last, | ||
| const unsigned int | nbRangesHint | ||
| ) |
Function returning a list of ranges from an iterable container. The number of ranges depends on: 1) the desired number of ranges provided in a parameter 2) the number of elements in the container The number of elements in each range is homogeneous, except for the last range which may contain more elements.
| UnaryFunction sofa::simulation::parallelForEach | ( | TaskScheduler & | taskScheduler, |
| InputIt | first, | ||
| InputIt | last, | ||
| UnaryFunction | f | ||
| ) |
Applies the given function object f to the result of dereferencing every iterator in the range [first, last), in parallel.
| UnaryFunction sofa::simulation::parallelForEachRange | ( | TaskScheduler & | taskScheduler, |
| InputIt | first, | ||
| InputIt | last, | ||
| UnaryFunction | f | ||
| ) |
Applies in parallel the given function object f to a list of ranges generated from [first, last)
The signature of the function f should be equivalent to the following: void fun(const Range<InputIt>& a); The signature does not need to have const &.
A task scheduler must be provided and correctly initialized. The number of generated ranges depends on the threads available in the task scheduler.
| void sofa::simulation::registerDefaultAnimationLoop | ( | sofa::core::ObjectFactory * | factory | ) |
| void sofa::simulation::registerDefaultVisualManagerLoop | ( | sofa::core::ObjectFactory * | factory | ) |
| void sofa::simulation::registerRequiredPlugin | ( | sofa::core::ObjectFactory * | factory | ) |
| const bool sofa::simulation::DefaultTaskSchedulerRegistered |
| const SceneLoader* sofa::simulation::loaderPHP = SceneLoaderFactory::getInstance()->addEntry(new SceneLoaderPHP()) |
| const SceneLoader* sofa::simulation::loaderXML = SceneLoaderFactory::getInstance()->addEntry(new SceneLoaderXML()) |