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 void set_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 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_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_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
455 {
456 if(_selected_fig == nullptr)
457 _selected_fig = _default_fig;
458 return _selected_fig;
459 }

◆ set()

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

Setter for the default figure.

Parameters
figThe new default figure
467 {
468 _selected_fig = fig;
469 }

◆ set_axes()

static void 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)
478 {
479 auto_init();
480 selected_fig()->set_axes(axis1,axis2);
481 }
static std::shared_ptr< Figure2D > selected_fig()
Getter for the default figure.
Definition codac2_Figure2D.h:454

◆ 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
490 {
491 auto_init();
492 selected_fig()->set_window_properties(pos,size);
493 }

◆ 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)
504 {
505 auto_init();
506 selected_fig()->draw_point(c,s);
507 }

◆ 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)
516 {
517 auto_init();
518 selected_fig()->draw_box(x,s);
519 }

◆ 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)
529 {
530 auto_init();
531 selected_fig()->draw_circle(c,r,s);
532 }

◆ 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)
542 {
543 auto_init();
544 selected_fig()->draw_ring(c,r,s);
545 }

◆ 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)
555 {
556 auto_init();
557 selected_fig()->draw_line(p1,p2,s);
558 }

◆ 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)
567 {
568 auto_init();
569 selected_fig()->draw_line(e,s);
570 }

◆ 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)
581 {
582 auto_init();
583 selected_fig()->draw_arrow(p1,p2,tip_length,s);
584 }

◆ 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)
593 {
594 auto_init();
595 selected_fig()->draw_polyline(x,s);
596 }

◆ 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)
606 {
607 auto_init();
608 selected_fig()->draw_polyline(x,tip_length,s);
609 }

◆ 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)
618 {
619 auto_init();
620 selected_fig()->draw_polygon(x,s);
621 }

◆ 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)
631 {
632 auto_init();
633 selected_fig()->draw_parallelepiped(z,A,s);
634 }

◆ 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)
645 {
646 auto_init();
647 selected_fig()->draw_pie(c,r,theta,s);
648 }

◆ 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)
659 {
660 auto_init();
661 selected_fig()->draw_ellipse(c,ab,theta,s);
662 }

◆ 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)
671 {
672 auto_init();
673 selected_fig()->draw_ellipsoid(e,s);
674 }

◆ 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)
683 {
684 auto_init();
685 selected_fig()->draw_trajectory(x,s);
686 }

◆ 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)
695 {
696 auto_init();
697 selected_fig()->draw_trajectory(x,s);
698 }

◆ 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 plot
cmapColormap to use
707 {
708 auto_init();
709 selected_fig()->draw_trajectory(x,cmap);
710 }

◆ 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 plot
cmapColormap to use
719 {
720 auto_init();
721 selected_fig()->draw_trajectory(x,cmap);
722 }

◆ 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)
731 {
732 auto_init();
733 selected_fig()->plot_trajectory(x,s);
734 }

◆ 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)
746 {
747 auto_init();
748 selected_fig()->draw_tank(x,size,s);
749 }

◆ 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)
759 {
760 auto_init();
761 selected_fig()->draw_AUV(x,size,s);
762 }

◆ 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)
772 {
773 auto_init();
774 selected_fig()->draw_motor_boat(x,size,s);
775 }

◆ 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
789 {
790 if(auto_init())
791 {
792 double rx = p.tree()->hull()[0].diam(), ry = p.tree()->hull()[1].diam();
793 _default_fig->set_window_properties({20.,20.},
794 rx > ry ? Vector({800.,800.*ry/rx}) : Vector({800.*rx/ry,800.}));
795 _default_fig->set_axes(axis(0,p.tree()->hull()[0]),axis(1,p.tree()->hull()[1]));
796 }
797
798 selected_fig()->draw_paving(p, boundary_style, outside_style);
799 }

◆ 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
813 {
814 if(auto_init())
815 {
816 double rx = p.tree()->hull()[0].diam(), ry = p.tree()->hull()[1].diam();
817 _default_fig->set_window_properties({20.,20.},
818 rx > ry ? Vector({800.,800.*ry/rx}) : Vector({800.*rx/ry,800.}));
819 _default_fig->set_axes(axis(0,p.tree()->hull()[0]),axis(1,p.tree()->hull()[1]));
820 }
821
822 selected_fig()->draw_paving(p, boundary_style, outside_style, inside_style);
823 }

◆ 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
833 {
834 auto_init();
835 selected_fig()->draw_subpaving(p, s);
836 }

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