Added a default implementation of clone() for nonlinear factor so not all subclasses need to implement clone(). Default implementation throws an exception.
parent
451dd5ef1b
commit
421a0725dd
|
|
@ -157,8 +157,14 @@ public:
|
||||||
/**
|
/**
|
||||||
* Creates a shared_ptr clone of the factor - needs to be specialized to allow
|
* Creates a shared_ptr clone of the factor - needs to be specialized to allow
|
||||||
* for subclasses
|
* for subclasses
|
||||||
|
*
|
||||||
|
* By default, throws exception if subclass does not implement the function.
|
||||||
*/
|
*/
|
||||||
virtual shared_ptr clone() const =0;
|
virtual shared_ptr clone() const {
|
||||||
|
// TODO: choose better exception to throw here
|
||||||
|
throw std::runtime_error("NonlinearFactor::clone(): Attempting to clone factor with no clone() implemented!");
|
||||||
|
return shared_ptr();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a shared_ptr clone of the factor with different keys using
|
* Creates a shared_ptr clone of the factor with different keys using
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue