diff --git a/include/laser/state_block/state_polyline_point_2d.h b/include/laser/state_block/state_polyline_point_2d.h new file mode 100644 index 0000000000000000000000000000000000000000..0088aaf4e70d195a3aaa577398765c0a5890037c --- /dev/null +++ b/include/laser/state_block/state_polyline_point_2d.h @@ -0,0 +1,28 @@ +#include "laser/state_block/local_parametrization_polyline_extreme.h" + +#include <core/state_block/state_block_derived.h> + +namespace wolf +{ + +class StatePolylinePoint2d : public StatePoint2d +{ + public: + StatePolylinePoint2d(const Vector2d &_point, + StateBlockPtr _adjacent = nullptr, + bool _fixed = false, + bool _transformable = true); + + ~StatePolylinePoint2d() {} +}; + +inline StatePolylinePoint2d::StatePolylinePoint2d(const Vector2d &_point, + StateBlockPtr _reference_point, + bool _fixed, + bool _transformable) + : StatePoint2d(_point, _fixed, _transformable) +{ + if (_reference_point) local_param_ptr_ = std::make_shared<LocalParametrizationPolylineExtreme>(_reference_point); +} + +} // namespace wolf \ No newline at end of file