Volume Cartographer 2.27.0
PolylineLandmark.hpp
Go to the documentation of this file.
1#pragma once
2
6
7namespace volcart::landmarks
8{
17{
18public:
19 using Polyline = std::vector<Point>;
21 using Pointer = std::shared_ptr<PolylineLandmark>;
22
24 PolylineLandmark(const Identifier& uuid, const std::string& name);
25
28 const Identifier& uuid, const std::string& name, Polyline poly);
29
31 static Pointer New(const Identifier& uuid, const std::string& name);
32
35 static Pointer New(
36 const Identifier& uuid, const std::string& name, const Polyline& poly);
37
39 void setPolyline(Polyline p);
40
42 Polyline getPolyline() const;
43
45 void addPoint(const Point& pt);
46
48 void addPoint(double x, double y, double z);
49
50private:
52 Polyline poly_;
53
56};
57} // namespace volcart::landmarks
Polyline (multi-segment line) volume landmark.
static Pointer New(const Identifier &uuid, const std::string &name)
Constructor with uuid and name.
PolylineLandmark(const Identifier &uuid, const std::string &name, Polyline poly)
Constructor with uuid, name, and Polyline.
void addPoint(const Point &pt)
Add Point to the end of the Polyline.
static Pointer New(const Identifier &uuid, const std::string &name, const Polyline &poly)
Constructor with uuid, name, and Polyline.
void addPoint(double x, double y, double z)
std::shared_ptr< PolylineLandmark > Pointer
Pointer type.
void setPolyline(Polyline p)
Set the Polyline.
PolylineLandmark(const Identifier &uuid, const std::string &name)
Constructor with uuid and name.
Polyline getPolyline() const
Get the Polyline.
Base class for Volume Landmark types.
std::string name() const
Get human-readable landmark name.
std::string Identifier
Identifier type.
Volume landmark classes.