codac 2.0.0
Loading...
Searching...
No Matches
codac2_Figure2DInterface.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <vector>
13#include <string>
14#include "codac2_Vector.h"
18#include "codac2_Ellipsoid.h"
19#include "codac2_SampledTraj.h"
20#include "codac2_AnalyticTraj.h"
21
22namespace codac2
23{
41 {
42 public:
43
44 // Geometric shapes
45
52 virtual void draw_point(const Vector& c, const StyleProperties& style = StyleProperties()) = 0;
53
60 virtual void draw_box(const IntervalVector& x, const StyleProperties& style = StyleProperties()) = 0;
61
69 virtual void draw_circle(const Vector& c, double r, const StyleProperties& style = StyleProperties()) = 0;
70
78 virtual void draw_ring(const Vector& c, const Interval& r, const StyleProperties& style = StyleProperties()) = 0;
79
87 virtual void draw_polyline(const std::vector<Vector>& x, float tip_length, const StyleProperties& style = StyleProperties()) = 0;
88
95 virtual void draw_polygon(const std::vector<Vector>& x, const StyleProperties& style = StyleProperties()) = 0;
96
105 virtual void draw_pie(const Vector& c, const Interval& r, const Interval& theta, const StyleProperties& style = StyleProperties()) = 0;
106
115 virtual void draw_ellipse(const Vector& c, const Vector& ab, double theta, const StyleProperties& style = StyleProperties()) = 0;
116
117 // Robots
118
126 virtual void draw_tank(const Vector& x, float size, const StyleProperties& style = StyleProperties()) = 0;
127
135 virtual void draw_AUV(const Vector& x, float size, const StyleProperties& style = StyleProperties()) = 0;
136
144 virtual void draw_motor_boat(const Vector& x, float size, const StyleProperties& style = StyleProperties()) = 0;
145
146 // Miscellaneous
147
156 virtual void draw_text(const std::string& text, const Vector& ul, double scale, const StyleProperties& style = StyleProperties()) = 0;
157
165 virtual void draw_raster(const std::string& filename, const IntervalVector& bbox, const StyleProperties& style = StyleProperties()) = 0;
166 };
167}
Interface for 2D figures.
Definition codac2_Figure2DInterface.h:41
virtual void draw_tank(const Vector &x, float size, const StyleProperties &style=StyleProperties())=0
Draws a tank on the figure.
virtual void draw_ring(const Vector &c, const Interval &r, const StyleProperties &style=StyleProperties())=0
Draws a ring on the figure.
virtual void draw_pie(const Vector &c, const Interval &r, const Interval &theta, const StyleProperties &style=StyleProperties())=0
Draws a pie on the figure.
virtual void draw_box(const IntervalVector &x, const StyleProperties &style=StyleProperties())=0
Draws a box on the figure.
virtual void draw_polyline(const std::vector< Vector > &x, float tip_length, const StyleProperties &style=StyleProperties())=0
Draws a polyline on the figure.
virtual void draw_polygon(const std::vector< Vector > &x, const StyleProperties &style=StyleProperties())=0
Draws a polygone on the figure.
virtual void draw_ellipse(const Vector &c, const Vector &ab, double theta, const StyleProperties &style=StyleProperties())=0
Draws an ellipse on the figure.
virtual void draw_text(const std::string &text, const Vector &ul, double scale, const StyleProperties &style=StyleProperties())=0
Draws text on the figure.
virtual void draw_AUV(const Vector &x, float size, const StyleProperties &style=StyleProperties())=0
Draws an AUV on the figure.
virtual void draw_raster(const std::string &filename, const IntervalVector &bbox, const StyleProperties &style=StyleProperties())=0
Draws a raster on the figure.
virtual void draw_motor_boat(const Vector &x, float size, const StyleProperties &style=StyleProperties())=0
Draws a motor boat on the figure.
virtual void draw_circle(const Vector &c, double r, const StyleProperties &style=StyleProperties())=0
Draws a circle on the figure.
virtual void draw_point(const Vector &c, const StyleProperties &style=StyleProperties())=0
Draws a point on the figure.
Interval class, for representing closed and connected subsets of .
Definition codac2_Interval.h:49
Definition codac2_OctaSym.h:21
Eigen::Matrix< double,-1, 1 > Vector
Alias for a dynamically-sized column vector of doubles.
Definition codac2_Vector.h:24
Eigen::Matrix< Interval,-1, 1 > IntervalVector
Alias for a dynamic-size column vector of intervals.
Definition codac2_IntervalVector.h:25
Style properties structure, to specify the style of a shape.
Definition codac2_StyleProperties.h:27