codac 1.5.6
Loading...
Searching...
No Matches
codac2_Figure2D_VIBes.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include "codac2_Figure2D.h"
15#include "vibes.h"
16
17namespace codac2
18{
26 {
27 public:
28
35
39 virtual ~Figure2D_VIBes();
40
45
50
55
62 void center_viewbox(const Vector& c, const Vector& r);
63
64 // Geometric shapes
65
72 void draw_point(const Vector& c, const StyleProperties& s = StyleProperties());
73
80 void draw_box(const IntervalVector& x, const StyleProperties& s = StyleProperties());
81
89 void draw_circle(const Vector& c, double r, const StyleProperties& s = StyleProperties());
90
98 void draw_ring(const Vector& c, const Interval& r, const StyleProperties& s = StyleProperties());
99
107 void draw_polyline(const std::vector<Vector>& x, float tip_length, const StyleProperties& s = StyleProperties());
108
115 void draw_polygon(const std::vector<Vector>& x, const StyleProperties& s = StyleProperties());
116
125 void draw_pie(const Vector& c, const Interval& r, const Interval& theta, const StyleProperties& s = StyleProperties());
126
135 void draw_ellipse(const Vector& c, const Vector& ab, double theta, const StyleProperties& s = StyleProperties());
136
137 // Robots
138
146 void draw_tank(const Vector& x, float size, const StyleProperties& s = StyleProperties());
147
155 void draw_AUV(const Vector& x, float size, const StyleProperties& s = StyleProperties());
156
164 void draw_motor_boat(const Vector& x, float size, const StyleProperties& s = StyleProperties());
165
173 static std::string to_vibes_style(const StyleProperties& s);
174
175 protected:
176
177 static int _has_been_initialized;
178 vibes::Params _params;
179 };
180}
void draw_pie(const Vector &c, const Interval &r, const Interval &theta, const StyleProperties &s=StyleProperties())
Draws a pie on the figure.
virtual ~Figure2D_VIBes()
Destructor for the Figure2D_VIBes object.
void draw_ring(const Vector &c, const Interval &r, const StyleProperties &s=StyleProperties())
Draws a ring on the figure.
void update_axes()
Updates the axes of the figure.
void draw_point(const Vector &c, const StyleProperties &s=StyleProperties())
Draws a point on the figure.
void draw_motor_boat(const Vector &x, float size, const StyleProperties &s=StyleProperties())
Draws a motor boat on the figure.
void update_window_properties()
Updates the window properties of the figure.
static std::string to_vibes_style(const StyleProperties &s)
Converts a StyleProperties object to a VIBes style string.
void draw_ellipse(const Vector &c, const Vector &ab, double theta, const StyleProperties &s=StyleProperties())
Draws an ellipse on the figure.
void center_viewbox(const Vector &c, const Vector &r)
Centers the viewbox on a given point with a given radius.
void draw_tank(const Vector &x, float size, const StyleProperties &s=StyleProperties())
Draws a tank on the figure.
void draw_AUV(const Vector &x, float size, const StyleProperties &s=StyleProperties())
Draws an AUV on the figure.
void draw_box(const IntervalVector &x, const StyleProperties &s=StyleProperties())
Draws a box on the figure.
Figure2D_VIBes(const Figure2D &fig)
Creates a new Figure2D_VIBes object linked to a given figure.
void draw_polygon(const std::vector< Vector > &x, const StyleProperties &s=StyleProperties())
Draws a polygone on the figure.
void draw_circle(const Vector &c, double r, const StyleProperties &s=StyleProperties())
Draws a circle on the figure.
void update_drawing_properties(const StyleProperties &s)
Updates the drawing properties : line style and layer.
void draw_polyline(const std::vector< Vector > &x, float tip_length, const StyleProperties &s=StyleProperties())
Draws a polyline on the figure.
Figure2D class, used for 2D display.
Definition codac2_Figure2D.h:78
Interval class, for representing closed and connected subsets of .
Definition codac2_Interval.h:62
OutputFigure2D(const Figure2D &fig)
Creates a new OutputFigure2D object linked to a given figure.
Definition codac2_OutputFigure2D.h:39
Style properties structure, to specify the style of a shape.
Definition codac2_StyleProperties.h:26