![]() |
ImFusion SDK 4.3
|
#include <ImFusion/GL/VectorFieldFlow.h>
Class for computing solutions to (autonomous) ordinary differential equations (ODEs) Currently only supports the classical 4th-order explicit Runge-Kutta method with fixed stepsize. More...
Class for computing solutions to (autonomous) ordinary differential equations (ODEs) Currently only supports the classical 4th-order explicit Runge-Kutta method with fixed stepsize.
Public Member Functions | |
VectorFieldFlow (int dim, int numSteps, float dt) | |
Constructor. | |
bool | flow (GlDenseDeformation &vectorField, GlDenseDeformation &displacementFieldOut, GlDenseDeformation *initialValues=nullptr, GlDenseDeformation *other=nullptr) |
Solve the ODE with rhs given by. | |
![]() | |
virtual void | configure (const Properties *p) |
Configure this object instance by de-serializing the given Properties. | |
virtual void | configuration (Properties *p) const |
Serialize the current object configuration into the given Properties object. | |
virtual void | configureDefaults () |
Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
void | registerParameter (ParameterBase *param) |
Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
void | unregisterParameter (const ParameterBase *param) |
Remove the given Parameter or SubProperty from the list of registered parameters. | |
Configurable (const Configurable &rhs) | |
Configurable (Configurable &&rhs) noexcept | |
Configurable & | operator= (const Configurable &) |
Configurable & | operator= (Configurable &&) noexcept |
Public Attributes | |
Parameter< int > | p_numSteps {"numSteps", 10, this} |
Parameter< float > | p_dt {"dt", 0.1f, this} |
![]() | |
Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
Additional Inherited Members | |
![]() | |
std::vector< Param > | m_params |
List of all registered Parameter and SubProperty instances. | |
VectorFieldFlow | ( | int | dim, |
int | numSteps, | ||
float | dt ) |
Constructor.
bool flow | ( | GlDenseDeformation & | vectorField, |
GlDenseDeformation & | displacementFieldOut, | ||
GlDenseDeformation * | initialValues = nullptr, | ||
GlDenseDeformation * | other = nullptr ) |
Solve the ODE with rhs given by.
vectorField | and initial values |
initialValues | Result is stored in |
displacementFieldOut | Optionally post-compose the vector field with the deformation in |
other. | All in all, this function can be thought of as implementing (an approximation to) the operator other * exp(vectorField) * initialValues, where * denotes composition of deformations and exp() is the time-1 flow operator. |