diff --git a/src/solver/solver_manager.cpp b/src/solver/solver_manager.cpp index 498d6ec35208951c79b3047a7e2eae3e72959fdb..8fff62bb4fa57ac42e58ecad5cc53dbf818d7f20 100644 --- a/src/solver/solver_manager.cpp +++ b/src/solver/solver_manager.cpp @@ -301,6 +301,7 @@ void SolverManager::updateStateBlockStatus(const StateBlockPtr& state_ptr) void SolverManager::updateStateBlockState(const StateBlockPtr& state_ptr) { + assert(state_ptr->isValid() && "SolverManager::updateStateBlockState state block state not valid (local parameterization)"); Eigen::VectorXd new_state = state_ptr->getState(); // We assume the same size for the states in both WOLF and the solver. std::copy(new_state.data(),new_state.data()+new_state.size(),getAssociatedMemBlockPtr(state_ptr));