codac 1.5.7
Loading...
Searching...
No Matches
codac_VIBesFigTubeVector.h
Go to the documentation of this file.
1
11
12#ifndef __CODAC_VIBESFIGTUBEVECTOR_H__
13#define __CODAC_VIBESFIGTUBEVECTOR_H__
14
15#include "codac_VIBesFigTube.h"
16#include "codac_TubeVector.h"
18
19namespace codac
20{
33 {
34 public:
35
38
44 VIBesFigTubeVector(const std::string& fig_name);
45
53 VIBesFigTubeVector(const std::string& fig_name, int start_index, int end_index);
54
64 VIBesFigTubeVector(const std::string& fig_name, const TubeVector *tube, const TrajectoryVector *traj = nullptr);
65
70
78 int size() const;
79
87 int subfigs_number() const;
88
96
103 const VIBesFigTube* operator[](int index) const;
104
113 void set_properties(int x, int y, int width, int height);
114
121 void show(bool detail_slices = false);
122
128 void set_cursor(double t);
129
135 void show_cursor(bool display = true);
136
140
148 void draw_box(const Interval& tdomain, const IntervalVector& box, const vibes::Params& params);
149
158 void draw_box(const Interval& tdomain, const IntervalVector& box, const std::string& color = "", const vibes::Params& params = vibes::Params());
159
163
172 void add_tube(const TubeVector *tube, const std::string& name, const std::string& color_frgrnd = DEFAULT_FRGRND_COLOR, const std::string& color_bckgrnd = DEFAULT_BCKGRND_COLOR);
173
180 void set_tube_name(const TubeVector *tube, const std::string& name);
181
191 void set_tube_derivative(const TubeVector *tube, const TubeVector *derivative);
192
200 void set_tube_color(const TubeVector *tube, const std::string& color_frgrnd, const std::string& color_bckgrnd = DEFAULT_BCKGRND_COLOR);
201
211 void set_tube_color(const TubeVector *tube, TubeColorType color_type, const std::string& color);
212
221
232 void remove_tube(const TubeVector *tube);
233
237
245 void add_trajectory(const TrajectoryVector *traj, const std::string& name, const std::string& color = DEFAULT_TRAJ_COLOR);
246
253 void set_trajectory_name(const TrajectoryVector *traj, const std::string& name);
254
261 void set_trajectory_color(const TrajectoryVector *traj, const std::string& color);
262
270 void set_trajectory_points_size(const TrajectoryVector *traj, double points_size);
271
283
288
289 //static void draw(const std::string& fig_name, int x = 0, int y = 0);
290 //static void draw(const std::string& fig_name, const TubeVector *tubevector, int x = 0, int y = 0);
291 //static void draw(const std::string& fig_name, const TrajectoryVector *trajvector, int x = 0, int y = 0);
292 //static void draw(const std::string& fig_name, const TubeVector *tubevector, const TrajectoryVector *trajvector, int x = 0, int y = 0);
293 //static void end_drawing();
294
296
297 protected:
298
304 void create_subfigures(int n);
305
306 protected:
307
308 int m_n = 0;
309 VIBesFigTube **m_v_figs = nullptr;
310 int m_start_index = -1, m_end_index = -1;
311 };
312}
313
314#endif
int x() const
Returns the horizontal coordinate of this figure.
int y() const
Returns the vertical coordinate of this figure.
Figure(const std::string &fig_name)
Creates a Figure.
int width() const
Returns the width of this figure.
int height() const
Returns the height of this figure.
const std::string name() const
Returns the name of this figure.
n-dimensional trajectory , defined as a temporal map of vector values
Definition codac_TrajectoryVector.h:38
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition codac_TubeVector.h:39
Two-dimensional graphical item to display scalar tubes or trajectories.
Definition codac_VIBesFigTube.h:48
void add_trajectory(const TrajectoryVector *traj, const std::string &name, const std::string &color=DEFAULT_TRAJ_COLOR)
Adds a trajectory vector object to this figure.
VIBesFigTubeVector(const std::string &fig_name)
Creates a VIBesFigTubeVector.
void set_trajectory_name(const TrajectoryVector *traj, const std::string &name)
Sets a new name for a trajectory vector.
void set_cursor(double t)
Set the position of the temporal cursor of this figure.
void set_tube_color(const TubeVector *tube, const std::string &color_frgrnd, const std::string &color_bckgrnd=DEFAULT_BCKGRND_COLOR)
Sets color properties for a given tube vector.
VIBesFigTube ** m_v_figs
array of components (scalar figures)
Definition codac_VIBesFigTubeVector.h:309
void show(bool detail_slices=false)
Displays this figure with optional details.
int m_end_index
restriction on the dimensions that will be displayed
Definition codac_VIBesFigTubeVector.h:310
void remove_trajectory(const TrajectoryVector *traj)
Removes a trajectory vector from this figure.
void set_tube_derivative(const TubeVector *tube, const TubeVector *derivative)
Links a tube vector to its derivative for display purposes.
int size() const
Returns the dimension of the objects displayed in the figure.
void draw_box(const Interval &tdomain, const IntervalVector &box, const vibes::Params &params)
Draws a multi-dimensional box.
void remove_tube(const TubeVector *tube)
Removes a tube vector from this figure.
int m_n
dimension of this figure
Definition codac_VIBesFigTubeVector.h:308
void reset_tube_background(const TubeVector *tube)
Reset the background of a given tube vector.
VIBesFigTubeVector(const std::string &fig_name, int start_index, int end_index)
Creates a VIBesFigTubeVector.
const VIBesFigTube * operator[](int index) const
Returns a const pointer to the ith VIBesFigTube of this figure.
void set_trajectory_color(const TrajectoryVector *traj, const std::string &color)
Sets color properties for a given trajectory vector.
void set_tube_color(const TubeVector *tube, TubeColorType color_type, const std::string &color)
Sets color properties for a given tube vector.
void set_trajectory_points_size(const TrajectoryVector *traj, double points_size)
Sets points size for a given trajectory, and activates a display mode with points instead of a line f...
VIBesFigTube * operator[](int index)
Returns a pointer to the ith VIBesFigTube of this figure.
int subfigs_number() const
Returns number of dimensions to be displayed.
void show_cursor(bool display=true)
Displays the cursor on this figure.
void set_properties(int x, int y, int width, int height)
Sets the properties (coordinates and dimensions) of this figure.
void create_subfigures(int n)
Creates the subfigures related to the dimensions that will be displayed.
VIBesFigTubeVector(const std::string &fig_name, const TubeVector *tube, const TrajectoryVector *traj=nullptr)
Creates a VIBesFigTube.
~VIBesFigTubeVector()
VIBesFigTubeVector destructor.
void draw_box(const Interval &tdomain, const IntervalVector &box, const std::string &color="", const vibes::Params &params=vibes::Params())
Draws a multi-dimensional box.
void add_tube(const TubeVector *tube, const std::string &name, const std::string &color_frgrnd=DEFAULT_FRGRND_COLOR, const std::string &color_bckgrnd=DEFAULT_BCKGRND_COLOR)
Adds a tube vector object to this figure.
void set_tube_name(const TubeVector *tube, const std::string &name)
Sets a new name for a tube vector.
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition codac_capd_helpers.h:9
TubeColorType
Defines a set of colors for tube display.
Definition codac_VIBesFigTube.h:38