codac
codac_VIBesFigTubeVector.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC_VIBESFIGTUBEVECTOR_H__
13 #define __CODAC_VIBESFIGTUBEVECTOR_H__
14 
15 #include "codac_VIBesFigTube.h"
16 #include "codac_TubeVector.h"
17 #include "codac_TrajectoryVector.h"
18 
19 namespace codac
20 {
32  class VIBesFigTubeVector : public Figure
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 
95  VIBesFigTube* operator[](int index);
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 
220  void reset_tube_background(const TubeVector *tube);
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 
282  void remove_trajectory(const TrajectoryVector *traj);
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
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition: codac_capd_helpers.h:9
void draw_box(const Interval &tdomain, const IntervalVector &box, const vibes::Params &params)
Draws a multi-dimensional box.
const std::string name() const
Returns the name of this figure.
int m_end_index
restriction on the dimensions that will be displayed
Definition: codac_VIBesFigTubeVector.h:310
int size() const
Returns the dimension of the objects displayed in the 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.
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 show(bool detail_slices=false)
Displays this figure with optional details.
int subfigs_number() const
Returns number of dimensions to be displayed.
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.
Multi-view item to display vector tubes or trajectories.
Definition: codac_VIBesFigTubeVector.h:32
int height() const
Returns the height of this figure.
~VIBesFigTubeVector()
VIBesFigTubeVector destructor.
n-dimensional trajectory , defined as a temporal map of vector values
Definition: codac_TrajectoryVector.h:37
int y() const
Returns the vertical coordinate of this figure.
void set_properties(int x, int y, int width, int height)
Sets the properties (coordinates and dimensions) of this figure.
void show_cursor(bool display=true)
Displays the cursor on this figure.
int width() const
Returns the width of this figure.
VIBesFigTube * operator[](int index)
Returns a pointer to the ith VIBesFigTube of this figure.
void set_cursor(double t)
Set the position of the temporal cursor of this figure.
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition: codac_TubeVector.h:38
Two-dimensional graphical item.
Definition: codac_Figure.h:25
void reset_tube_background(const TubeVector *tube)
Reset the background of a given tube vector.
VIBesFigTubeVector(const std::string &fig_name)
Creates a VIBesFigTubeVector.
void set_trajectory_color(const TrajectoryVector *traj, const std::string &color)
Sets color properties for a given trajectory vector.
void set_trajectory_name(const TrajectoryVector *traj, const std::string &name)
Sets a new name for a trajectory vector.
Two-dimensional graphical item to display scalar tubes or trajectories.
Definition: codac_VIBesFigTube.h:47
void create_subfigures(int n)
Creates the subfigures related to the dimensions that will be displayed.
void set_tube_derivative(const TubeVector *tube, const TubeVector *derivative)
Links a tube vector to its derivative for display purposes.
TubeColorType
Defines a set of colors for tube display.
Definition: codac_VIBesFigTube.h:38
int x() const
Returns the horizontal coordinate of this figure.
void set_tube_name(const TubeVector *tube, const std::string &name)
Sets a new name for a tube vector.
int m_n
dimension of this figure
Definition: codac_VIBesFigTubeVector.h:308
void remove_tube(const TubeVector *tube)
Removes a tube vector from this figure.
void remove_trajectory(const TrajectoryVector *traj)
Removes a trajectory vector from this figure.
VIBesFigTube ** m_v_figs
array of components (scalar figures)
Definition: codac_VIBesFigTubeVector.h:309
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...