Rumba C++ SDK
maquina::Optimizer Class Reference

#include <Optimizer.h>

Public Types

enum  LogLevel { LogLevel::silent, LogLevel::summary, LogLevel::details }
 
enum  Axis { x_axis = 1, y_axis = 2, z_axis = 4 }
 

Public Member Functions

 Optimizer (LogLevel log_level=LogLevel::silent)
 
void add_param_float (Plug &plug, double default_value, double initial_step)
 
void add_param_rotation_axis (int axes, std::shared_ptr< NodeDelegate > nd_)
 
void add_param_rotation (std::shared_ptr< NodeDelegate > nd_)
 
void add_param_translation (std::shared_ptr< NodeDelegate > nd_, double initial_step)
 
void add_output_rotation (const Plug &plug, const Imath::Quatd &goal)
 
void add_output_translation (const Plug &plug, const Imath::V3d &goal)
 
double solve (double error_threshold=0.00001, int max_iterations=1000)
 

Static Public Attributes

static const double rotation_initial_step
 

Member Enumeration Documentation

◆ Axis

Enumerator
x_axis 
y_axis 
z_axis 

◆ LogLevel

Enumerator
silent 
summary 
details 

Constructor & Destructor Documentation

◆ Optimizer()

maquina::Optimizer::Optimizer ( LogLevel  log_level = LogLevel::silent)

Member Function Documentation

◆ add_output_rotation()

void maquina::Optimizer::add_output_rotation ( const Plug plug,
const Imath::Quatd goal 
)

◆ add_output_translation()

void maquina::Optimizer::add_output_translation ( const Plug plug,
const Imath::V3d goal 
)

◆ add_param_float()

void maquina::Optimizer::add_param_float ( Plug plug,
double  default_value,
double  initial_step 
)

◆ add_param_rotation()

void maquina::Optimizer::add_param_rotation ( std::shared_ptr< NodeDelegate nd_)

◆ add_param_rotation_axis()

void maquina::Optimizer::add_param_rotation_axis ( int  axes,
std::shared_ptr< NodeDelegate nd_ 
)

◆ add_param_translation()

void maquina::Optimizer::add_param_translation ( std::shared_ptr< NodeDelegate nd_,
double  initial_step 
)

◆ solve()

double maquina::Optimizer::solve ( double  error_threshold = 0.00001,
int  max_iterations = 1000 
)

Member Data Documentation

◆ rotation_initial_step

const double maquina::Optimizer::rotation_initial_step
static

The documentation for this class was generated from the following file: