ImFusion SDK 4.3
ParameterWrapperBase Class Referenceabstract

#include <ImFusion/Base/ParameterOptimization.h>

Base class for classes that wish to expose zero or more optimization parameters. More...

+ Inheritance diagram for ParameterWrapperBase:

Detailed Description

Base class for classes that wish to expose zero or more optimization parameters.

Classes that inherit from this one serialize and deserialize C++ objects (stored by reference) into an array of double parameters. Such a parameter wrapper can be combined with a double-valued cost function (acting on the C++ objects) to yield an instance of the CostFunction interface (

See also
ParameterOptimization). This CostFunction can be optimized with an instance of the Optimizer class. Effectively this allows users to optimize over suitable C++ types, and abstracts away the machinery required to serialize to double*
Optimizer

Public Member Functions

virtual int dim () const =0
 The number of (scalar) parameters wrapped by this object.
 
virtual void deserialize (const double *v)=0
 Update the stored references from a double representation.
 
virtual void serialize (double *v) const =0
 Updates a double representation from the stored references.
 
virtual std::string name (int i) const =0
 Name of the ith parameter, used for display purposes.
 
virtual std::unique_ptr< ParameterWrapperBaseclone () const =0
 Clone function.
 

Member Function Documentation

◆ dim()

virtual int dim ( ) const
pure virtual

◆ deserialize()

virtual void deserialize ( const double * v)
pure virtual

◆ serialize()

virtual void serialize ( double * v) const
pure virtual

◆ name()

virtual std::string name ( int i) const
pure virtual

◆ clone()


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close