From 6b0a0fc8ebdf287481df234656c819156a31cbee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Sat, 25 Jun 2022 00:45:00 +0200
Subject: [PATCH] New class StatePolylinePoint2d

---
 .../state_block/state_polyline_point_2d.h     | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 include/laser/state_block/state_polyline_point_2d.h

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 000000000..0088aaf4e
--- /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
-- 
GitLab