Skip to content
Snippets Groups Projects
Commit bebdb9ee authored by Joaquim Casals Buñuel's avatar Joaquim Casals Buñuel
Browse files

Adapt SensorCamera to autoconf

parent 9cd5e893
No related branches found
No related tags found
1 merge request!24After 2nd RAL submission
...@@ -25,11 +25,11 @@ struct ParamsSensorCamera : public ParamsSensorBase ...@@ -25,11 +25,11 @@ struct ParamsSensorCamera : public ParamsSensorBase
ParamsSensorCamera(std::string _unique_name, const ParamsServer& _server): ParamsSensorCamera(std::string _unique_name, const ParamsServer& _server):
ParamsSensorBase(_unique_name, _server) ParamsSensorBase(_unique_name, _server)
{ {
width = _server.getParam<unsigned int>(_unique_name + "/width"); width = _server.getParam<unsigned int>(prefix + _unique_name + "/width");
height = _server.getParam<unsigned int>(_unique_name + "/height"); height = _server.getParam<unsigned int>(prefix + _unique_name + "/height");
pinhole_model_raw = _server.getParam<Eigen::Vector4d>(_unique_name + "/pinhole_model_raw"); pinhole_model_raw = _server.getParam<Eigen::Vector4d>(prefix + _unique_name + "/pinhole_model_raw");
pinhole_model_rectified = _server.getParam<Eigen::Vector4d>(_unique_name + "/pinhole_model_rectified"); pinhole_model_rectified = _server.getParam<Eigen::Vector4d>(prefix + _unique_name + "/pinhole_model_rectified");
distortion = _server.getParam<Eigen::VectorXd>(_unique_name + "/distortion"); distortion = _server.getParam<Eigen::VectorXd>(prefix + _unique_name + "/distortion");
} }
std::string print() const std::string print() const
{ {
...@@ -52,6 +52,7 @@ class SensorCamera : public SensorBase ...@@ -52,6 +52,7 @@ class SensorCamera : public SensorBase
SensorCamera(const Eigen::VectorXd & _extrinsics, const ParamsSensorCamera& _intrinsics); SensorCamera(const Eigen::VectorXd & _extrinsics, const ParamsSensorCamera& _intrinsics);
SensorCamera(const Eigen::VectorXd & _extrinsics, ParamsSensorCameraPtr _intrinsics_ptr); SensorCamera(const Eigen::VectorXd & _extrinsics, ParamsSensorCameraPtr _intrinsics_ptr);
WOLF_SENSOR_CREATE(SensorCamera, ParamsSensorCamera, 7);
~SensorCamera() override; ~SensorCamera() override;
...@@ -82,11 +83,6 @@ class SensorCamera : public SensorBase ...@@ -82,11 +83,6 @@ class SensorCamera : public SensorBase
public: public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW; // to guarantee alignment (see http://eigen.tuxfamily.org/dox-devel/group__TopicStructHavingEigenMembers.html) EIGEN_MAKE_ALIGNED_OPERATOR_NEW; // to guarantee alignment (see http://eigen.tuxfamily.org/dox-devel/group__TopicStructHavingEigenMembers.html)
static SensorBasePtr create(const std::string & _unique_name, //
const Eigen::VectorXd& _extrinsics, //
const ParamsSensorBasePtr _intrinsics);
}; };
inline bool SensorCamera::useRawImages() inline bool SensorCamera::useRawImages()
......
...@@ -46,21 +46,6 @@ Eigen::Matrix3d SensorCamera::setIntrinsicMatrix(Eigen::Vector4d _pinhole_model) ...@@ -46,21 +46,6 @@ Eigen::Matrix3d SensorCamera::setIntrinsicMatrix(Eigen::Vector4d _pinhole_model)
K.row(2) << 0, 0, 1; K.row(2) << 0, 0, 1;
return K; return K;
} }
// Define the factory method
SensorBasePtr SensorCamera::create(const std::string& _unique_name, //
const Eigen::VectorXd& _extrinsics_pq, //
const ParamsSensorBasePtr _intrinsics)
{
assert(_extrinsics_pq.size() == 7 && "Bad extrinsics vector length. Should be 7 for 3d.");
std::shared_ptr<ParamsSensorCamera> intrinsics_ptr = std::static_pointer_cast<ParamsSensorCamera>(_intrinsics);
SensorCameraPtr sen_ptr = std::make_shared<SensorCamera>(_extrinsics_pq, intrinsics_ptr);
sen_ptr->setName(_unique_name);
return sen_ptr;
}
} // namespace wolf } // namespace wolf
// Register in the FactorySensor // Register in the FactorySensor
...@@ -68,5 +53,6 @@ SensorBasePtr SensorCamera::create(const std::string& _unique_name, // ...@@ -68,5 +53,6 @@ SensorBasePtr SensorCamera::create(const std::string& _unique_name, //
namespace wolf namespace wolf
{ {
WOLF_REGISTER_SENSOR(SensorCamera) WOLF_REGISTER_SENSOR(SensorCamera)
WOLF_REGISTER_SENSOR_AUTO(SensorCamera)
} // namespace wolf } // namespace wolf
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment