21#ifndef mia_internal_fullcost_hh
22#define mia_internal_fullcost_hh
42template <
typename Transform>
48 typedef typename Transform::Size
Size;
63 typedef std::shared_ptr<TFullCost<Transform>>
Pointer;
119 virtual double do_evaluate(
const Transform& t,
CDoubleVector& gradient)
const = 0;
120 virtual double do_value(
const Transform& t)
const = 0;
121 virtual double do_value()
const = 0;
122 virtual void do_reinit();
123 virtual void do_set_size() = 0;
124 virtual bool do_get_full_size(
Size& size)
const;
137template <
typename Transform>
The base class for all plug-in created object.
TFactory(char const *const name)
TFullCostPlugin(const char *name)
Base class for a general cost function.
double evaluate(const Transform &t, CDoubleVector &gradient) const
static const char * type_descr
double cost_value(const Transform &t) const
double cost_value() const
TFullCost< C3DTransformation > plugin_type
const Size & get_current_size() const
std::shared_ptr< TFullCost< C3DTransformation > > Pointer
void set_size(const Size &size)
bool get_full_size(Size &size) const
double get_weight() const
TFullCost< C3DTransformation > plugin_data
static const char * data_descr
C3DTransformation::Size Size
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
#define NS_MIA_END
conveniance define to end the mia namespace
TCArrayWrapper< double > CDoubleVector