g4tools  5.4.0
Classes | Typedefs | Enumerations | Functions
tools::sg Namespace Reference

Classes

class  _switch
 
class  action
 
class  anim_event
 
struct  area_style_rec
 
class  atb_vertices
 
class  axis
 
class  back_area
 
class  base_camera
 
class  base_colormap
 
class  base_freetype
 
class  base_holder
 
class  base_tex
 
class  base_text
 
class  bbox_action
 
class  bins1D
 
class  bins2D
 
class  blend
 
class  bmf
 
class  bsf
 
class  bsf_enum
 
class  by_value_colormap
 
class  c2d2plot
 
class  c2d2plot_cp
 
class  c3d2plot
 
class  c3d2plot_cp
 
class  clrref
 
class  color
 
class  const_colormap
 
class  cube
 
class  desc_fields
 
class  device_interactor
 
class  draw_style
 
class  dummy_freetype
 
class  ellipse
 
class  event
 
class  event_action
 
class  f1d2plot
 
class  f1d2plot_cp
 
class  f2d2plot
 
class  f2d2plot_cp
 
class  field
 
class  field_desc
 
class  field_desc_enums
 
class  field_desc_opts
 
class  fit2plot
 
class  func1D
 
class  func2D
 
class  get_matrix_action
 
class  gl2ps_action
 
class  gl2ps_manager
 
class  GL_action
 
class  GL_manager
 
class  GL_plots_viewer
 
class  GL_viewer
 
class  grey_scale_colormap
 
class  grey_scale_inverse_colormap
 
class  group
 
class  gstos
 
class  gstos_add
 
class  h1d2plot
 
class  h1d2plot_cp
 
class  h2d2plot
 
class  h2d2plot_cp
 
struct  hatching_policy_rec
 
class  hchar
 
class  head_light
 
struct  hjust_rec
 
class  holder
 
class  ifield_factory
 
class  infos_box
 
class  key_down_event
 
class  key_up_event
 
class  legend
 
class  line_set
 
class  line_style
 
struct  marker_style_rec
 
class  markers
 
class  matrix
 
class  matrix_action
 
class  mf
 
class  mf_enum
 
class  mf_std_vec
 
class  mf_string
 
class  mf_vec
 
class  mouse_down_event
 
class  mouse_move_event
 
class  mouse_up_event
 
class  node
 
class  node_desc
 
class  nodekit
 
class  noderef
 
class  normal
 
class  ortho
 
class  p1d2plot
 
class  p1d2plot_cp
 
struct  painting_policy_rec
 
class  perspective
 
class  pick_action
 
class  pick_element
 
class  plotprim
 
class  plots
 
class  plots_viewer
 
class  plottable
 
class  plottable_box
 
class  plottable_ellipse
 
class  plottable_img
 
class  plottable_text
 
class  plotter
 
class  points2D
 
class  points3D
 
class  polyhedron
 
class  primitive_visitor
 
struct  projection_type_rec
 
class  read_action
 
class  render_action
 
class  render_gstos
 
class  render_manager
 
class  rep_bin1D
 
class  rep_bin2D
 
class  rep_box
 
class  rep_top_face2D
 
class  rgba
 
class  search_action
 
class  separator
 
class  sf
 
class  sf_enum
 
class  sf_img
 
class  sf_mat4f
 
class  sf_rotf
 
class  sf_string
 
class  sf_vec
 
class  sf_vec2f
 
class  sf_vec3f
 
class  sf_vec4f
 
class  size_event
 
class  state
 
class  states
 
class  style
 
class  style_color
 
class  style_colormap
 
class  style_default_colormap
 
class  style_parser
 
class  style_povama_colormap
 
class  style_ROOT_colormap
 
class  tess_prim
 
class  tessellate
 
class  tex_quadrilateral
 
class  tex_rect
 
class  text
 
class  text_freetype
 
class  text_freetype_marker
 
class  text_hershey
 
class  text_hershey_marker
 
class  text_style
 
class  text_valop
 
class  torche
 
class  vertices
 
class  viewer
 
class  violet_to_red_colormap
 
class  visible_action
 
struct  vjust_rec
 
class  wheel_rotate_event
 
class  win_action
 
class  write_action
 
class  xy2plot
 
class  zb_action
 
class  zb_manager
 

Typedefs

typedef unsigned short lpat
 
typedef size_t bufpos
 
typedef std::map< std::string, style_colormapcmaps_t
 

Enumerations

enum  cursor_shape { cursor_default = 0, cursor_target }
 
enum  line_pattern { line_solid = 0xffff, line_dashed = 0x00ff, line_dotted = 0x1111, line_dash_dotted = 0x1c47 }
 
enum  marker_style {
  marker_dot = 0, marker_plus = 1, marker_asterisk, marker_cross,
  marker_star, marker_circle_line, marker_circle_filled, marker_triangle_up_line,
  marker_triangle_up_filled, marker_triangle_down_line, marker_triangle_down_filled, marker_david_star_line,
  marker_david_star_filled, marker_swiss_cross_line, marker_swiss_cross_filled, marker_diamond_line,
  marker_diamond_filled, marker_square_line, marker_square_filled, marker_penta_star_line,
  marker_penta_star_filled, marker_minus
}
 
enum  area_style { area_solid = 0, area_hatched, area_checker, area_edged }
 
enum  projection_type {
  projection_none, projection_rz, projection_phiz, projection_zr,
  projection_zphi
}
 
enum  painting_policy {
  painting_uniform, painting_by_value, painting_by_level, painting_grey_scale,
  painting_violet_to_red, painting_grey_scale_inverse
}
 
enum  hatching_policy { hatching_none, hatching_right, hatching_left, hatching_left_and_right }
 
enum  hjust { left = 0, center = 1, right = 2 }
 
enum  vjust { bottom = 0, middle = 1, top = 2 }
 
enum  font_type { latin, greek, special }
 
enum  font_modeling { font_outline, font_filled, font_pixmap }
 
enum  arrow_type { arrow_up, arrow_down, arrow_left, arrow_right }
 
enum  winding_type { winding_ccw, winding_cw }
 
enum  move_type {
  move_rotate_right, move_rotate_left, move_rotate_up, move_rotate_down,
  move_roll_plus, move_roll_minus, move_translate_right, move_translate_left,
  move_up, move_down, move_forward, move_backward,
  move_zoom_in, move_zoom_out, move_rotate_around_focal_right, move_rotate_around_focal_left,
  move_rotate_around_focal_up, move_rotate_around_focal_down, move_roll_around_focal_plus, move_roll_around_focal_minus,
  move_zoom_in_out, move_zoom_in_out_rot, move_curve
}
 
enum  anim_what { anim_left, anim_right, anim_up, anim_down }
 
enum  anim_mode {
  anim_mode_0, anim_mode_1, anim_mode_2, anim_mode_3,
  anim_mode_4
}
 
enum  key_move { key_left, key_right, key_up, key_down }
 
enum  number_type {
  number_uint, number_int, number_real, number_ip,
  number_radec
}
 
enum  camera_type { camera_ortho, camera_perspective }
 
enum  gsto_mode { gsto_memory = 0, gsto_gl_vbo = 1, gsto_gl_list = 2 }
 
enum  layout_policy { layout_text_under_image = 0, layout_text_at_left_of_image = 1 }
 
enum  auto_lut_policy { auto_lut_none = 0, auto_lut_min_max = 1, auto_lut_mean_rms = 2 }
 
enum  draw_type { draw_points = 0, draw_lines, draw_filled }
 
enum  shade_type { shade_flat = 0, shade_smooth }
 
enum  solid_operation { solid_none, solid_union, solid_intersection, solid_subtraction }
 

Functions

template<class FROM , class TO >
TO * event_cast (FROM &a_o)
 
template<class FROM , class TO >
const TO * event_cast (const FROM &a_o)
 
bool get_event_xy (const sg::event &a_event, int &a_x, int &a_y)
 
void gl_clear_errors ()
 
bool gl_dump_if_errors (std::ostream &a_out, const std::string &a_head)
 
void gl_dump_infos (std::ostream &a_out)
 
bool gl_tex_img (std::ostream &a_out, const tools::img_byte &a_img)
 
bool s2format (const std::string &a_format, int &a_gl2ps_format)
 
template<class T >
holder< T > * cast_holder (node &a_node)
 
template<class T >
const holder< T > * cast_holder (const node &a_node)
 
template<class T >
const T * cast_holder_object (const node &a_node)
 
template<class T >
T * cast_holder_object (node &a_node)
 
template<class T >
void remove_holders (std::vector< node * > &a_vec)
 
template<class T >
void remove_holders (std::vector< node * > &a_vec, const std::string &a_name)
 
template<class T >
T * find_holder (std::vector< node * > &a_vec, const std::string &a_name)
 
template<class T >
T * find_first_holder (std::vector< node * > &a_vec)
 
key_code key_shift ()
 
std::ostream & operator<< (std::ostream &a_out, const std::vector< std::string > &)
 
bool set_from_vec (std::vector< std::string > &, const std::vector< std::string > &)
 
const std::string * get_data (const std::vector< std::string > &a_v)
 
void nodekit_pick (pick_action &a_action, node &a_sg, node *a_node)
 
orthocast_ortho (base_camera &a_bcam)
 
perspectivecast_perspective (base_camera &a_bcam)
 
const std::string & s_tools_sg_fit2plot ()
 
void style_from_res (const xml::styles &a_styles, const std::string &a_path, axis &a_axis, bool a_verbose)
 
void style_from_res (const xml::styles &a_styles, const std::string &a_path, plotter &a_plotter, bool a_verbose)
 
const hjust_rechjust_recs (unsigned int &a_num)
 
bool shjust (const std::string &a_s, hjust &a_v)
 
const char * shjust (hjust a_v)
 
const vjust_recvjust_recs (unsigned int &a_num)
 
bool svjust (const std::string &a_s, vjust &a_v)
 
const char * svjust (vjust a_v)
 
const marker_style_recmarker_style_recs (unsigned int &a_num)
 
bool smarker_style (const std::string &a_s, marker_style &a_v)
 
const char * smarker_style (marker_style a_v)
 
void smarker_styles (std::vector< std::string > &a_v)
 
const area_style_recarea_style_recsList (unsigned int &a_num)
 
bool sarea_style (const std::string &a_s, area_style &a_v)
 
const char * sarea_style (area_style a_v)
 
const painting_policy_recpainting_policy_recsList (unsigned int &a_num)
 
void spainting_policies (std::vector< std::string > &a_v)
 
bool spainting_policy (const std::string &a_s, painting_policy &a_v)
 
const char * spainting_policy (painting_policy a_v)
 
const hatching_policy_rechatching_policy_recsList (unsigned int &a_num)
 
bool shatching_policy (const std::string &a_s, hatching_policy &a_v)
 
const char * shatching_policy (hatching_policy a_v)
 
const projection_type_recprojection_type_recsList (unsigned int &a_num)
 
bool sprojection_type (const std::string &a_s, projection_type &a_v)
 
const char * sprojection_type (projection_type a_v)
 
bool sline_pattern (const std::string &a_s, lpat &aPattern)
 
bool smove_type (const std::string &a_s, move_type &a_move)
 
void set_plotter_camera (float a_XSIZ, float a_YSIZ, float a_ZSIZ, plotter &a_plotter, ortho &a_camera, unsigned int a_ww, unsigned int a_wh)
 
void set_plotter_camera (plotter &a_plotter, ortho &a_camera, unsigned int a_ww, unsigned int a_wh)
 
const std::string & tick_modeling_none ()
 
const std::string & tick_modeling_hippo ()
 
const std::string & tick_modeling_hplot ()
 
const std::string & infos_modeling_ROOT ()
 
const std::string & encoding_none ()
 
const std::string & encoding_PAW ()
 
const std::string & s_font_outline ()
 
const std::string & s_font_filled ()
 
const std::string & s_font_pixmap ()
 
const std::string & s_anim_mode_0 ()
 
const std::string & s_anim_mode_1 ()
 
const std::string & s_anim_mode_2 ()
 
const std::string & s_anim_mode_3 ()
 
const std::string & s_anim_mode_4 ()
 
const std::string & modeling_boxes ()
 
const std::string & modeling_wire_boxes ()
 
const std::string & modeling_lines ()
 
const std::string & modeling_segments ()
 
const std::string & modeling_points ()
 
const std::string & modeling_top_lines ()
 
const std::string & modeling_top_lines_boxes ()
 
const std::string & modeling_texts ()
 
const std::string & modeling_curve ()
 
const std::string & modeling_filled_curve ()
 
const std::string & modeling_bar_chart ()
 
const std::string & modeling_solid ()
 
const std::string & modeling_wire_frame ()
 
const std::string & modeling_reduced_wire_frame ()
 
const std::string & modeling_polygon ()
 
const std::string & modeling_none ()
 
const std::string & modeling_I ()
 
const std::string & modeling_plus ()
 
const std::string & modeling_markers ()
 
const std::string & modeling_arrow ()
 EsbRootView : /////////////////////////////////////////////. More...
 
const std::string & modeling_cube ()
 
const std::string & modeling_cone ()
 
const std::string & modeling_cone_detector ()
 
const std::string & modeling_detector ()
 
const std::string & modeling_firework ()
 
const std::string & light_model_base_color ()
 
const std::string & light_model_phong ()
 
const std::string & font_hershey ()
 
 TOOLS_FONT_TTF (roboto_bold) TOOLS_FONT_TTF(lato_regular) TOOLS_FONT_TTF(lato_bold) inline const std
 
const std::string & font_STIX2Text_Regular_otf ()
 
const std::string & font_ROOT_12 ()
 
const std::string & font_ROOT_22 ()
 
const std::string & font_ROOT_32 ()
 
const std::string & font_ROOT_42 ()
 
const std::string & font_ROOT_52 ()
 
const std::string & font_ROOT_62 ()
 
const std::string & font_ROOT_72 ()
 
const std::string & font_ROOT_82 ()
 
const std::string & font_ROOT_92 ()
 
const std::string & font_ROOT_102 ()
 
const std::string & font_ROOT_112 ()
 
const std::string & font_ROOT_122 ()
 
const std::string & font_ROOT_132 ()
 
const std::string & font_ROOT_142 ()
 
bool to_ulong (const std::string &a_s, unsigned long &a_v)
 
bool find_color (const cmaps_t &a_cmaps, const std::string &a_s, colorf &a_col)
 
void add_string (separator &a_sep, const std::string &a_font, font_modeling &a_font_modeling, const std::string &a_encoding, bool, const std::string &a_string, float a_x, float a_y, float a_z, const vec3f &a_X, const vec3f &a_Y, float a_size, hjust a_hjust, vjust a_vjust, const base_freetype &a_ttf)
 
matrixadd_string_opt (separator &a_sep, const std::string &a_font, font_modeling a_font_modeling, const std::string &a_encoding, bool, const std::string &a_string, float a_x, float a_y, float a_z, mat4f &a_scale_rot, hjust a_hjust, vjust a_vjust, const base_freetype &a_ttf)
 
viewercast_viewer (const std::string &a_s)
 

Typedef Documentation

◆ bufpos

typedef size_t tools::sg::bufpos

Definition at line 22 of file render_action.

◆ cmaps_t

typedef std::map<std::string,style_colormap> tools::sg::cmaps_t

Definition at line 536 of file style_colormap.

◆ lpat

typedef unsigned short tools::sg::lpat

Definition at line 10 of file lpat.

Enumeration Type Documentation

◆ anim_mode

Enumerator
anim_mode_0 
anim_mode_1 
anim_mode_2 
anim_mode_3 
anim_mode_4 

Definition at line 144 of file enums.

144  {
145  anim_mode_0,
146  anim_mode_1,
147  anim_mode_2,
148  anim_mode_3,
150 };

◆ anim_what

Enumerator
anim_left 
anim_right 
anim_up 
anim_down 

Definition at line 137 of file enums.

137  {
138  anim_left,
139  anim_right,
140  anim_up,
141  anim_down
142 };

◆ area_style

Enumerator
area_solid 
area_hatched 
area_checker 
area_edged 

Definition at line 42 of file enums.

42  {
43  area_solid = 0,
47 };

◆ arrow_type

Enumerator
arrow_up 
arrow_down 
arrow_left 
arrow_right 

Definition at line 97 of file enums.

97  {
98  arrow_up,
99  arrow_down,
100  arrow_left,
102 };

◆ auto_lut_policy

Enumerator
auto_lut_none 
auto_lut_min_max 
auto_lut_mean_rms 

Definition at line 184 of file enums.

184  {
185  auto_lut_none = 0,
186  auto_lut_min_max = 1,
188 };

◆ camera_type

Enumerator
camera_ortho 
camera_perspective 

Definition at line 167 of file enums.

167  {
168  camera_ortho,
170 };

◆ cursor_shape

Enumerator
cursor_default 
cursor_target 

Definition at line 10 of file cursor_shape.

10  {
11  cursor_default = 0,
13 };

◆ draw_type

Enumerator
draw_points 
draw_lines 
draw_filled 

Definition at line 190 of file enums.

190  {
191  draw_points = 0,
192  draw_lines,
194 // draw_invisible
195 };

◆ font_modeling

Enumerator
font_outline 
font_filled 
font_pixmap 

Definition at line 91 of file enums.

91  {
95 };

◆ font_type

Enumerator
latin 
greek 
special 

Definition at line 85 of file enums.

85  {
86  latin,
87  greek,
88  special
89 };

◆ gsto_mode

Enumerator
gsto_memory 
gsto_gl_vbo 
gsto_gl_list 

Definition at line 172 of file enums.

172  {
173  gsto_memory = 0,
174  gsto_gl_vbo = 1,
175  gsto_gl_list = 2
176 };

◆ hatching_policy

Enumerator
hatching_none 
hatching_right 
hatching_left 
hatching_left_and_right 

Definition at line 66 of file enums.

66  {
71 };

◆ hjust

Enumerator
left 
center 
right 

Definition at line 73 of file enums.

73  {
74  left = 0,
75  center = 1,
76  right = 2
77 };

◆ key_move

Enumerator
key_left 
key_right 
key_up 
key_down 

Definition at line 152 of file enums.

152  {
153  key_left,
154  key_right,
155  key_up,
156  key_down
157 };

◆ layout_policy

Enumerator
layout_text_under_image 
layout_text_at_left_of_image 

Definition at line 178 of file enums.

178  {
181  //layout_text_at_right_of_image = 2
182 };

◆ line_pattern

Enumerator
line_solid 
line_dashed 
line_dotted 
line_dash_dotted 

Definition at line 10 of file enums.

10  {
11  line_solid = 0xffff,
12  line_dashed = 0x00ff,
13  line_dotted = 0x1111,
14  line_dash_dotted = 0x1c47
15 };

◆ marker_style

Enumerator
marker_dot 
marker_plus 
marker_asterisk 
marker_cross 
marker_star 
marker_circle_line 
marker_circle_filled 
marker_triangle_up_line 
marker_triangle_up_filled 
marker_triangle_down_line 
marker_triangle_down_filled 
marker_david_star_line 
marker_david_star_filled 
marker_swiss_cross_line 
marker_swiss_cross_filled 
marker_diamond_line 
marker_diamond_filled 
marker_square_line 
marker_square_filled 
marker_penta_star_line 
marker_penta_star_filled 
marker_minus 

Definition at line 17 of file enums.

◆ move_type

Enumerator
move_rotate_right 
move_rotate_left 
move_rotate_up 
move_rotate_down 
move_roll_plus 
move_roll_minus 
move_translate_right 
move_translate_left 
move_up 
move_down 
move_forward 
move_backward 
move_zoom_in 
move_zoom_out 
move_rotate_around_focal_right 
move_rotate_around_focal_left 
move_rotate_around_focal_up 
move_rotate_around_focal_down 
move_roll_around_focal_plus 
move_roll_around_focal_minus 
move_zoom_in_out 
move_zoom_in_out_rot 
move_curve 

Definition at line 109 of file enums.

◆ number_type

Enumerator
number_uint 
number_int 
number_real 
number_ip 
number_radec 

Definition at line 159 of file enums.

159  {
160  number_uint,
161  number_int,
162  number_real,
163  number_ip,
165 };

◆ painting_policy

Enumerator
painting_uniform 
painting_by_value 
painting_by_level 
painting_grey_scale 
painting_violet_to_red 
painting_grey_scale_inverse 

Definition at line 57 of file enums.

◆ projection_type

Enumerator
projection_none 
projection_rz 
projection_phiz 
projection_zr 
projection_zphi 

Definition at line 49 of file enums.

49  {
55 };

◆ shade_type

Enumerator
shade_flat 
shade_smooth 

Definition at line 197 of file enums.

197  { //shade_model is a node.
198  shade_flat = 0,
200 };

◆ solid_operation

Enumerator
solid_none 
solid_union 
solid_intersection 
solid_subtraction 

Definition at line 202 of file enums.

202  {
203  solid_none,
204  solid_union,
207 };

◆ vjust

Enumerator
bottom 
middle 
top 

Definition at line 79 of file enums.

79  {
80  bottom = 0,
81  middle = 1,
82  top = 2
83 };

◆ winding_type

Enumerator
winding_ccw 
winding_cw 

Definition at line 104 of file enums.

104  {
105  winding_ccw,
106  winding_cw
107 };

Function Documentation

◆ add_string()

void tools::sg::add_string ( separator a_sep,
const std::string &  a_font,
font_modeling a_font_modeling,
const std::string &  a_encoding,
bool  ,
const std::string &  a_string,
float  a_x,
float  a_y,
float  a_z,
const vec3f a_X,
const vec3f a_Y,
float  a_size,
hjust  a_hjust,
vjust  a_vjust,
const base_freetype a_ttf 
)
inline

Definition at line 19 of file tools.

33  {
34  if(a_string.empty()) return;
35 
36  matrix* tsf = new matrix;
37 
38  {tsf->mul_translate(a_x,a_y,a_z);
39  vec3f X = a_X;
40  vec3f Y = a_Y;
41  X.normalize();
42  Y.normalize();
43  vec3f Z;X.cross(Y,Z);
44  Z.cross(X,Y);
45  mat4f r(X.v0(),Y.v0(),Z.v0(),0, //first row
46  X.v1(),Y.v1(),Z.v1(),0,
47  X.v2(),Y.v2(),Z.v2(),0,
48  0,0,0,1);
49  tsf->mul_mtx(r);
50  tsf->mul_scale(a_size,a_size,1);} //applied first on GL
51 
52  a_sep.add(tsf);
53 
54  if(a_font==font_hershey()) {
55 
56  text_hershey* text = new text_hershey;
57  text->encoding.value(a_encoding);
58  text->strings.add(a_string);
59  text->hjust.value(a_hjust);
60  text->vjust.value(a_vjust);
61  a_sep.add(text);
62 
63  } else {
64 
65  base_freetype* text = base_freetype::create(a_ttf);
66 
67  text->font = a_font;
68 
69  //text->modeling.value(font_outline);
70  //text->encoding.value(a_encoding);
71  //text->smooting.value(a_smoothing);
72  text->strings.add(a_string);
73  text->hjust.value(a_hjust);
74  text->vjust.value(a_vjust);
75  text->modeling = a_font_modeling;
76  a_sep.add(text);
77 
78  }
79 
80 }

◆ add_string_opt()

matrix* tools::sg::add_string_opt ( separator a_sep,
const std::string &  a_font,
font_modeling  a_font_modeling,
const std::string &  a_encoding,
bool  ,
const std::string &  a_string,
float  a_x,
float  a_y,
float  a_z,
mat4f a_scale_rot,
hjust  a_hjust,
vjust  a_vjust,
const base_freetype a_ttf 
)
inline

Definition at line 82 of file tools.

94  {
95  //used in axis::update_sg()
96  if(a_string.empty()) return 0;
97 
98  matrix* tsf = new matrix;
99  tsf->mul_translate(a_x,a_y,a_z);
100  tsf->mul_mtx(a_scale_rot);
101  a_sep.add(tsf);
102 
103  if(a_font==font_hershey()) {
104 
105  text_hershey* text = new text_hershey;
106  text->encoding.value(a_encoding);
107  text->strings.add(a_string);
108  text->hjust.value(a_hjust);
109  text->vjust.value(a_vjust);
110  a_sep.add(text);
111 
112  } else {
113 
114  std::string _s = a_string;
115  if(a_encoding==encoding_PAW()) {
116  int mag;
117  if(::sscanf(a_string.c_str(),"10^%d?",&mag)==1) {
118  _s[2] = 'e';
119  _s = _s.substr(0,_s.size()-1);
120  //std::ostringstream oss;
121  //oss << ::pow(10.0,mag);
122  //_s = oss.str();
123  }
124  }
125 
126  base_freetype* text = base_freetype::create(a_ttf);
127 
128  text->font = a_font;
129 
130  //text->modeling.value(font_outline);
131  //text->encoding.value(a_encoding);
132  //text->smooting.value(a_smoothing);
133  text->strings.add(_s);
134  text->hjust.value(a_hjust);
135  text->vjust.value(a_vjust);
136  text->modeling = a_font_modeling;
137  a_sep.add(text);
138 
139  }
140 
141  return tsf;
142 }

◆ area_style_recsList()

const area_style_rec* tools::sg::area_style_recsList ( unsigned int &  a_num)
inline

Definition at line 137 of file senum.

137  {
138  static const area_style_rec list[] = { //read only static, then ok.
139  {"solid", area_solid},
140  {"hatched", area_hatched},
141  {"checker", area_checker},
142  {"edged", area_edged}
143  };
144  a_num = sizeof(list)/sizeof(list[0]);
145  return list;
146 }

◆ cast_holder() [1/2]

template<class T >
const holder<T>* tools::sg::cast_holder ( const node a_node)
inline

Definition at line 113 of file holder.

113  {
114  typedef holder<T> h_t;
115  h_t* _h = (h_t*)a_node.cast(h_t::s_class());
116  if(!_h) return 0;
117  return (_h->class_name.value()==T::s_class()?_h:0);
118 }

◆ cast_holder() [2/2]

template<class T >
holder<T>* tools::sg::cast_holder ( node a_node)
inline

Definition at line 105 of file holder.

105  {
106  typedef holder<T> h_t;
107  h_t* _h = (h_t*)a_node.cast(h_t::s_class());
108  if(!_h) return 0;
109  return (_h->class_name.value()==T::s_class()?_h:0);
110 }

◆ cast_holder_object() [1/2]

template<class T >
const T* tools::sg::cast_holder_object ( const node a_node)
inline

Definition at line 121 of file holder.

121  {
122  typedef holder<T> h_t;
123  h_t* _h = (h_t*)a_node.cast(h_t::s_class());
124  if(!_h) return 0;
125  return (_h->class_name.value()==T::s_class()?_h->object():0);
126 }

◆ cast_holder_object() [2/2]

template<class T >
T* tools::sg::cast_holder_object ( node a_node)
inline

Definition at line 128 of file holder.

128  {
129  typedef holder<T> h_t;
130  h_t* _h = (h_t*)a_node.cast(h_t::s_class());
131  if(!_h) return 0;
132  return (_h->class_name.value()==T::s_class()?_h->object():0);
133 }

◆ cast_ortho()

ortho* tools::sg::cast_ortho ( base_camera a_bcam)
inline

Definition at line 94 of file ortho.

94 {return safe_cast<base_camera,ortho>(a_bcam);}

◆ cast_perspective()

perspective* tools::sg::cast_perspective ( base_camera a_bcam)
inline

Definition at line 98 of file perspective.

98 {return safe_cast<base_camera,perspective>(a_bcam);}

◆ cast_viewer()

viewer* tools::sg::cast_viewer ( const std::string &  a_s)
inline

Definition at line 190 of file viewer.

190  {
191  void* p;
192  if(!to_pointer(a_s,p)) return 0; //read with %lx and, if failure, with %lu.
193  return (viewer*)p;
194 }

◆ encoding_none()

const std::string& tools::sg::encoding_none ( )
inline

Definition at line 38 of file strings.

38  {
39  static const std::string s_v("none");
40  return s_v;
41 }

◆ encoding_PAW()

const std::string& tools::sg::encoding_PAW ( )
inline

Definition at line 42 of file strings.

42  {
43  static const std::string s_v("PAW");
44  return s_v;
45 }

◆ event_cast() [1/2]

template<class FROM , class TO >
const TO* tools::sg::event_cast ( const FROM &  a_o)
inline

Definition at line 428 of file event.

428 {return id_cast<FROM,TO>(a_o);}

◆ event_cast() [2/2]

template<class FROM , class TO >
TO* tools::sg::event_cast ( FROM &  a_o)
inline

Definition at line 427 of file event.

427 {return id_cast<FROM,TO>(a_o);}

◆ find_color()

bool tools::sg::find_color ( const cmaps_t a_cmaps,
const std::string &  a_s,
colorf a_col 
)
inline

Definition at line 549 of file style_colormap.

549  {
550  //NOTE : if ret false, we do not set a_col to something.
551 
552  std::string::size_type pos_slash = a_s.rfind('/');
553  if(pos_slash!=std::string::npos) { //<cmap>/<color name>
554  std::string cmap = a_s.substr(0,pos_slash);
555  std::string cnam = a_s.substr(pos_slash+1,a_s.size()-(pos_slash+1));
556  cmaps_t::const_iterator it = a_cmaps.find(cmap);
557  if(it==a_cmaps.end()) return false;
558  return (*it).second.get_color(cnam,a_col);
559 
560  } else {
561 
562  if( (a_s.size()==7) && (a_s[0]=='#') ) {
563  // #RRGGBB format :
564  // 1 3 5
565  unsigned long rr,gg,bb;
566 
567  {std::string s("0x");
568  s += a_s.substr(1,2);
569  if(!to_ulong(s,rr)) return false;}
570 
571  {std::string s("0x");
572  s += a_s.substr(3,2);
573  if(!to_ulong(s,gg)) return false;}
574 
575  {std::string s("0x");
576  s += a_s.substr(5,2);
577  if(!to_ulong(s,bb)) return false;}
578 
579  a_col = colorf(((float)rr)/255,((float)gg)/255,((float)bb)/255);
580  return true;
581  }
582 
583  //a_s of the form : <real:r> <real:g> <real:b>
584  //a_s of the form : <real:r> <real:g> <real:b> <real:a>
585 
586  {std::vector<std::string> ws;
587  words(a_s," ",false,ws);
588  if(ws.size()==3) {
589  float r,g,b;
590  if( to<float>(ws[0],r) && ((0<=r)&&(r<=1)) &&
591  to<float>(ws[1],g) && ((0<=g)&&(g<=1)) &&
592  to<float>(ws[2],b) && ((0<=b)&&(b<=1)) ){
593  a_col = colorf(r,g,b);
594  return true;
595  }
596 
597  } else if(ws.size()==4) {
598  float r,g,b,a;
599  if( to<float>(ws[0],r) && ((0<=r)&&(r<=1)) &&
600  to<float>(ws[1],g) && ((0<=g)&&(g<=1)) &&
601  to<float>(ws[2],b) && ((0<=b)&&(b<=1)) &&
602  to<float>(ws[3],a) && ((0<=a)&&(a<=1)) ){
603  a_col = colorf(r,g,b,a);
604  return true;
605  }
606 
607  }}
608 
609  // search in default colormap :
610  {cmaps_t::const_iterator it = a_cmaps.find(style_default_colormap::s_default());
611  if(it!=a_cmaps.end()) {
612  if((*it).second.get_color(a_s,a_col)) return true;
613  }}
614 
615  }
616 
617  return false;
618 }

◆ find_first_holder()

template<class T >
T* tools::sg::find_first_holder ( std::vector< node * > &  a_vec)
inline

Definition at line 184 of file holder.

184  {
185  //return the first T found.
186 
187  typedef holder<T> h_t;
188  std::vector<node*>::iterator it;
189  for(it=a_vec.begin();it!=a_vec.end();++it) {
190  if(h_t* h = cast_holder<T>(*(*it))) return h->object();
191  }
192 
193 
194  return 0;
195 }

◆ find_holder()

template<class T >
T* tools::sg::find_holder ( std::vector< node * > &  a_vec,
const std::string &  a_name 
)
inline

Definition at line 170 of file holder.

170  {
171  //return the first named found.
172 
173  typedef holder<T> h_t;
174  std::vector<node*>::iterator it;
175  for(it=a_vec.begin();it!=a_vec.end();++it) {
176  if(h_t* h = cast_holder<T>(*(*it))){
177  if(h->name()==a_name) return h->object();
178  }
179  }
180  return 0;
181 }

◆ font_hershey()

const std::string& tools::sg::font_hershey ( )
inline

Definition at line 186 of file strings.

186 {static const std::string s_v("hershey");return s_v;}

◆ font_ROOT_102()

const std::string& tools::sg::font_ROOT_102 ( )
inline

Definition at line 244 of file strings.

244 {static const std::string s_v("courbd.fff");return s_v;}

◆ font_ROOT_112()

const std::string& tools::sg::font_ROOT_112 ( )
inline

Definition at line 245 of file strings.

245 {static const std::string s_v("courbi.fff");return s_v;}

◆ font_ROOT_12()

const std::string& tools::sg::font_ROOT_12 ( )
inline

Definition at line 235 of file strings.

235 {static const std::string s_v("timesi.ttf");return s_v;}

◆ font_ROOT_122()

const std::string& tools::sg::font_ROOT_122 ( )
inline

Definition at line 246 of file strings.

246 {static const std::string s_v("symbol.fff");return s_v;}

◆ font_ROOT_132()

const std::string& tools::sg::font_ROOT_132 ( )
inline

Definition at line 247 of file strings.

247 {static const std::string s_v("times.ttf");return s_v;}

◆ font_ROOT_142()

const std::string& tools::sg::font_ROOT_142 ( )
inline

Definition at line 248 of file strings.

248 {static const std::string s_v("wingding.fff");return s_v;}

◆ font_ROOT_22()

const std::string& tools::sg::font_ROOT_22 ( )
inline

Definition at line 236 of file strings.

236 {static const std::string s_v("timesbd.ttf");return s_v;}

◆ font_ROOT_32()

const std::string& tools::sg::font_ROOT_32 ( )
inline

Definition at line 237 of file strings.

237 {static const std::string s_v("timesbi.ttf");return s_v;}

◆ font_ROOT_42()

const std::string& tools::sg::font_ROOT_42 ( )
inline

Definition at line 238 of file strings.

238 {static const std::string s_v("arial.ttf");return s_v;}

◆ font_ROOT_52()

const std::string& tools::sg::font_ROOT_52 ( )
inline

Definition at line 239 of file strings.

239 {static const std::string s_v("ariali.ttf");return s_v;}

◆ font_ROOT_62()

const std::string& tools::sg::font_ROOT_62 ( )
inline

Definition at line 240 of file strings.

240 {static const std::string s_v("arialbd.ttf");return s_v;}

◆ font_ROOT_72()

const std::string& tools::sg::font_ROOT_72 ( )
inline

Definition at line 241 of file strings.

241 {static const std::string s_v("arialbi.ttf");return s_v;}

◆ font_ROOT_82()

const std::string& tools::sg::font_ROOT_82 ( )
inline

Definition at line 242 of file strings.

242 {static const std::string s_v("cour.ttf");return s_v;}

◆ font_ROOT_92()

const std::string& tools::sg::font_ROOT_92 ( )
inline

Definition at line 243 of file strings.

243 {static const std::string s_v("couri.ttf");return s_v;}

◆ font_STIX2Text_Regular_otf()

const std::string& tools::sg::font_STIX2Text_Regular_otf ( )
inline

Definition at line 214 of file strings.

214 {static const std::string s_v("STIX2Text-Regular.otf");return s_v;}

◆ get_data()

const std::string* tools::sg::get_data ( const std::vector< std::string > &  a_v)
inline

Definition at line 191 of file mf.

191  {
192  return vec_data(a_v);
193 }

◆ get_event_xy()

bool tools::sg::get_event_xy ( const sg::event a_event,
int &  a_x,
int &  a_y 
)
inline

Definition at line 434 of file event.

434  {
435  typedef sg::event evt_t;
436  typedef sg::mouse_up_event up_evt_t;
437  typedef sg::mouse_down_event dn_evt_t;
438  if(const dn_evt_t* devt = event_cast<evt_t,dn_evt_t>(a_event)) {
439  a_x = devt->x();
440  a_y = devt->y();
441  return true;
442 
443  } else if(const up_evt_t* uevt = event_cast<evt_t,up_evt_t>(a_event)) {
444  a_x = uevt->x();
445  a_y = uevt->y();
446  return true;
447 
448  }
449  a_x = 0;
450  a_y = 0;
451  return false;
452 }

◆ gl_clear_errors()

void tools::sg::gl_clear_errors ( )
inline

Definition at line 18 of file gl.

18  {
19  GLenum glerror = ::glGetError();
20  while(glerror!=GL_NO_ERROR) {
21  glerror = ::glGetError();
22  }
23 }

◆ gl_dump_if_errors()

bool tools::sg::gl_dump_if_errors ( std::ostream &  a_out,
const std::string &  a_head 
)
inline

Definition at line 25 of file gl.

25  {
26  bool retval = false;
27  GLenum glerror = ::glGetError();
28  if(glerror!=GL_NO_ERROR) {
29  a_out << a_head
30  << " we have gl errors :"
31  << std::endl;
32  retval = true;
33  }
34  while(glerror!=GL_NO_ERROR) {
35  //#define GL_NO_ERROR 0
36  //#define GL_INVALID_ENUM 0x0500
37  //#define GL_INVALID_VALUE 0x0501
38  //#define GL_INVALID_OPERATION 0x0502
39  //#define GL_STACK_OVERFLOW 0x0503
40  //#define GL_STACK_UNDERFLOW 0x0504
41  //#define GL_OUT_OF_MEMORY 0x0505
42 
43  //#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
44 
45  a_out << "0x" << std::hex << glerror << std::endl;
46 
47  glerror = ::glGetError();
48  }
49  return retval;
50 }

◆ gl_dump_infos()

void tools::sg::gl_dump_infos ( std::ostream &  a_out)
inline

Definition at line 52 of file gl.

52  {
53  std::string gl_version;
54  {const char* _sv = (const char*)::glGetString(GL_VERSION);
55  if(_sv) gl_version = _sv;}
56 
57  std::string gl_vendor;
58  {const char* _sv = (const char*)::glGetString(GL_VENDOR);
59  if(_sv) gl_vendor = _sv;}
60 
61  std::string gl_renderer;
62  {const char* _sv = (const char*)::glGetString(GL_RENDERER);
63  if(_sv) gl_renderer = _sv;}
64 
65  std::string gl_extensions;
66  {const char* _sv = (const char*)::glGetString(GL_EXTENSIONS);
67  if(_sv) gl_extensions = _sv;}
68 
69  GLint gl_texture_size;
70  ::glGetIntegerv(GL_MAX_TEXTURE_SIZE, &gl_texture_size);
71 
72  //GLint gl_buffer_size;
73  //::glGetIntegerv(GL_BUFFER_SIZE, &gl_buffer_size);
74 
75  a_out << "tools::sg::gl::dump_infos :" << std::endl;
76  a_out << " GL_VERSION " << gl_version << std::endl;
77  a_out << " GL_VENDOR " << gl_vendor << std::endl;
78  a_out << " GL_RENDERER " << gl_renderer << std::endl;
79  a_out << " GL_EXTENSIONS " << gl_extensions << std::endl;
80  a_out << " GL_MAX_TEXTURE_SIZE " << gl_texture_size << std::endl;
81  //a_out << " GL_BUFFER_SIZE " << gl_buffer_size << std::endl;
82 }

◆ gl_tex_img()

bool tools::sg::gl_tex_img ( std::ostream &  a_out,
const tools::img_byte a_img 
)
inline

Definition at line 84 of file gl.

84  {
85  if(a_img.bpp()==1) {
86  //to pass eiffel-tower.png
87 #if defined(ANDROID) || TARGET_OS_IPHONE
88  tools::img_byte res;
89  if(!a_img.bw2x(3,res)) {
90  a_out << "tools::sg::gl::tex_img : tools::img.bw2x() failed." << std::endl;
91  return false;
92  }
93  ::glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,res.width(),res.height(),0,GL_RGB,GL_UNSIGNED_BYTE,res.buffer());
94 #else
95  ::glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,a_img.width(),a_img.height(),0,GL_LUMINANCE,GL_UNSIGNED_BYTE,a_img.buffer());
96 #endif
97  } else if(a_img.bpp()==3) {
98  ::glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,a_img.width(),a_img.height(),0,GL_RGB,GL_UNSIGNED_BYTE,a_img.buffer());
99  } else if(a_img.bpp()==4) {
100  ::glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,a_img.width(),a_img.height(),0,GL_RGBA,GL_UNSIGNED_BYTE,a_img.buffer());
101  } else {
102  a_out << "tools::sg::gl::tex_img : img.bpp() " << a_img.bpp() << " not treated." << std::endl;
103  return false;
104  }
105  return true;
106 }

◆ hatching_policy_recsList()

const hatching_policy_rec* tools::sg::hatching_policy_recsList ( unsigned int &  a_num)
inline

Definition at line 212 of file senum.

212  {
213  static const hatching_policy_rec list[] = { //read only static, then ok.
214  {"none", hatching_none},
215  {"right", hatching_right},
216  {"left", hatching_left},
217  {"left_and_right", hatching_left_and_right}
218  };
219  a_num = sizeof(list)/sizeof(list[0]);
220  return list;
221 }

◆ hjust_recs()

const hjust_rec* tools::sg::hjust_recs ( unsigned int &  a_num)
inline

Definition at line 17 of file senum.

17  {
18  static const hjust_rec list[] = { //read only static, then ok.
19  {"left", left},
20  {"center", center},
21  {"right", right}
22  };
23  a_num = sizeof(list)/sizeof(list[0]);
24  return list;
25 }

◆ infos_modeling_ROOT()

const std::string& tools::sg::infos_modeling_ROOT ( )
inline

Definition at line 31 of file strings.

31  {
32  static const std::string s_v("ROOT");
33  return s_v;
34 }

◆ key_shift()

key_code tools::sg::key_shift ( )
inline

Definition at line 12 of file keys.

12 {return 0x01000020;} //same as in Qt qnamespace.h.

◆ light_model_base_color()

const std::string& tools::sg::light_model_base_color ( )
inline

Definition at line 174 of file strings.

174  {
175  static const std::string s_v("base_color");
176  return s_v;
177 }

◆ light_model_phong()

const std::string& tools::sg::light_model_phong ( )
inline

Definition at line 178 of file strings.

178  {
179  static const std::string s_v("phong");
180  return s_v;
181 }

◆ marker_style_recs()

const marker_style_rec* tools::sg::marker_style_recs ( unsigned int &  a_num)
inline

Definition at line 79 of file senum.

79  {
80  static const marker_style_rec list[] = { //read only static, then ok.
81  {"dot", marker_dot},
82  {"plus", marker_plus},
83  {"asterisk", marker_asterisk},
84  {"cross", marker_cross},
85  {"star", marker_star},
86  {"circle_line", marker_circle_line},
87  {"circle_filled", marker_circle_filled},
88  {"triangle_up_line", marker_triangle_up_line},
89  {"triangle_up_filled", marker_triangle_up_filled},
90  {"triangle_down_line", marker_triangle_down_line},
91  {"triangle_down_filled",marker_triangle_down_filled},
92  {"david_star_line", marker_david_star_line},
93  {"david_star_filled", marker_david_star_filled},
94  {"swiss_cross_line", marker_swiss_cross_line},
95  {"swiss_cross_filled", marker_swiss_cross_filled},
96  {"diamond_line", marker_diamond_line},
97  {"diamond_filled", marker_diamond_filled},
98  {"square_line", marker_square_line},
99  {"square_filled", marker_square_filled},
100  {"penta_star_line", marker_penta_star_line},
101  {"penta_star_filled", marker_penta_star_filled},
102  {"minus", marker_minus}
103  };
104  a_num = sizeof(list)/sizeof(list[0]);
105  return list;
106 }

◆ modeling_arrow()

const std::string& tools::sg::modeling_arrow ( )
inline

EsbRootView : /////////////////////////////////////////////.

Definition at line 146 of file strings.

146  {
147  static const std::string s_v("arrow");
148  return s_v;
149 }

◆ modeling_bar_chart()

const std::string& tools::sg::modeling_bar_chart ( )
inline

Definition at line 105 of file strings.

105  {
106  static const std::string s_v("bar_chart");
107  return s_v;
108 }

◆ modeling_boxes()

const std::string& tools::sg::modeling_boxes ( )
inline

Definition at line 64 of file strings.

64  {
65  static const std::string s_v("boxes");
66  return s_v;
67 }

◆ modeling_cone()

const std::string& tools::sg::modeling_cone ( )
inline

Definition at line 154 of file strings.

154  { //used in EsbRootView.
155  static const std::string s_v("cone");
156  return s_v;
157 }

◆ modeling_cone_detector()

const std::string& tools::sg::modeling_cone_detector ( )
inline

Definition at line 158 of file strings.

158  { //used in EsbRootView.
159  static const std::string s_v("cone_detector");
160  return s_v;
161 }

◆ modeling_cube()

const std::string& tools::sg::modeling_cube ( )
inline

Definition at line 150 of file strings.

150  {
151  static const std::string s_v("cube");
152  return s_v;
153 }

◆ modeling_curve()

const std::string& tools::sg::modeling_curve ( )
inline

Definition at line 97 of file strings.

97  {
98  static const std::string s_v("curve");
99  return s_v;
100 }

◆ modeling_detector()

const std::string& tools::sg::modeling_detector ( )
inline

Definition at line 162 of file strings.

162  { //used in EsbRootView.
163  static const std::string s_v("detector");
164  return s_v;
165 }

◆ modeling_filled_curve()

const std::string& tools::sg::modeling_filled_curve ( )
inline

Definition at line 101 of file strings.

101  {
102  static const std::string s_v("filled_curve");
103  return s_v;
104 }

◆ modeling_firework()

const std::string& tools::sg::modeling_firework ( )
inline

Definition at line 166 of file strings.

166  { //used in EsbRootView.
167  static const std::string s_v("firework");
168  return s_v;
169 }

◆ modeling_I()

const std::string& tools::sg::modeling_I ( )
inline

Definition at line 129 of file strings.

129  {
130  static const std::string s_v("I");
131  return s_v;
132 }

◆ modeling_lines()

const std::string& tools::sg::modeling_lines ( )
inline

Definition at line 73 of file strings.

73  {
74  static const std::string s_v("lines");
75  return s_v;
76 }

◆ modeling_markers()

const std::string& tools::sg::modeling_markers ( )
inline

Definition at line 137 of file strings.

137  { //used in sg::plotter.
138  static const std::string s_v("markers");
139  return s_v;
140 }

◆ modeling_none()

const std::string& tools::sg::modeling_none ( )
inline

Definition at line 125 of file strings.

125  {
126  static const std::string s_v("none");
127  return s_v;
128 }

◆ modeling_plus()

const std::string& tools::sg::modeling_plus ( )
inline

Definition at line 133 of file strings.

133  {
134  static const std::string s_v("plus");
135  return s_v;
136 }

◆ modeling_points()

const std::string& tools::sg::modeling_points ( )
inline

Definition at line 81 of file strings.

81  {
82  static const std::string s_v("points");
83  return s_v;
84 }

◆ modeling_polygon()

const std::string& tools::sg::modeling_polygon ( )
inline

Definition at line 121 of file strings.

121  {
122  static const std::string s_v("polygon");
123  return s_v;
124 }

◆ modeling_reduced_wire_frame()

const std::string& tools::sg::modeling_reduced_wire_frame ( )
inline

Definition at line 117 of file strings.

117  {
118  static const std::string s_v("reduced_wire_frame");
119  return s_v;
120 }

◆ modeling_segments()

const std::string& tools::sg::modeling_segments ( )
inline

Definition at line 77 of file strings.

77  {
78  static const std::string s_v("segments");
79  return s_v;
80 }

◆ modeling_solid()

const std::string& tools::sg::modeling_solid ( )
inline

Definition at line 109 of file strings.

109  {
110  static const std::string s_v("solid");
111  return s_v;
112 }

◆ modeling_texts()

const std::string& tools::sg::modeling_texts ( )
inline

Definition at line 93 of file strings.

93  {
94  static const std::string s_v("texts");
95  return s_v;
96 }

◆ modeling_top_lines()

const std::string& tools::sg::modeling_top_lines ( )
inline

Definition at line 85 of file strings.

85  {
86  static const std::string s_v("top_lines");
87  return s_v;
88 }

◆ modeling_top_lines_boxes()

const std::string& tools::sg::modeling_top_lines_boxes ( )
inline

Definition at line 89 of file strings.

89  {
90  static const std::string s_v("top_lines_boxes");
91  return s_v;
92 }

◆ modeling_wire_boxes()

const std::string& tools::sg::modeling_wire_boxes ( )
inline

Definition at line 69 of file strings.

69  {
70  static const std::string s_v("wire_boxes");
71  return s_v;
72 }

◆ modeling_wire_frame()

const std::string& tools::sg::modeling_wire_frame ( )
inline

Definition at line 113 of file strings.

113  {
114  static const std::string s_v("wire_frame");
115  return s_v;
116 }

◆ nodekit_pick()

void tools::sg::nodekit_pick ( pick_action a_action,
node a_sg,
node a_node 
)
inline

Definition at line 13 of file nodekit.

13  {
14  if(a_action.stop_at_first()){
15  a_sg.pick(a_action);
16  if(a_action.done()) {
17  a_action.set_node(a_node);
18  a_action.save_state(a_action.state());
19  }
20  } else {
21  // have a local pick_action to override node in the found pick list.
22  pick_action action(a_action);
23  a_sg.pick(action);
24  typedef pick_action::pick_t pick_t;
25  const std::vector<pick_t>& pks = action.picks();
26  std::vector<pick_t>::const_iterator it;
27  for(it=pks.begin();it!=pks.end();++it) {
28  a_action.add_pick(*a_node,(*it).zs(),(*it).ws(),(*it).state());
29  }
30  }
31 }

◆ operator<<()

std::ostream& tools::sg::operator<< ( std::ostream &  a_out,
const std::vector< std::string > &   
)
inline

Definition at line 181 of file mf.

181  {
182  //for mf_vec::dump.
183  return a_out;
184 }

◆ painting_policy_recsList()

const painting_policy_rec* tools::sg::painting_policy_recsList ( unsigned int &  a_num)
inline

Definition at line 169 of file senum.

169  {
170  static const painting_policy_rec list[] = { //read only static, then ok.
171  {"uniform", painting_uniform},
172  {"by_value", painting_by_value},
173  {"by_level", painting_by_level},
174  {"grey_scale", painting_grey_scale},
175  {"violet_to_red",painting_violet_to_red},
176  {"grey_scale_inverse",painting_grey_scale_inverse}
177  };
178  a_num = sizeof(list)/sizeof(list[0]);
179  return list;
180 }

◆ projection_type_recsList()

const projection_type_rec* tools::sg::projection_type_recsList ( unsigned int &  a_num)
inline

Definition at line 244 of file senum.

244  {
245  static const projection_type_rec list[] = { //read only static, then ok.
246  {"none", projection_none},
247  {"rz", projection_rz},
248  {"phiz", projection_phiz},
249  {"zr", projection_zr},
250  {"zphi", projection_zphi}
251  };
252  a_num = sizeof(list)/sizeof(list[0]);
253  return list;
254 }

◆ remove_holders() [1/2]

template<class T >
void tools::sg::remove_holders ( std::vector< node * > &  a_vec)
inline

Definition at line 136 of file holder.

136  {
137  typedef holder<T> h_t;
138 
139  std::vector<node*>::iterator it;
140  for(it=a_vec.begin();it!=a_vec.end();) {
141  if(h_t* h = cast_holder<T>(*(*it))){
142  it = a_vec.erase(it);
143  delete h;
144  continue;
145  }
146 
147  ++it;
148  }
149 }

◆ remove_holders() [2/2]

template<class T >
void tools::sg::remove_holders ( std::vector< node * > &  a_vec,
const std::string &  a_name 
)
inline

Definition at line 152 of file holder.

152  {
153  typedef holder<T> h_t;
154 
155  std::vector<node*>::iterator it;
156  for(it=a_vec.begin();it!=a_vec.end();) {
157  if(h_t* h = cast_holder<T>(*(*it))){
158  if(h->name()==a_name) {
159  it = a_vec.erase(it);
160  delete h;
161  continue;
162  }
163  }
164 
165  ++it;
166  }
167 }

◆ s2format()

bool tools::sg::s2format ( const std::string &  a_format,
int &  a_gl2ps_format 
)
inline

Definition at line 644 of file gl2ps_action.

644  {
645  if(a_format=="gl2ps_eps") {a_gl2ps_format = TOOLS_GL2PS_EPS;return true;}
646  if(a_format=="gl2ps_ps") {a_gl2ps_format = TOOLS_GL2PS_PS;return true;}
647  if(a_format=="gl2ps_pdf") {a_gl2ps_format = TOOLS_GL2PS_PDF;return true;}
648  if(a_format=="gl2ps_svg") {a_gl2ps_format = TOOLS_GL2PS_SVG;return true;}
649  if(a_format=="gl2ps_tex") {a_gl2ps_format = TOOLS_GL2PS_TEX;return true;}
650  if(a_format=="gl2ps_pgf") {a_gl2ps_format = TOOLS_GL2PS_PGF;return true;}
651  return false;
652 }

◆ s_anim_mode_0()

const std::string& tools::sg::s_anim_mode_0 ( )
inline

Definition at line 55 of file strings.

55 {static const std::string s_v("anim_mode_0");return s_v;}

◆ s_anim_mode_1()

const std::string& tools::sg::s_anim_mode_1 ( )
inline

Definition at line 56 of file strings.

56 {static const std::string s_v("anim_mode_1");return s_v;}

◆ s_anim_mode_2()

const std::string& tools::sg::s_anim_mode_2 ( )
inline

Definition at line 57 of file strings.

57 {static const std::string s_v("anim_mode_2");return s_v;}

◆ s_anim_mode_3()

const std::string& tools::sg::s_anim_mode_3 ( )
inline

Definition at line 58 of file strings.

58 {static const std::string s_v("anim_mode_3");return s_v;}

◆ s_anim_mode_4()

const std::string& tools::sg::s_anim_mode_4 ( )
inline

Definition at line 59 of file strings.

59 {static const std::string s_v("anim_mode_4");return s_v;}

◆ s_font_filled()

const std::string& tools::sg::s_font_filled ( )
inline

Definition at line 52 of file strings.

52 {static const std::string s_v("font_filled");return s_v;}

◆ s_font_outline()

const std::string& tools::sg::s_font_outline ( )
inline

Definition at line 51 of file strings.

51 {static const std::string s_v("font_outline");return s_v;}

◆ s_font_pixmap()

const std::string& tools::sg::s_font_pixmap ( )
inline

Definition at line 53 of file strings.

53 {static const std::string s_v("font_pixmap");return s_v;}

◆ s_tools_sg_fit2plot()

const std::string& tools::sg::s_tools_sg_fit2plot ( )
inline

Definition at line 162 of file plottables.

162  {
163  static const std::string s_v("tools::sg::fit2plot");
164  return s_v;
165 }

◆ sarea_style() [1/2]

const char* tools::sg::sarea_style ( area_style  a_v)
inline

Definition at line 159 of file senum.

159  {
160  unsigned int number;
161  const area_style_rec* list = area_style_recsList(number);
162  for(unsigned int count=0;count<number;count++) {
163  if(a_v==list[count].value) return list[count].string;
164  }
165  return 0;
166 }

◆ sarea_style() [2/2]

bool tools::sg::sarea_style ( const std::string &  a_s,
area_style a_v 
)
inline

Definition at line 147 of file senum.

147  {
148  unsigned int number;
149  const area_style_rec* list = area_style_recsList(number);
150  for(unsigned int count=0;count<number;count++) {
151  if(a_s==list[count].string) {
152  a_v = list[count].value;
153  return true;
154  }
155  }
156  a_v = area_solid;
157  return false;
158 }

◆ set_from_vec()

bool tools::sg::set_from_vec ( std::vector< std::string > &  ,
const std::vector< std::string > &   
)
inline

Definition at line 186 of file mf.

186  {
187  //for mf_vec::read(io::irbuf&)
188  return false;
189 }

◆ set_plotter_camera() [1/2]

void tools::sg::set_plotter_camera ( float  a_XSIZ,
float  a_YSIZ,
float  a_ZSIZ,
plotter a_plotter,
ortho a_camera,
unsigned int  a_ww,
unsigned int  a_wh 
)
inline

Definition at line 13 of file set_plotter_camera.

14  {
15  if(!a_ww || !a_wh) return;
16 
17  a_plotter.width.value(a_XSIZ);
18  a_plotter.height.value(a_YSIZ);
19  a_plotter.depth.value(a_ZSIZ);
20 
21  enum plotter_viewport_mapping {
22  pvp_adjust_viewport,
23  pvp_leave_alone
24  };
25 
26  plotter_viewport_mapping pvp = pvp_adjust_viewport;
27  //plotter_viewport_mapping pvp = pvp_leave_alone;
28 
29  typedef plotter::shape_type st_t;
30  st_t plotter_shape = plotter::xy;
31 
32  float aspect = float(a_ww)/float(a_wh);
33 
34  {float XSIZ = a_plotter.width.value();
35  float YSIZ = a_plotter.height.value();
36  if((plotter_shape==plotter::xy) &&
37  (pvp==pvp_adjust_viewport)) {
38  // Adjust the plotter XSIZ and YSIZ so that YSIZ matches viewport height
39  // and plotter XSIZ matches viewport width.
40  // It it the CERN-ROOT and osc-plot logic.
41  if(aspect>=1) { //w>h
42  // camera must match in height YSIZ. Adjust XSIZ.
43  a_plotter.width.value(YSIZ * aspect);
44  } else {
45  // camera must match in width XSIZ. Adjust YSIZ.
46  a_plotter.height.value(XSIZ / aspect);
47  }
48  }}
49 
50  {float camera_znear = 0;
51  float camera_zfar = 0;
52  float camera_z_pos = 0;
53  // if camera ortho :
54  float camera_height = 0;
55 
56  float XSIZ = a_plotter.width.value();
57  float YSIZ = a_plotter.height.value();
58  float z = 4 * a_plotter.depth.value();
59  camera_z_pos = z;
60  camera_znear = 0.01F*z;
61  camera_zfar = 100*z;
62  //cam ortho :
63  if(plotter_shape==plotter::xyz) {
64  camera_height = YSIZ;
65  } else {
66  if(pvp==pvp_leave_alone) {
67  // Adjust camera so that plotter XSIZ/YSIZ be not distorded.
68  // If viewport aspect ratio > plotter aspect ratio
69  // the plotter YSIZ matches the viewport height. If not
70  // it is the plotter XSIZ that will match the viewport width.
71  // It is the PAW logic for one region.
72  float plotterAspect = XSIZ/YSIZ;
73  if(aspect<plotterAspect) {
74  camera_height = XSIZ / aspect;
75  } else {
76  camera_height = YSIZ;
77  }
78  } else if(pvp==pvp_adjust_viewport) {
79  camera_height = YSIZ;
80  }
81  }
82 
83  a_camera.height.value(camera_height);
84  a_camera.znear.value(camera_znear);
85  a_camera.zfar.value(camera_zfar);
86 
87  a_camera.position.value(vec3f(0,0,camera_z_pos));
88  a_camera.orientation.value(rotf(vec3f(0,0,1),0));}
89 }

◆ set_plotter_camera() [2/2]

void tools::sg::set_plotter_camera ( plotter a_plotter,
ortho a_camera,
unsigned int  a_ww,
unsigned int  a_wh 
)
inline

Definition at line 91 of file set_plotter_camera.

91  {
92  //PAW logic :
93  float xfac = 1.0F/20.0F; //0.05
94  float yfac = 1.0F/20.0F; //0.05
95  float XSIZ = 20 * xfac; //1 //page width
96  float YSIZ = 20 * yfac; //1 //page height
97  float zfac = 1.0F/20.0F; //0.05
98  float ZSIZ = 20 * zfac; //1 //page depth
99  set_plotter_camera(XSIZ,YSIZ,ZSIZ,a_plotter,a_camera,a_ww,a_wh);
100 }

◆ shatching_policy() [1/2]

bool tools::sg::shatching_policy ( const std::string &  a_s,
hatching_policy a_v 
)
inline

Definition at line 222 of file senum.

222  {
223  unsigned int number;
224  const hatching_policy_rec* list = hatching_policy_recsList(number);
225  for(unsigned int count=0;count<number;count++) {
226  if(a_s==list[count].string) {
227  a_v = list[count].value;
228  return true;
229  }
230  }
231  a_v = hatching_none;
232  return false;
233 }

◆ shatching_policy() [2/2]

const char* tools::sg::shatching_policy ( hatching_policy  a_v)
inline

Definition at line 234 of file senum.

234  {
235  unsigned int number;
236  const hatching_policy_rec* list = hatching_policy_recsList(number);
237  for(unsigned int count=0;count<number;count++) {
238  if(a_v==list[count].value) return list[count].string;
239  }
240  return 0;
241 }

◆ shjust() [1/2]

bool tools::sg::shjust ( const std::string &  a_s,
hjust a_v 
)
inline

Definition at line 26 of file senum.

26  {
27  unsigned int number;
28  const hjust_rec* list = hjust_recs(number);
29  for(unsigned int count=0;count<number;count++) {
30  if(a_s==list[count].string) {
31  a_v = list[count].value;
32  return true;
33  }
34  }
35  a_v = left;
36  return false;
37 }

◆ shjust() [2/2]

const char* tools::sg::shjust ( hjust  a_v)
inline

Definition at line 38 of file senum.

38  {
39  unsigned int number;
40  const hjust_rec* list = hjust_recs(number);
41  for(unsigned int count=0;count<number;count++) {
42  if(a_v==list[count].value) return list[count].string;
43  }
44  return 0;
45 }

◆ sline_pattern()

bool tools::sg::sline_pattern ( const std::string &  a_s,
lpat aPattern 
)
inline

Definition at line 276 of file senum.

276  {
277  if(a_s=="solid") {
278  aPattern = line_solid;
279  } else if(a_s=="dashed") {
280  aPattern = line_dashed;
281  } else if(a_s=="dotted") {
282  aPattern = line_dotted;
283  } else if(a_s=="dash_dotted") {
284  aPattern = line_dash_dotted;
285  } else {
286  aPattern = line_solid;
287  return false;
288  }
289  return true;
290 }

◆ smarker_style() [1/2]

bool tools::sg::smarker_style ( const std::string &  a_s,
marker_style a_v 
)
inline

Definition at line 107 of file senum.

107  {
108  unsigned int number;
109  const marker_style_rec* list = marker_style_recs(number);
110  for(unsigned int count=0;count<number;count++) {
111  if(a_s==list[count].string) {
112  a_v = list[count].value;
113  return true;
114  }
115  }
116  a_v = marker_dot;
117  return false;
118 }

◆ smarker_style() [2/2]

const char* tools::sg::smarker_style ( marker_style  a_v)
inline

Definition at line 119 of file senum.

119  {
120  unsigned int number;
121  const marker_style_rec* list = marker_style_recs(number);
122  for(unsigned int count=0;count<number;count++) {
123  if(a_v==list[count].value) return list[count].string;
124  }
125  return 0;
126 }

◆ smarker_styles()

void tools::sg::smarker_styles ( std::vector< std::string > &  a_v)
inline

Definition at line 127 of file senum.

127  {
128  a_v.clear();
129  unsigned int number;
130  const marker_style_rec* list = marker_style_recs(number);
131  for(unsigned int count=0;count<number;count++) {
132  a_v.push_back(list[count].string);
133  }
134 }

◆ smove_type()

bool tools::sg::smove_type ( const std::string &  a_s,
move_type a_move 
)
inline

Definition at line 295 of file senum.

295  {
296  if(a_s=="move_rotate_right") {a_move = move_rotate_right;return true;}
297  if(a_s=="move_rotate_left") {a_move = move_rotate_left;return true;}
298  if(a_s=="move_rotate_up") {a_move = move_rotate_up;return true;}
299  if(a_s=="move_rotate_down") {a_move = move_rotate_down;return true;}
300  if(a_s=="move_roll_plus") {a_move = move_roll_plus;return true;}
301  if(a_s=="move_roll_minus") {a_move = move_roll_minus;return true;}
302  if(a_s=="move_translate_right") {a_move = move_translate_right;return true;}
303  if(a_s=="move_translate_left") {a_move = move_translate_left;return true;}
304  if(a_s=="move_up") {a_move = move_up;return true;}
305  if(a_s=="move_down") {a_move = move_down;return true;}
306  if(a_s=="move_forward") {a_move = move_forward;return true;}
307  if(a_s=="move_backward") {a_move = move_backward;return true;}
308  if(a_s=="move_zoom_in") {a_move = move_zoom_in;return true;}
309  if(a_s=="move_zoom_out") {a_move = move_zoom_out;return true;}
310  if(a_s=="move_rotate_around_focal_right") {a_move = move_rotate_around_focal_right;return true;}
311  if(a_s=="move_rotate_around_focal_left") {a_move = move_rotate_around_focal_left;return true;}
312  if(a_s=="move_rotate_around_focal_up") {a_move = move_rotate_around_focal_up;return true;}
313  if(a_s=="move_rotate_around_focal_down") {a_move = move_rotate_around_focal_down;return true;}
314  if(a_s=="move_roll_around_focal_plus") {a_move = move_roll_around_focal_plus;return true;}
315  if(a_s=="move_roll_around_focal_minus") {a_move = move_roll_around_focal_minus;return true;}
316  if(a_s=="move_zoom_in_out") {a_move = move_zoom_in_out;return true;}
317  if(a_s=="move_zoom_in_out_rot") {a_move = move_zoom_in_out_rot;return true;}
318  if(a_s=="move_curve") {a_move = move_curve;return true;}
319  a_move = move_rotate_left;
320  return false;
321 }

◆ spainting_policies()

void tools::sg::spainting_policies ( std::vector< std::string > &  a_v)
inline

Definition at line 181 of file senum.

181  {
182  a_v.clear();
183  unsigned int number;
184  const painting_policy_rec* list = painting_policy_recsList(number);
185  for(unsigned int count=0;count<number;count++) {
186  a_v.push_back(list[count].string);
187  }
188 }

◆ spainting_policy() [1/2]

bool tools::sg::spainting_policy ( const std::string &  a_s,
painting_policy a_v 
)
inline

Definition at line 189 of file senum.

189  {
190  unsigned int number;
191  const painting_policy_rec* list = painting_policy_recsList(number);
192  for(unsigned int count=0;count<number;count++) {
193  if(a_s==list[count].string) {
194  a_v = list[count].value;
195  return true;
196  }
197  }
198  a_v = painting_uniform;
199  return false;
200 }

◆ spainting_policy() [2/2]

const char* tools::sg::spainting_policy ( painting_policy  a_v)
inline

Definition at line 201 of file senum.

201  {
202  unsigned int number;
203  const painting_policy_rec* list = painting_policy_recsList(number);
204  for(unsigned int count=0;count<number;count++) {
205  if(a_v==list[count].value) return list[count].string;
206  }
207  return 0;
208 }

◆ sprojection_type() [1/2]

bool tools::sg::sprojection_type ( const std::string &  a_s,
projection_type a_v 
)
inline

Definition at line 255 of file senum.

255  {
256  unsigned int number;
257  const projection_type_rec* list = projection_type_recsList(number);
258  for(unsigned int count=0;count<number;count++) {
259  if(a_s==list[count].string) {
260  a_v = list[count].value;
261  return true;
262  }
263  }
264  a_v = projection_none;
265  return false;
266 }

◆ sprojection_type() [2/2]

const char* tools::sg::sprojection_type ( projection_type  a_v)
inline

Definition at line 267 of file senum.

267  {
268  unsigned int number;
269  const projection_type_rec* list = projection_type_recsList(number);
270  for(unsigned int count=0;count<number;count++) {
271  if(a_v==list[count].value) return list[count].string;
272  }
273  return 0;
274 }

◆ style_from_res() [1/2]

void tools::sg::style_from_res ( const xml::styles a_styles,
const std::string &  a_path,
axis a_axis,
bool  a_verbose 
)
inline

Definition at line 14 of file plotter_style.

14  {
15  {typedef xml::styles::style_t style_t;
16  const style_t* style = a_styles.find_style(a_path);
17  if(style){
18  a_axis.set_from_style(a_styles.out(),*style);
19  } else {
20  if(a_verbose) {
21  a_styles.out() << "tools::sg::style_from_res(axis) :"
22  << " style " << sout(a_path) << " not found."
23  << std::endl;
24  }
25  }}
26 
27  a_styles.res_sg_style<line_style>(a_path+".line_style",a_axis.line_style());
28  a_styles.res_sg_style<line_style>(a_path+".ticks_style",a_axis.ticks_style());
29  a_styles.res_sg_style<text_style>(a_path+".labels_style",a_axis.labels_style());
30  a_styles.res_sg_style<text_style>(a_path+".mag_style",a_axis.mag_style());
31  a_styles.res_sg_style<text_style>(a_path+".title_style",a_axis.title_style());
32 }

◆ style_from_res() [2/2]

void tools::sg::style_from_res ( const xml::styles a_styles,
const std::string &  a_path,
plotter a_plotter,
bool  a_verbose 
)
inline

Definition at line 34 of file plotter_style.

34  {
35  //sg::fields of plotter :
36  {typedef xml::styles::style_t style_t;
37  const style_t* _style = a_styles.find_style(a_path);
38  if(_style){
39  a_plotter.set_from_style(a_styles.out(),*_style);
40  } else {
41  if(a_verbose) {
42  a_styles.out() << "tools::sg::style_from_res :"
43  << " style " << sout(a_path) << " not found."
44  << std::endl;
45  }
46  }}
47 
48  //sg::fields of various xml::styles :
49  a_styles.res_sg_style<style>(a_path+".bins_style.0",a_plotter.bins_style(0));
50  a_styles.res_sg_style<style>(a_path+".errors_style.0",a_plotter.errors_style(0));
51  a_styles.res_sg_style<style>(a_path+".func_style.0",a_plotter.func_style(0));
52  a_styles.res_sg_style<style>(a_path+".points_style.0",a_plotter.points_style(0));
53 
54  a_styles.res_sg_style<style>(a_path+".background_style",a_plotter.background_style());
55  a_styles.res_sg_style<text_style>(a_path+".title_style",a_plotter.title_style());
56  a_styles.res_sg_style<text_style>(a_path+".infos_style",a_plotter.infos_style());
57  a_styles.res_sg_style<text_style>(a_path+".title_box_style",a_plotter.title_box_style());
58  a_styles.res_sg_style<style>(a_path+".inner_frame_style",a_plotter.inner_frame_style());
59  a_styles.res_sg_style<style>(a_path+".grid_style",a_plotter.grid_style());
60  a_styles.res_sg_style<style>(a_path+".wall_style",a_plotter.wall_style());
61 
62  style_from_res(a_styles,a_path+".x_axis",a_plotter.x_axis(),a_verbose);
63  style_from_res(a_styles,a_path+".y_axis",a_plotter.y_axis(),a_verbose);
64  style_from_res(a_styles,a_path+".z_axis",a_plotter.z_axis(),a_verbose);
65  style_from_res(a_styles,a_path+".colormap_axis",a_plotter.colormap_axis(),a_verbose);
66 
67 }

◆ svjust() [1/2]

bool tools::sg::svjust ( const std::string &  a_s,
vjust a_v 
)
inline

Definition at line 57 of file senum.

57  {
58  unsigned int number;
59  const vjust_rec* list = vjust_recs(number);
60  for(unsigned int count=0;count<number;count++) {
61  if(a_s==list[count].string) {
62  a_v = list[count].value;
63  return true;
64  }
65  }
66  a_v = bottom;
67  return false;
68 }

◆ svjust() [2/2]

const char* tools::sg::svjust ( vjust  a_v)
inline

Definition at line 69 of file senum.

69  {
70  unsigned int number;
71  const vjust_rec* list = vjust_recs(number);
72  for(unsigned int count=0;count<number;count++) {
73  if(a_v==list[count].value) return list[count].string;
74  }
75  return 0;
76 }

◆ tick_modeling_hippo()

const std::string& tools::sg::tick_modeling_hippo ( )
inline

Definition at line 19 of file strings.

19  {
20  static const std::string s_v("hippo");
21  return s_v;
22 }

◆ tick_modeling_hplot()

const std::string& tools::sg::tick_modeling_hplot ( )
inline

Definition at line 23 of file strings.

23  {
24  static const std::string s_v("hplot");
25  return s_v;
26 }

◆ tick_modeling_none()

const std::string& tools::sg::tick_modeling_none ( )
inline

Definition at line 15 of file strings.

15  {
16  static const std::string s_v("none");
17  return s_v;
18 }

◆ to_ulong()

bool tools::sg::to_ulong ( const std::string &  a_s,
unsigned long &  a_v 
)
inline

Definition at line 538 of file style_colormap.

538  {
539  a_v = 0L;
540  if(::sscanf(a_s.c_str(),"%lx",&a_v)!=1) {
541  if(::sscanf(a_s.c_str(),"%lu",&a_v)!=1) {
542  a_v = 0L;
543  return false;
544  }
545  }
546  return true;
547 }

◆ TOOLS_FONT_TTF()

tools::sg::TOOLS_FONT_TTF ( roboto_bold  ) const

Definition at line 207 of file strings.

213  {static const std::string s_v("stixgeneral.otf");return s_v;}

◆ vjust_recs()

const vjust_rec* tools::sg::vjust_recs ( unsigned int &  a_num)
inline

Definition at line 48 of file senum.

48  {
49  static const vjust_rec list[] = { //read only static, then ok.
50  {"bottom", bottom},
51  {"middle", middle},
52  {"top", top}
53  };
54  a_num = sizeof(list)/sizeof(list[0]);
55  return list;
56 }
tools::sg::marker_swiss_cross_filled
@ marker_swiss_cross_filled
Definition: enums:32
tools::sg::projection_zr
@ projection_zr
Definition: enums:53
tools::sg::marker_plus
@ marker_plus
Definition: enums:19
tools::sg::vjust_recs
const vjust_rec * vjust_recs(unsigned int &a_num)
Definition: senum:48
tools::sg::move_rotate_around_focal_down
@ move_rotate_around_focal_down
Definition: enums:129
tools::dir::create
bool create(const std::string &a_name)
Definition: dir:53
tools::sg::line_dash_dotted
@ line_dash_dotted
Definition: enums:14
tools::sg::anim_mode_0
@ anim_mode_0
Definition: enums:145
tools::sg::marker_david_star_filled
@ marker_david_star_filled
Definition: enums:30
tools::sg::font_pixmap
@ font_pixmap
Definition: enums:94
tools::sg::projection_phiz
@ projection_phiz
Definition: enums:52
tools::sg::move_roll_minus
@ move_roll_minus
Definition: enums:116
tools::sg::number_real
@ number_real
Definition: enums:162
tools::sg::auto_lut_min_max
@ auto_lut_min_max
Definition: enums:186
TOOLS_GL2PS_PGF
#define TOOLS_GL2PS_PGF
Definition: gl2ps_def.h:39
tools::img< unsigned char >
tools::sg::marker_circle_line
@ marker_circle_line
Definition: enums:23
tools::sg::projection_type_recsList
const projection_type_rec * projection_type_recsList(unsigned int &a_num)
Definition: senum:244
tools::sg::marker_minus
@ marker_minus
Definition: enums:39
tools::sg::arrow_left
@ arrow_left
Definition: enums:100
tools::sg::layout_text_under_image
@ layout_text_under_image
Definition: enums:179
tools::sg::arrow_right
@ arrow_right
Definition: enums:101
TOOLS_GL2PS_EPS
#define TOOLS_GL2PS_EPS
Definition: gl2ps_def.h:35
tools::sg::painting_by_level
@ painting_by_level
Definition: enums:60
tools::sg::line_dotted
@ line_dotted
Definition: enums:13
tools::sg::move_roll_around_focal_minus
@ move_roll_around_focal_minus
Definition: enums:131
tools::sg::anim_mode_2
@ anim_mode_2
Definition: enums:147
tools::sg::auto_lut_mean_rms
@ auto_lut_mean_rms
Definition: enums:187
tools::sg::winding_ccw
@ winding_ccw
Definition: enums:105
tools::sg::projection_none
@ projection_none
Definition: enums:50
tools::sg::marker_triangle_up_filled
@ marker_triangle_up_filled
Definition: enums:26
tools::sg::painting_policy_recsList
const painting_policy_rec * painting_policy_recsList(unsigned int &a_num)
Definition: senum:169
tools::sg::auto_lut_none
@ auto_lut_none
Definition: enums:185
tools::vec_data
const T * vec_data(const std::vector< T > &a_vec)
Definition: vdata:18
tools::sg::painting_by_value
@ painting_by_value
Definition: enums:59
tools::sg::marker_penta_star_filled
@ marker_penta_star_filled
Definition: enums:38
tools::sg::move_rotate_around_focal_left
@ move_rotate_around_focal_left
Definition: enums:127
tools::sg::solid_intersection
@ solid_intersection
Definition: enums:205
tools::sg::marker_triangle_down_line
@ marker_triangle_down_line
Definition: enums:27
tools::sg::move_curve
@ move_curve
Definition: enums:134
tools::sg::marker_cross
@ marker_cross
Definition: enums:21
tools::sg::shade_flat
@ shade_flat
Definition: enums:198
tools::img::bw2x
bool bw2x(unsigned int a_n, img< T > &a_res) const
Definition: img:654
tools::sg::solid_union
@ solid_union
Definition: enums:204
tools::sg::encoding_PAW
const std::string & encoding_PAW()
Definition: strings:42
tools::sg::marker_swiss_cross_line
@ marker_swiss_cross_line
Definition: enums:31
tools::sg::layout_text_at_left_of_image
@ layout_text_at_left_of_image
Definition: enums:180
tools::sg::right
@ right
Definition: enums:76
tools::sg::painting_grey_scale
@ painting_grey_scale
Definition: enums:61
tools::sg::cursor_target
@ cursor_target
Definition: cursor_shape:12
tools::sg::marker_star
@ marker_star
Definition: enums:22
tools::sg::marker_triangle_down_filled
@ marker_triangle_down_filled
Definition: enums:28
tools::sg::marker_dot
@ marker_dot
Definition: enums:18
tools::sg::anim_down
@ anim_down
Definition: enums:141
tools::img::width
unsigned int width() const
Definition: img:214
tools::sg::gsto_gl_vbo
@ gsto_gl_vbo
Definition: enums:174
tools::sg::draw_points
@ draw_points
Definition: enums:191
tools::sg::marker_penta_star_line
@ marker_penta_star_line
Definition: enums:37
tools::sg::move_roll_plus
@ move_roll_plus
Definition: enums:115
tools::sg::move_backward
@ move_backward
Definition: enums:123
tools::sg::top
@ top
Definition: enums:82
tools::sg::number_int
@ number_int
Definition: enums:161
TOOLS_GL2PS_TEX
#define TOOLS_GL2PS_TEX
Definition: gl2ps_def.h:36
tools::sg::hatching_left
@ hatching_left
Definition: enums:69
tools::sg::winding_cw
@ winding_cw
Definition: enums:106
tools::sg::move_translate_right
@ move_translate_right
Definition: enums:118
tools::sg::area_checker
@ area_checker
Definition: enums:45
tools::sg::left
@ left
Definition: enums:74
tools::sg::arrow_down
@ arrow_down
Definition: enums:99
tools::sg::area_edged
@ area_edged
Definition: enums:46
tools::sg::move_zoom_in_out_rot
@ move_zoom_in_out_rot
Definition: enums:133
tools::sg::draw_filled
@ draw_filled
Definition: enums:193
tools::sg::hatching_policy_recsList
const hatching_policy_rec * hatching_policy_recsList(unsigned int &a_num)
Definition: senum:212
tools::sg::latin
@ latin
Definition: enums:86
tools::sg::set_plotter_camera
void set_plotter_camera(plotter &a_plotter, ortho &a_camera, unsigned int a_ww, unsigned int a_wh)
Definition: set_plotter_camera:91
tools::sg::anim_mode_3
@ anim_mode_3
Definition: enums:148
tools::sg::number_ip
@ number_ip
Definition: enums:163
tools::sg::special
@ special
Definition: enums:88
tools::sg::painting_violet_to_red
@ painting_violet_to_red
Definition: enums:62
tools::sg::move_rotate_down
@ move_rotate_down
Definition: enums:114
tools::sg::marker_circle_filled
@ marker_circle_filled
Definition: enums:24
tools::sg::font_outline
@ font_outline
Definition: enums:92
tools::sg::anim_mode_4
@ anim_mode_4
Definition: enums:149
tools::sg::camera_perspective
@ camera_perspective
Definition: enums:169
tools::sg::move_roll_around_focal_plus
@ move_roll_around_focal_plus
Definition: enums:130
tools::sg::marker_square_line
@ marker_square_line
Definition: enums:35
tools::sg::greek
@ greek
Definition: enums:87
tools::sg::move_zoom_in_out
@ move_zoom_in_out
Definition: enums:132
TOOLS_GL2PS_PS
#define TOOLS_GL2PS_PS
Definition: gl2ps_def.h:34
tools::sg::area_hatched
@ area_hatched
Definition: enums:44
tools::sg::cursor_default
@ cursor_default
Definition: cursor_shape:11
tools::sg::bottom
@ bottom
Definition: enums:80
tools::sg::marker_david_star_line
@ marker_david_star_line
Definition: enums:29
tools::sg::middle
@ middle
Definition: enums:81
tools::sg::solid_none
@ solid_none
Definition: enums:203
tools::sg::move_translate_left
@ move_translate_left
Definition: enums:119
tools::sg::camera_ortho
@ camera_ortho
Definition: enums:168
tools::sg::hatching_none
@ hatching_none
Definition: enums:67
tools::sg::key_left
@ key_left
Definition: enums:153
tools::sg::marker_diamond_filled
@ marker_diamond_filled
Definition: enums:34
tools::sg::painting_uniform
@ painting_uniform
Definition: enums:58
tools::sg::key_down
@ key_down
Definition: enums:156
tools::words
void words(const std::string &a_string, const std::string &a_sep, bool a_take_empty, std::vector< std::string > &a_words, bool a_clear=true)
Definition: words:12
tools::sg::hatching_left_and_right
@ hatching_left_and_right
Definition: enums:70
tools::sg::move_forward
@ move_forward
Definition: enums:122
tools::sg::move_up
@ move_up
Definition: enums:120
tools::sg::gsto_memory
@ gsto_memory
Definition: enums:173
tools::sg::move_zoom_out
@ move_zoom_out
Definition: enums:125
tools::sg::area_solid
@ area_solid
Definition: enums:43
tools::sg::line_dashed
@ line_dashed
Definition: enums:12
tools::sg::gsto_gl_list
@ gsto_gl_list
Definition: enums:175
tools::sg::hatching_right
@ hatching_right
Definition: enums:68
tools::sg::number_uint
@ number_uint
Definition: enums:160
tools::sg::marker_style_recs
const marker_style_rec * marker_style_recs(unsigned int &a_num)
Definition: senum:79
tools::sg::line_solid
@ line_solid
Definition: enums:11
TOOLS_GL2PS_PDF
#define TOOLS_GL2PS_PDF
Definition: gl2ps_def.h:37
tools::sg::move_rotate_around_focal_right
@ move_rotate_around_focal_right
Definition: enums:126
tools::sg::move_rotate_left
@ move_rotate_left
Definition: enums:112
tools::sg::anim_mode_1
@ anim_mode_1
Definition: enums:146
tools::sg::arrow_up
@ arrow_up
Definition: enums:98
tools::img::bpp
unsigned int bpp() const
Definition: img:217
tools::sg::marker_triangle_up_line
@ marker_triangle_up_line
Definition: enums:25
tools::sg::move_rotate_right
@ move_rotate_right
Definition: enums:111
tools::sg::projection_zphi
@ projection_zphi
Definition: enums:54
tools::img::height
unsigned int height() const
Definition: img:215
tools::to_pointer
bool to_pointer(const std::string &a_string, void *&a_value)
Definition: pointer:18
tools::sg::area_style_recsList
const area_style_rec * area_style_recsList(unsigned int &a_num)
Definition: senum:137
tools::sg::style_from_res
void style_from_res(const xml::styles &a_styles, const std::string &a_path, plotter &a_plotter, bool a_verbose)
Definition: plotter_style:34
tools::sg::font_hershey
const std::string & font_hershey()
Definition: strings:186
tools::sg::move_rotate_around_focal_up
@ move_rotate_around_focal_up
Definition: enums:128
tools::sg::center
@ center
Definition: enums:75
tools::img::buffer
const T * buffer() const
Definition: img:218
tools::sg::font_filled
@ font_filled
Definition: enums:93
tools::sg::marker_diamond_line
@ marker_diamond_line
Definition: enums:33
tools::sg::shade_smooth
@ shade_smooth
Definition: enums:199
TOOLS_GL2PS_SVG
#define TOOLS_GL2PS_SVG
Definition: gl2ps_def.h:38
tools::sg::number_radec
@ number_radec
Definition: enums:164
tools::sg::to_ulong
bool to_ulong(const std::string &a_s, unsigned long &a_v)
Definition: style_colormap:538
tools::sg::projection_rz
@ projection_rz
Definition: enums:51
tools::sg::marker_asterisk
@ marker_asterisk
Definition: enums:20
tools::sg::move_rotate_up
@ move_rotate_up
Definition: enums:113
tools::sg::draw_lines
@ draw_lines
Definition: enums:192
tools::sg::painting_grey_scale_inverse
@ painting_grey_scale_inverse
Definition: enums:63
tools::sg::marker_square_filled
@ marker_square_filled
Definition: enums:36
tools::sg::hjust_recs
const hjust_rec * hjust_recs(unsigned int &a_num)
Definition: senum:17
tools::sg::anim_left
@ anim_left
Definition: enums:138
tools::sg::anim_up
@ anim_up
Definition: enums:140
tools::sg::key_right
@ key_right
Definition: enums:154
tools::sg::move_down
@ move_down
Definition: enums:121
tools::sg::solid_subtraction
@ solid_subtraction
Definition: enums:206
tools::sg::anim_right
@ anim_right
Definition: enums:139
tools::sg::move_zoom_in
@ move_zoom_in
Definition: enums:124
tools::sg::key_up
@ key_up
Definition: enums:155