codac 1.5.6
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 draw_point (const Vector &c, const StyleProperties &s=StyleProperties())
 Draws a point on the figure.
 
static void draw_box (const IntervalVector &x, const StyleProperties &s=StyleProperties())
 Draws a box on the figure.
 
static void draw_circle (const Vector &c, double r, const StyleProperties &s=StyleProperties())
 Draws a circle on the figure.
 
static void draw_ring (const Vector &c, const Interval &r, const StyleProperties &s=StyleProperties())
 Draws a ring on the figure.
 
static void draw_line (const Vector &p1, const Vector &p2, const StyleProperties &s=StyleProperties())
 Draws a line on the figure.
 
static void draw_line (const Segment &e, const StyleProperties &s=StyleProperties())
 Draws a line on the figure.
 
static void draw_arrow (const Vector &p1, const Vector &p2, float tip_length, const StyleProperties &s=StyleProperties())
 Draws an arrow on the figure.
 
static void draw_polyline (const std::vector< Vector > &x, const StyleProperties &s=StyleProperties())
 Draws a polyline on the figure.
 
static void draw_polyline (const std::vector< Vector > &x, float tip_length, const StyleProperties &s=StyleProperties())
 Draws a polyline on the figure.
 
static void draw_polygon (const Polygon &x, const StyleProperties &s=StyleProperties())
 Draws a Polygon object on the figure.
 
static void draw_parallelepiped (const Vector &z, const Matrix &A, const StyleProperties &s=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 &s=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 &s=StyleProperties())
 Draws a pie on the figure.
 
static void draw_ellipse (const Vector &c, const Vector &ab, double theta, const StyleProperties &s=StyleProperties())
 Draws an ellipse on the figure.
 
static void draw_ellipsoid (const Ellipsoid &e, const StyleProperties &s=StyleProperties())
 Draws an ellipsoid on the figure.
 
static void draw_trajectory (const SampledTraj< Vector > &x, const StyleProperties &s=StyleProperties())
 Draws a trajectory on the figure.
 
static void draw_trajectory (const AnalyticTraj< VectorType > &x, const StyleProperties &s=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 &s=StyleProperties())
 Plots a trajectory on the figure (x-axis is the time)
 
static void draw_tube (const SlicedTube< IntervalVector > &x, const StyleProperties &s=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 &s=StyleProperties())
 Draws a tank on the figure.
 
static void draw_AUV (const Vector &x, float size, const StyleProperties &s=StyleProperties())
 Draws an AUV on the figure.
 
static void draw_motor_boat (const Vector &x, float size, const StyleProperties &s=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 &s=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
481 {
482 if(_selected_fig == nullptr)
483 _selected_fig = _default_fig;
484 return _selected_fig;
485 }

◆ set()

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

Setter for the default figure.

Parameters
figThe new default figure
493 {
494 _selected_fig = fig;
495 }

◆ 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)
504 {
505 auto_init();
506 return selected_fig()->set_axes(axis1,axis2);
507 }
static std::shared_ptr< Figure2D > selected_fig()
Getter for the default figure.
Definition codac2_Figure2D.h:480

◆ 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
516 {
517 auto_init();
518 selected_fig()->set_window_properties(pos,size);
519 }

◆ draw_point()

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

Draws a point on the figure.

Parameters
cCoordinates of the point
sStyle of the point (edge color and fill color)
539 {
540 auto_init();
541 selected_fig()->draw_point(c,s);
542 }

◆ draw_box()

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

Draws a box on the figure.

Parameters
xBox to draw
sStyle of the box (edge color and fill color)
551 {
552 auto_init();
553 selected_fig()->draw_box(x,s);
554 }

◆ draw_circle()

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

Draws a circle on the figure.

Parameters
cCenter of the circle
rRadius of the circle
sStyle of the circle (edge color and fill color)
564 {
565 auto_init();
566 selected_fig()->draw_circle(c,r,s);
567 }

◆ draw_ring()

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

Draws a ring on the figure.

Parameters
cCenter of the ring
rInner and outer radius of the ring
sStyle of the ring (edge color and fill color)
577 {
578 auto_init();
579 selected_fig()->draw_ring(c,r,s);
580 }

◆ draw_line() [1/2]

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

Draws a line on the figure.

Parameters
p1First point of the line
p2Second point of the line
sStyle of the line (edge color)
590 {
591 auto_init();
592 selected_fig()->draw_line(p1,p2,s);
593 }

◆ draw_line() [2/2]

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

Draws a line on the figure.

Parameters
esegment to be drawn
sStyle of the line (edge color)
602 {
603 auto_init();
604 selected_fig()->draw_line(e,s);
605 }

◆ draw_arrow()

static void codac2::DefaultFigure::draw_arrow ( const Vector & p1,
const Vector & p2,
float tip_length,
const StyleProperties & s = 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
sStyle of the arrow (edge color and fill color)
616 {
617 auto_init();
618 selected_fig()->draw_arrow(p1,p2,tip_length,s);
619 }

◆ draw_polyline() [1/2]

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

Draws a polyline on the figure.

Parameters
xVector of the points of the polyline
sStyle of the polyline (edge color)
628 {
629 auto_init();
630 selected_fig()->draw_polyline(x,s);
631 }

◆ draw_polyline() [2/2]

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

Draws a polyline on the figure.

Parameters
xVector of the points of the polyline
tip_lengthLength of the tip of the arrow
sStyle of the polyline (edge color and fill color)
641 {
642 auto_init();
643 selected_fig()->draw_polyline(x,tip_length,s);
644 }

◆ draw_polygon()

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

Draws a Polygon object on the figure.

Parameters
xthe Polygon object to be drawn
sStyle of the polygone (edge color and fill color)
653 {
654 auto_init();
655 selected_fig()->draw_polygon(x,s);
656 }

◆ draw_parallelepiped()

static void codac2::DefaultFigure::draw_parallelepiped ( const Vector & z,
const Matrix & A,
const StyleProperties & s = 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
sStyle of the parallelepiped (edge color and fill color)
666 {
667 auto_init();
668 selected_fig()->draw_parallelepiped(z,A,s);
669 }

◆ draw_zonotope()

static void codac2::DefaultFigure::draw_zonotope ( const Vector & z,
const std::vector< Vector > & A,
const StyleProperties & s = 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
sStyle of the zonotope (edge color and fill color)
679 {
680 auto_init();
681 selected_fig()->draw_zonotope(z,A,s);
682 }

◆ draw_pie()

static void codac2::DefaultFigure::draw_pie ( const Vector & c,
const Interval & r,
const Interval & theta,
const StyleProperties & s = 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)
sStyle of the pie (edge color and fill color)
693 {
694 auto_init();
695 selected_fig()->draw_pie(c,r,theta,s);
696 }

◆ draw_ellipse()

static void codac2::DefaultFigure::draw_ellipse ( const Vector & c,
const Vector & ab,
double theta,
const StyleProperties & s = 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)
sStyle of the ellipse (edge color and fill color)
707 {
708 auto_init();
709 selected_fig()->draw_ellipse(c,ab,theta,s);
710 }

◆ draw_ellipsoid()

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

Draws an ellipsoid on the figure.

Parameters
eEllipsoid to draw
sStyle of the ellipsoid (edge color and fill color)
719 {
720 auto_init();
721 selected_fig()->draw_ellipsoid(e,s);
722 }

◆ draw_trajectory() [1/4]

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

Draws a trajectory on the figure.

Parameters
xTrajectory to draw
sStyle of the trajectory (edge color)
731 {
732 auto_init();
733 selected_fig()->draw_trajectory(x,s);
734 }

◆ draw_trajectory() [2/4]

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

Draws a trajectory on the figure.

Parameters
xAnalyticTraj to draw
sStyle of the trajectory (edge color)
743 {
744 auto_init();
745 selected_fig()->draw_trajectory(x,s);
746 }

◆ 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
755 {
756 auto_init();
757 selected_fig()->draw_trajectory(x,cmap);
758 }

◆ 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
767 {
768 auto_init();
769 selected_fig()->draw_trajectory(x,cmap);
770 }

◆ plot_trajectory()

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

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

Parameters
xSampledTraj to plot
sStyle of the trajectory (edge color)
779 {
780 auto_init();
781 selected_fig()->plot_trajectory(x,s);
782 }

◆ draw_tube() [1/2]

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

Draws a tube of IntervalVector on the figure.

Parameters
xSlicedTube to draw
sStyle of the tube
791 {
792 auto_init();
793 selected_fig()->draw_tube(x,s);
794 }

◆ 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
803 {
804 auto_init();
805 selected_fig()->draw_tube(x,cmap);
806 }

◆ draw_tank()

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

Draws a tank on the figure.

Parameters
xCoordinates of the tank
sizeSize of the tank
sStyle of the tank (edge color and fill color)
818 {
819 auto_init();
820 selected_fig()->draw_tank(x,size,s);
821 }

◆ draw_AUV()

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

Draws an AUV on the figure.

Parameters
xCoordinates of the AUV
sizeSize of the AUV
sStyle of the AUV (edge color and fill color)
831 {
832 auto_init();
833 selected_fig()->draw_AUV(x,size,s);
834 }

◆ draw_motor_boat()

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

Draws a motor boat on the figure.

Parameters
xCoordinates of the motor boat
sizeSize of the motor boat
sStyle of the motor boat (edge color and fill color)
844 {
845 auto_init();
846 selected_fig()->draw_motor_boat(x,size,s);
847 }

◆ 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
861 {
862 if(auto_init())
863 {
864 double rx = p.tree()->hull()[0].diam(), ry = p.tree()->hull()[1].diam();
865 _default_fig->set_window_properties({20.,20.},
866 rx > ry ? Vector({800.,800.*ry/rx}) : Vector({800.*rx/ry,800.}));
867 _default_fig->set_axes(axis(0,p.tree()->hull()[0]),axis(1,p.tree()->hull()[1]));
868 }
869
870 selected_fig()->draw_paving(p, boundary_style, outside_style);
871 }

◆ 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
885 {
886 if(auto_init())
887 {
888 double rx = p.tree()->hull()[0].diam(), ry = p.tree()->hull()[1].diam();
889 _default_fig->set_window_properties({20.,20.},
890 rx > ry ? Vector({800.,800.*ry/rx}) : Vector({800.*rx/ry,800.}));
891 _default_fig->set_axes(axis(0,p.tree()->hull()[0]),axis(1,p.tree()->hull()[1]));
892 }
893
894 selected_fig()->draw_paving(p, boundary_style, outside_style, inside_style);
895 }

◆ draw_subpaving()

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

Draws a subpaving on the figure.

Parameters
pSubpaving to draw
sStyle of the subpaving
905 {
906 auto_init();
907 selected_fig()->draw_subpaving(p, s);
908 }

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