Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   Version 1.0.5new_solver
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads
Geom3DPlot Class Reference

Geometry 3D plotter. More...

#include <geom3dplot.hpp>

Public Member Functions

 Geom3DPlot (const Geometry &geom, const ParticleDataBase *pdb)
 Constructor. More...
 
 ~Geom3DPlot ()
 Destructor. More...
 
void set_size (uint32_t width, uint32_t height)
 Set canvas size. More...
 
void set_model_transformation (const Transformation &modeltrans)
 Set modelling transformation. More...
 
Transformation get_model_transformation (void) const
 Get modelling transformation. More...
 
void set_projection_frustum (double xnear, double xfar, double zoom)
 Set camera projection. More...
 
void get_projection_frustum (double &xnear, double &xfar, double &zoom) const
 Get camera projection. More...
 
void set_projection_zoom (double zoom)
 Set camera zoom. More...
 
double get_projection_zoom (void) const
 Get camera zoom. More...
 
void set_view_look_at (const Vec3D &camera, const Vec3D &target, const Vec3D &up)
 Set camera positioning. More...
 
void get_view_look_at (Vec3D &camera, Vec3D &target, Vec3D &up) const
 Get camera positioning. More...
 
void rebuild_model (void)
 Rebuild model. More...
 
void reset_camera_and_rotation (void)
 Reset camera settings and modelling transformation to default. More...
 
void set_surface_triangle_color_range (double min, double max)
 Set surface triangle data ranges. More...
 
void get_surface_triangle_color_range (double &min, double &max) const
 Get surface triangle data ranges. More...
 
void set_surface_triangle_data (const std::vector< double > *data)
 Set surface triangle data for rendering. More...
 
void set_surface_triangle_data_plot (bool enable)
 Set if surface data is to be plotted. More...
 
bool get_surface_triangle_data_plot (void) const
 Get if surface data is plotted. More...
 
void set_particle_div (uint32_t particle_div, uint32_t particle_offset=0)
 Set particle divisor and offset. More...
 
uint32_t get_particle_div (void) const
 Get particle division. More...
 
uint32_t get_particle_offset (void) const
 Get particle offset. More...
 
void set_bbox (bool bbox)
 Set if bounding box is plotted. More...
 
bool get_bbox (void) const
 Get if bounding box is plotted. More...
 
void set_clevel (uint32_t direction, uint32_t level)
 Set cut level for direction a. More...
 
uint32_t get_clevel (uint32_t direction) const
 Get cut level for direction a. More...
 
void set_solid_plot (uint32_t a, bool enable)
 Set if solid a is to be plotted. More...
 
bool get_solid_plot (uint32_t a) const
 Get if solid a is plotted. More...
 
void draw (cairo_t *cairo, class Renderer *r)
 Draw 3D geometry using renderer r. More...
 

Detailed Description

Geometry 3D plotter.

Constructor & Destructor Documentation

◆ Geom3DPlot()

Geom3DPlot::Geom3DPlot ( const Geometry geom,
const ParticleDataBase pdb 
)

Constructor.

◆ ~Geom3DPlot()

Geom3DPlot::~Geom3DPlot ( )

Destructor.

Member Function Documentation

◆ draw()

void Geom3DPlot::draw ( cairo_t *  cairo,
class Renderer r 
)

Draw 3D geometry using renderer r.

◆ get_bbox()

bool Geom3DPlot::get_bbox ( void  ) const

Get if bounding box is plotted.

◆ get_clevel()

uint32_t Geom3DPlot::get_clevel ( uint32_t  direction) const

Get cut level for direction a.

Direction 0 is xmin, direction 1 is xmax, direction 2 is ymin, direction 3 is ymax, direction 4 is zmin and direction 5 is zmax.

◆ get_model_transformation()

Transformation Geom3DPlot::get_model_transformation ( void  ) const

Get modelling transformation.

◆ get_particle_div()

uint32_t Geom3DPlot::get_particle_div ( void  ) const

Get particle division.

◆ get_particle_offset()

uint32_t Geom3DPlot::get_particle_offset ( void  ) const

Get particle offset.

◆ get_projection_frustum()

void Geom3DPlot::get_projection_frustum ( double &  xnear,
double &  xfar,
double &  zoom 
) const

Get camera projection.

◆ get_projection_zoom()

double Geom3DPlot::get_projection_zoom ( void  ) const

Get camera zoom.

◆ get_solid_plot()

bool Geom3DPlot::get_solid_plot ( uint32_t  a) const

Get if solid a is plotted.

Solid number a >= 7.

◆ get_surface_triangle_color_range()

void Geom3DPlot::get_surface_triangle_color_range ( double &  min,
double &  max 
) const

Get surface triangle data ranges.

◆ get_surface_triangle_data_plot()

bool Geom3DPlot::get_surface_triangle_data_plot ( void  ) const

Get if surface data is plotted.

◆ get_view_look_at()

void Geom3DPlot::get_view_look_at ( Vec3D camera,
Vec3D target,
Vec3D up 
) const

Get camera positioning.

◆ rebuild_model()

void Geom3DPlot::rebuild_model ( void  )

Rebuild model.

Needed after changing settings affecting the displayed model.

◆ reset_camera_and_rotation()

void Geom3DPlot::reset_camera_and_rotation ( void  )

Reset camera settings and modelling transformation to default.

◆ set_bbox()

void Geom3DPlot::set_bbox ( bool  bbox)

Set if bounding box is plotted.

◆ set_clevel()

void Geom3DPlot::set_clevel ( uint32_t  direction,
uint32_t  level 
)

Set cut level for direction a.

Direction 0 is xmin, direction 1 is xmax, direction 2 is ymin, direction 3 is ymax, direction 4 is zmin and direction 5 is zmax.

◆ set_model_transformation()

void Geom3DPlot::set_model_transformation ( const Transformation modeltrans)

Set modelling transformation.

◆ set_particle_div()

void Geom3DPlot::set_particle_div ( uint32_t  particle_div,
uint32_t  particle_offset = 0 
)

Set particle divisor and offset.

Set particle_div to zero for no plotting, one for plotting every particle, two for plotting every second particle, three for plotting every third particle, etc. Defaults to

  1. Plotter skips the first particle_offset particles.

◆ set_projection_frustum()

void Geom3DPlot::set_projection_frustum ( double  xnear,
double  xfar,
double  zoom 
)

Set camera projection.

◆ set_projection_zoom()

void Geom3DPlot::set_projection_zoom ( double  zoom)

Set camera zoom.

◆ set_size()

void Geom3DPlot::set_size ( uint32_t  width,
uint32_t  height 
)

Set canvas size.

◆ set_solid_plot()

void Geom3DPlot::set_solid_plot ( uint32_t  a,
bool  enable 
)

Set if solid a is to be plotted.

Solid number a >= 7.

◆ set_surface_triangle_color_range()

void Geom3DPlot::set_surface_triangle_color_range ( double  min,
double  max 
)

Set surface triangle data ranges.

Defaults to automatic scaling.

◆ set_surface_triangle_data()

void Geom3DPlot::set_surface_triangle_data ( const std::vector< double > *  data)

Set surface triangle data for rendering.

◆ set_surface_triangle_data_plot()

void Geom3DPlot::set_surface_triangle_data_plot ( bool  enable)

Set if surface data is to be plotted.

Defaults to false.

◆ set_view_look_at()

void Geom3DPlot::set_view_look_at ( const Vec3D camera,
const Vec3D target,
const Vec3D up 
)

Set camera positioning.


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


Reference manual for Ion Beam Simulator 1.0.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.