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) |
void | setSimulation (Simulation *s)=delete |
Set the (unique) simulation which controls the scene. More... | |
SOFA_SIMULATION_CORE_API Simulation * | getSimulation () |
void | registerRequiredPlugin (sofa::core::ObjectFactory *factory) |
void | initThreadLocalData () |
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 | ||
) |
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 | ) |
|
delete |
Set the (unique) simulation which controls the scene.
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()) |