Remove ceres::LocalParameterization

Change-Id: I3bdf2f6a8857db10c984024a27f490eefd23fefa
This commit is contained in:
Sameer Agarwal
2022-06-08 15:02:56 -07:00
parent 2f660464cc
commit 68c53bb395
27 changed files with 17 additions and 3784 deletions
-31
View File
@@ -59,7 +59,6 @@ namespace ceres {
class CostFunction;
class EvaluationCallback;
class LossFunction;
class LocalParameterization;
struct CRSMatrix;
namespace internal {
@@ -100,10 +99,6 @@ class CERES_NO_EXPORT ProblemImpl {
}
void AddParameterBlock(double* values, int size);
void AddParameterBlock(double* values,
int size,
LocalParameterization* local_parameterization);
void AddParameterBlock(double* values, int size, Manifold* manifold);
void RemoveResidualBlock(ResidualBlock* residual_block);
@@ -113,11 +108,6 @@ class CERES_NO_EXPORT ProblemImpl {
void SetParameterBlockVariable(double* values);
bool IsParameterBlockConstant(const double* values) const;
void SetParameterization(double* values,
LocalParameterization* local_parameterization);
const LocalParameterization* GetParameterization(const double* values) const;
bool HasParameterization(const double* values) const;
void SetManifold(double* values, Manifold* manifold);
const Manifold* GetManifold(const double* values) const;
bool HasManifold(const double* values) const;
@@ -180,10 +170,6 @@ class CERES_NO_EXPORT ProblemImpl {
private:
ParameterBlock* InternalAddParameterBlock(double* values, int size);
void InternalSetParameterization(
double* values,
ParameterBlock* parameter_block,
LocalParameterization* local_parameterization);
void InternalSetManifold(double* values,
ParameterBlock* parameter_block,
Manifold* manifold);
@@ -218,12 +204,6 @@ class CERES_NO_EXPORT ProblemImpl {
// objects and reference counting for CostFunctions and LossFunctions. Ideally
// this should be done uniformly.
// When removing parameter blocks, parameterizations have ambiguous
// ownership. Instead of scanning the entire problem to see if the
// parameterization is shared with other parameter blocks, buffer
// them until destruction.
std::vector<LocalParameterization*> local_parameterizations_to_delete_;
// When removing parameter blocks, manifolds have ambiguous
// ownership. Instead of scanning the entire problem to see if the
// manifold is shared with other parameter blocks, buffer
@@ -236,17 +216,6 @@ class CERES_NO_EXPORT ProblemImpl {
// destroyed.
CostFunctionRefCount cost_function_ref_count_;
LossFunctionRefCount loss_function_ref_count_;
// Because we wrap LocalParameterization objects using a ManifoldAdapter, when
// the user calls GetParameterization we cannot use the same logic as
// GetManifold as the ParameterBlock object only returns a Manifold object. So
// this map stores the association between parameter blocks and local
// parameterizations.
//
// This is a temporary object which will be removed once the
// LocalParameterization to Manifold transition is complete.
std::unordered_map<const double*, LocalParameterization*>
parameter_block_to_local_param_;
};
} // namespace internal