codac 2.0.0
Loading...
Searching...
No Matches
codac2::DefaultFigure Class Reference

Default view class, used to manage the default figure. More...

#include <codac2_Figure2D.h>

Static Public Member Functions

static std::shared_ptr< Figure2Dselected_fig ()
 Getter for the default figure.
 
static void set (std::shared_ptr< Figure2D > fig)
 Setter for the default figure.
 
static Figure2Dset_axes (const FigureAxis &axis1, const FigureAxis &axis2)
 Setter for the axes of the figure.
 
static void set_window_properties (const Vector &pos, const Vector &size)
 Setter for the position and size of the window.
 
static void auto_scale ()
 VIBes only: auto scale the figure.
 
static void clear ()
 Clear the figure.
 
static void draw_point (const Vector &c, const StyleProperties &style=StyleProperties())
 Draws a point on the figure.
 
static void draw_box (const IntervalVector &x, const StyleProperties &style=StyleProperties())
 Draws a box on the figure.
 
static void draw_circle (const Vector &c, double r, const StyleProperties &style=StyleProperties())
 Draws a circle on the figure.
 
static void draw_ring (const Vector &c, const Interval &r, const StyleProperties &style=StyleProperties())
 Draws a ring on the figure.
 
static void draw_line (const Vector &p1, const Vector &p2, const StyleProperties &style=StyleProperties())
 Draws a line on the figure.
 
static void draw_line (const Segment &e, const StyleProperties &style=StyleProperties())
 Draws a line on the figure.
 
static void draw_arrow (const Vector &p1, const Vector &p2, float tip_length, const StyleProperties &style=StyleProperties())
 Draws an arrow on the figure.
 
static void draw_polyline (const std::vector< Vector > &x, const StyleProperties &style=StyleProperties())
 Draws a polyline on the figure.
 
static void draw_polyline (const std::vector< Vector > &x, float tip_length, const StyleProperties &style=StyleProperties())
 Draws a polyline on the figure.
 
static void draw_polygon (const Polygon &x, const StyleProperties &style=StyleProperties())
 Draws a Polygon object on the figure.
 
static void draw_parallelepiped (const Vector &z, const Matrix &A, const StyleProperties &style=StyleProperties())
 Draws a parallelepiped z+A*[-1,1]^2 on the figure.
 
static void draw_zonotope (const Vector &z, const std::vector< Vector > &A, const StyleProperties &style=StyleProperties())
 Draws a zonotope z+sum_i [-1,1] A_i on the figure.
 
static void draw_pie (const Vector &c, const Interval &r, const Interval &theta, const StyleProperties &style=StyleProperties())
 Draws a pie on the figure.
 
static void draw_ellipse (const Vector &c, const Vector &ab, double theta, const StyleProperties &style=StyleProperties())
 Draws an ellipse on the figure.
 
static void draw_ellipsoid (const Ellipsoid &e, const StyleProperties &style=StyleProperties())
 Draws an ellipsoid on the figure.
 
static void draw_trajectory (const SampledTraj< Vector > &x, const StyleProperties &style=StyleProperties())
 Draws a trajectory on the figure.
 
static void draw_trajectory (const AnalyticTraj< VectorType > &x, const StyleProperties &style=StyleProperties())
 Draws a trajectory on the figure.
 
static void draw_trajectory (const SampledTraj< Vector > &x, const ColorMap &cmap)
 Draws a trajectory on the figure with a colormap.
 
static void draw_trajectory (const AnalyticTraj< VectorType > &x, const ColorMap &cmap)
 Draws a trajectory on the figure with a colormap.
 
static void plot_trajectory (const SampledTraj< double > &x, const StyleProperties &style=StyleProperties())
 Plots a trajectory on the figure (x-axis is the time)
 
static void plot_trajectories (const SampledTraj< Vector > &x, const StyleProperties &style=StyleProperties())
 Plots a set of trajectories on the figure (x-axis is the time)
 
static void draw_tube (const SlicedTube< IntervalVector > &x, const StyleProperties &style=StyleProperties())
 Draws a tube of IntervalVector on the figure.
 
static void draw_tube (const SlicedTube< IntervalVector > &x, const ColorMap &cmap)
 Draws a tube of IntervalVector on the figure with a colormap.
 
static void draw_tank (const Vector &x, float size, const StyleProperties &style=StyleProperties())
 Draws a tank on the figure.
 
static void draw_AUV (const Vector &x, float size, const StyleProperties &style=StyleProperties())
 Draws an AUV on the figure.
 
static void draw_motor_boat (const Vector &x, float size, const StyleProperties &style=StyleProperties())
 Draws a motor boat on the figure.
 
static void draw_paving (const PavingOut &p, const StyleProperties &boundary_style=StyleProperties::boundary(), const StyleProperties &outside_style=StyleProperties::outside())
 Draws a paving on the figure.
 
static void draw_paving (const PavingInOut &p, const StyleProperties &boundary_style=StyleProperties::boundary(), const StyleProperties &outside_style=StyleProperties::outside(), const StyleProperties &inside_style=StyleProperties::inside())
 Draws a paving on the figure.
 
template<typename P>
static void draw_subpaving (const Subpaving< P > &p, const StyleProperties &style=StyleProperties())
 Draws a subpaving on the figure.
 

Detailed Description

Default view class, used to manage the default figure.

This class is used to manage the default figure. By default it only interacts with VIBes.

Any figure can be set as the default view.

Member Function Documentation

◆ selected_fig()

static std::shared_ptr< Figure2D > codac2::DefaultFigure::selected_fig ( )
inlinestatic

Getter for the default figure.

Returns
The default figure
494 {
495 if(_selected_fig == nullptr)
496 _selected_fig = _default_fig;
497 return _selected_fig;
498 }

◆ set()

static void codac2::DefaultFigure::set ( std::shared_ptr< Figure2D > fig)
inlinestatic

Setter for the default figure.

Parameters
figThe new default figure
506 {
507 _selected_fig = fig;
508 }

◆ set_axes()

static Figure2D & codac2::DefaultFigure::set_axes ( const FigureAxis & axis1,
const FigureAxis & axis2 )
inlinestatic

Setter for the axes of the figure.

Parameters
axis1First axis (horizontal)
axis2Second axis (vertical)
517 {
518 auto_init();
519 return selected_fig()->set_axes(axis1,axis2);
520 }
static std::shared_ptr< Figure2D > selected_fig()
Getter for the default figure.
Definition codac2_Figure2D.h:493

◆ set_window_properties()

static void codac2::DefaultFigure::set_window_properties ( const Vector & pos,
const Vector & size )
inlinestatic

Setter for the position and size of the window.

Parameters
posPosition of the window
sizeSize of the window
529 {
530 auto_init();
531 selected_fig()->set_window_properties(pos,size);
532 }

◆ draw_point()

static void codac2::DefaultFigure::draw_point ( const Vector & c,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a point on the figure.

Parameters
cCoordinates of the point
styleStyle of the point (edge color and fill color)
561 {
562 auto_init();
563 selected_fig()->draw_point(c,style);
564 }

◆ draw_box()

static void codac2::DefaultFigure::draw_box ( const IntervalVector & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a box on the figure.

Parameters
xBox to draw
styleStyle of the box (edge color and fill color)
573 {
574 auto_init();
575 selected_fig()->draw_box(x,style);
576 }

◆ draw_circle()

static void codac2::DefaultFigure::draw_circle ( const Vector & c,
double r,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a circle on the figure.

Parameters
cCenter of the circle
rRadius of the circle
styleStyle of the circle (edge color and fill color)
586 {
587 auto_init();
588 selected_fig()->draw_circle(c,r,style);
589 }

◆ draw_ring()

static void codac2::DefaultFigure::draw_ring ( const Vector & c,
const Interval & r,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a ring on the figure.

Parameters
cCenter of the ring
rInner and outer radius of the ring
styleStyle of the ring (edge color and fill color)
599 {
600 auto_init();
601 selected_fig()->draw_ring(c,r,style);
602 }

◆ draw_line() [1/2]

static void codac2::DefaultFigure::draw_line ( const Vector & p1,
const Vector & p2,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a line on the figure.

Parameters
p1First point of the line
p2Second point of the line
styleStyle of the line (edge color)
612 {
613 auto_init();
614 selected_fig()->draw_line(p1,p2,style);
615 }

◆ draw_line() [2/2]

static void codac2::DefaultFigure::draw_line ( const Segment & e,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a line on the figure.

Parameters
esegment to be drawn
styleStyle of the line (edge color)
624 {
625 auto_init();
626 selected_fig()->draw_line(e,style);
627 }

◆ draw_arrow()

static void codac2::DefaultFigure::draw_arrow ( const Vector & p1,
const Vector & p2,
float tip_length,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws an arrow on the figure.

Parameters
p1First point of the arrow
p2Second point of the arrow
tip_lengthLength of the tip of the arrow
styleStyle of the arrow (edge color and fill color)
638 {
639 auto_init();
640 selected_fig()->draw_arrow(p1,p2,tip_length,style);
641 }

◆ draw_polyline() [1/2]

static void codac2::DefaultFigure::draw_polyline ( const std::vector< Vector > & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a polyline on the figure.

Parameters
xVector of the points of the polyline
styleStyle of the polyline (edge color)
650 {
651 auto_init();
652 selected_fig()->draw_polyline(x,style);
653 }

◆ draw_polyline() [2/2]

static void codac2::DefaultFigure::draw_polyline ( const std::vector< Vector > & x,
float tip_length,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a polyline on the figure.

Parameters
xVector of the points of the polyline
tip_lengthLength of the tip of the arrow
styleStyle of the polyline (edge color and fill color)
663 {
664 auto_init();
665 selected_fig()->draw_polyline(x,tip_length,style);
666 }

◆ draw_polygon()

static void codac2::DefaultFigure::draw_polygon ( const Polygon & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a Polygon object on the figure.

Parameters
xthe Polygon object to be drawn
styleStyle of the polygone (edge color and fill color)
675 {
676 auto_init();
677 selected_fig()->draw_polygon(x,style);
678 }

◆ draw_parallelepiped()

static void codac2::DefaultFigure::draw_parallelepiped ( const Vector & z,
const Matrix & A,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a parallelepiped z+A*[-1,1]^2 on the figure.

Parameters
zCoordinates of the center of the parallelepiped
AMatrix of the parallelepiped
styleStyle of the parallelepiped (edge color and fill color)
688 {
689 auto_init();
690 selected_fig()->draw_parallelepiped(z,A,style);
691 }

◆ draw_zonotope()

static void codac2::DefaultFigure::draw_zonotope ( const Vector & z,
const std::vector< Vector > & A,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a zonotope z+sum_i [-1,1] A_i on the figure.

Parameters
zCoordinates of the center of the zonotope
Alist of vectors
styleStyle of the zonotope (edge color and fill color)
701 {
702 auto_init();
703 selected_fig()->draw_zonotope(z,A,style);
704 }

◆ draw_pie()

static void codac2::DefaultFigure::draw_pie ( const Vector & c,
const Interval & r,
const Interval & theta,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a pie on the figure.

Parameters
cCenter of the pie
rInner and outer radius of the pie
thetaStart and end angle of the pie (in radians)
styleStyle of the pie (edge color and fill color)
715 {
716 auto_init();
717 selected_fig()->draw_pie(c,r,theta,style);
718 }

◆ draw_ellipse()

static void codac2::DefaultFigure::draw_ellipse ( const Vector & c,
const Vector & ab,
double theta,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws an ellipse on the figure.

Parameters
cCenter of the ellipse
abHalf-lengths of the ellipse
thetaRotation angle of the ellipse (in radians)
styleStyle of the ellipse (edge color and fill color)
729 {
730 auto_init();
731 selected_fig()->draw_ellipse(c,ab,theta,style);
732 }

◆ draw_ellipsoid()

static void codac2::DefaultFigure::draw_ellipsoid ( const Ellipsoid & e,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws an ellipsoid on the figure.

Parameters
eEllipsoid to draw
styleStyle of the ellipsoid (edge color and fill color)
741 {
742 auto_init();
743 selected_fig()->draw_ellipsoid(e,style);
744 }

◆ draw_trajectory() [1/4]

static void codac2::DefaultFigure::draw_trajectory ( const SampledTraj< Vector > & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a trajectory on the figure.

Parameters
xTrajectory to draw
styleStyle of the trajectory (edge color)
753 {
754 auto_init();
755 selected_fig()->draw_trajectory(x,style);
756 }

◆ draw_trajectory() [2/4]

static void codac2::DefaultFigure::draw_trajectory ( const AnalyticTraj< VectorType > & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a trajectory on the figure.

Parameters
xAnalyticTraj to draw
styleStyle of the trajectory (edge color)
765 {
766 auto_init();
767 selected_fig()->draw_trajectory(x,style);
768 }

◆ draw_trajectory() [3/4]

static void codac2::DefaultFigure::draw_trajectory ( const SampledTraj< Vector > & x,
const ColorMap & cmap )
inlinestatic

Draws a trajectory on the figure with a colormap.

Parameters
xSampledTraj to draw
cmapColormap to use
777 {
778 auto_init();
779 selected_fig()->draw_trajectory(x,cmap);
780 }

◆ draw_trajectory() [4/4]

static void codac2::DefaultFigure::draw_trajectory ( const AnalyticTraj< VectorType > & x,
const ColorMap & cmap )
inlinestatic

Draws a trajectory on the figure with a colormap.

Parameters
xAnalyticTraj to draw
cmapColormap to use
789 {
790 auto_init();
791 selected_fig()->draw_trajectory(x,cmap);
792 }

◆ plot_trajectory()

static void codac2::DefaultFigure::plot_trajectory ( const SampledTraj< double > & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Plots a trajectory on the figure (x-axis is the time)

Parameters
xSampledTraj to plot
styleStyle of the trajectory (edge color)
801 {
802 auto_init();
803 selected_fig()->plot_trajectory(x,style);
804 }

◆ plot_trajectories()

static void codac2::DefaultFigure::plot_trajectories ( const SampledTraj< Vector > & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Plots a set of trajectories on the figure (x-axis is the time)

Parameters
xSampledTraj<Vector> set of trajectories to plot
styleStyle of the trajectory (edge color)
813 {
814 auto_init();
815 selected_fig()->plot_trajectories(x,style);
816 }

◆ draw_tube() [1/2]

static void codac2::DefaultFigure::draw_tube ( const SlicedTube< IntervalVector > & x,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a tube of IntervalVector on the figure.

Parameters
xSlicedTube to draw
styleStyle of the tube
825 {
826 auto_init();
827 selected_fig()->draw_tube(x,style);
828 }

◆ draw_tube() [2/2]

static void codac2::DefaultFigure::draw_tube ( const SlicedTube< IntervalVector > & x,
const ColorMap & cmap )
inlinestatic

Draws a tube of IntervalVector on the figure with a colormap.

Parameters
xSlicedTube to draw
cmapColormap to use
837 {
838 auto_init();
839 selected_fig()->draw_tube(x,cmap);
840 }

◆ draw_tank()

static void codac2::DefaultFigure::draw_tank ( const Vector & x,
float size,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a tank on the figure.

Parameters
xCoordinates of the tank
sizeSize of the tank
styleStyle of the tank (edge color and fill color)
852 {
853 auto_init();
854 selected_fig()->draw_tank(x,size,style);
855 }

◆ draw_AUV()

static void codac2::DefaultFigure::draw_AUV ( const Vector & x,
float size,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws an AUV on the figure.

Parameters
xCoordinates of the AUV
sizeSize of the AUV
styleStyle of the AUV (edge color and fill color)
865 {
866 auto_init();
867 selected_fig()->draw_AUV(x,size,style);
868 }

◆ draw_motor_boat()

static void codac2::DefaultFigure::draw_motor_boat ( const Vector & x,
float size,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a motor boat on the figure.

Parameters
xCoordinates of the motor boat
sizeSize of the motor boat
styleStyle of the motor boat (edge color and fill color)
878 {
879 auto_init();
880 selected_fig()->draw_motor_boat(x,size,style);
881 }

◆ draw_paving() [1/2]

static void codac2::DefaultFigure::draw_paving ( const PavingOut & p,
const StyleProperties & boundary_style = StyleProperties::boundary(),
const StyleProperties & outside_style = StyleProperties::outside() )
inlinestatic

Draws a paving on the figure.

Parameters
pPavingOut to draw (result of a paving with contractors)
boundary_styleStyle of the boundary of the paving
outside_styleStyle of the outside of the paving
895 {
896 if(auto_init())
897 {
898 double rx = p.tree()->hull()[0].diam(), ry = p.tree()->hull()[1].diam();
899 _default_fig->set_window_properties({20.,20.},
900 rx > ry ? Vector({800.,800.*ry/rx}) : Vector({800.*rx/ry,800.}));
901 _default_fig->set_axes(axis(0,p.tree()->hull()[0]),axis(1,p.tree()->hull()[1]));
902 }
903
904 selected_fig()->draw_paving(p, boundary_style, outside_style);
905 }
Eigen::Matrix< double,-1, 1 > Vector
Alias for a dynamically-sized column vector of doubles.
Definition codac2_Vector.h:24

◆ draw_paving() [2/2]

static void codac2::DefaultFigure::draw_paving ( const PavingInOut & p,
const StyleProperties & boundary_style = StyleProperties::boundary(),
const StyleProperties & outside_style = StyleProperties::outside(),
const StyleProperties & inside_style = StyleProperties::inside() )
inlinestatic

Draws a paving on the figure.

Parameters
pPavingInOut to draw (result of a paving with separators)
boundary_styleStyle of the boundary of the paving
outside_styleStyle of the outside of the paving
inside_styleStyle of the inside of the paving
919 {
920 if(auto_init())
921 {
922 double rx = p.tree()->hull()[0].diam(), ry = p.tree()->hull()[1].diam();
923 _default_fig->set_window_properties({20.,20.},
924 rx > ry ? Vector({800.,800.*ry/rx}) : Vector({800.*rx/ry,800.}));
925 _default_fig->set_axes(axis(0,p.tree()->hull()[0]),axis(1,p.tree()->hull()[1]));
926 }
927
928 selected_fig()->draw_paving(p, boundary_style, outside_style, inside_style);
929 }

◆ draw_subpaving()

template<typename P>
static void codac2::DefaultFigure::draw_subpaving ( const Subpaving< P > & p,
const StyleProperties & style = StyleProperties() )
inlinestatic

Draws a subpaving on the figure.

Parameters
pSubpaving to draw
styleStyle of the subpaving
939 {
940 auto_init();
941 selected_fig()->draw_subpaving(p, style);
942 }

The documentation for this class was generated from the following file: