Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Optimizer.hpp File Reference
#include <utility>
#include <tuple>
#include <array>
#include <cmath>
#include <functional>
#include <limits>
#include <cassert>
#include <optional>
+ Include dependency graph for Optimizer.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::opt::Result< N >
 
class  Slic3r::opt::Bound
 
class  Slic3r::opt::StopCriteria
 
struct  Slic3r::opt::ScoreGradient< N >
 
struct  Slic3r::opt::always_false< T >
 
class  Slic3r::opt::Optimizer< Method, Enable >
 

Namespaces

namespace  Slic3r
 
namespace  Slic3r::opt
 
namespace  Slic3r::opt::detail
 

Typedefs

template<class T , class O = T>
using Slic3r::opt::FloatingOnly = std::enable_if_t< std::is_floating_point< T >::value, O >
 
template<size_t N>
using Slic3r::opt::Input = std::array< double, N >
 
template<size_t N>
using Slic3r::opt::Bounds = std::array< Bound, N >
 

Functions

template<size_t N, class T >
auto Slic3r::opt::detail::to_arr (const T *a)
 
template<size_t N, class T >
auto Slic3r::opt::detail::to_arr (const T(&a)[N])
 
template<size_t N>
Bounds< N > Slic3r::opt::bounds (const Bound(&b)[N])
 
template<size_t N>
Input< N > Slic3r::opt::initvals (const double(&a)[N])
 
template<size_t N>
auto Slic3r::opt::score_gradient (double s, const double(&grad)[N])
 

Variables

template<class T , class = FloatingOnly<T>>
constexpr T Slic3r::opt::NaN = std::numeric_limits<T>::quiet_NaN()
 
constexpr float Slic3r::opt::NaNf = NaN<float>
 
constexpr double Slic3r::opt::NaNd = NaN<double>
 

Class Documentation

◆ Slic3r::opt::Result

struct Slic3r::opt::Result
template<size_t N>
struct Slic3r::opt::Result< N >
+ Collaboration diagram for Slic3r::opt::Result< N >:
Class Members
array< double, N > optimum
int resultcode
double score