scene Class Reference
+ Collaboration diagram for scene:

Public Member Functions

 scene ()
 Empty constructor for the scene. More...
 
void load_model ()
 Method called only once at the beginning (load files ...) More...
 
void draw_scene ()
 Method called at every frame. More...
 
void build_spline_surface (const unsigned int &N_samples)
 Build a full spline surface of with a given sample rate. More...
 
void fill_patch (const unsigned int &index_surface, const cpe::patch4 &p, const unsigned int &N_samples)
 Fill a 4x4 patch by the surface. More...
 
void compute_curve_spline ()
 Compute the curves at the boundary of each patch. More...
 
void update_high_res ()
 Update the surface given with the high sampling ratio. More...
 
void update_low_res ()
 Update the surface given with the low sampling ratio (for interactive edition) More...
 
void picking_grid (const cpe::vec3 &center_ray, const cpe::vec3 &direction_ray)
 Helper function for picking position of the grid. More...
 
void translate_picking (const cpe::vec3 t)
 Translate the selected position of the grid. More...
 
void add_u_back_line ()
 add a u line at the end of the grid More...
 
void add_v_back_line ()
 add a v line at the end of the grid More...
 
void add_u_front_line ()
 add a u line at the front of the grid More...
 
void add_v_front_line ()
 add a v line at the front of the grid More...
 
void erase_u_back_line ()
 suppress a u line at the end of the grid More...
 
void erase_v_back_line ()
 suppress a v line at the end of the grid More...
 
void erase_u_front_line ()
 suppress a u line at the beginning of the grid More...
 
void erase_v_front_line ()
 suppress a v line at the beginning of the grid More...
 
void duplicate_boundary ()
 duplicate each position of the grid at the boundary More...
 
void load_grid ()
 save a grid into file for storage and exchange More...
 
void save_grid () const
 load a grid from a file for storage and exchange More...
 
void set_glwidget (glwidget *p_widget)
 Set the GLWidget pointer. More...
 
cpe::gui_interfacegui_visible_interface ()
 get the gui helper class More...
 

Private Member Functions

void preload_sphere ()
 Init the sphere loading. More...
 
void init_gui_visibility ()
 Init the visibility gui parameters. More...
 
void init_color_table ()
 Init the colortable for the patches. More...
 

Private Attributes

cpe::grid g0
 The control grid for the spline. More...
 
std::vector
< cpe::surface_param_drawable
surf
 The Spline surface. More...
 
std::vector< cpe::vec3color_table
 the color_table of the patches More...
 
std::vector< std::vector
< cpe::vec3 > > 
curve_spline
 The curve of the boundaries. More...
 
cpe::mesh sphere
 storage for the sphere (to draw the grid position) More...
 
std::vector< cpe::vec3sphere_normal
 storage for the sphere normal (to draw the grid position) More...
 
cpe::picking_data pick
 storage for picking parameters More...
 
std::string filename_grid
 name of the stored grid More...
 
unsigned int N_sample_high_res
 The sampling for the high resolution surface. More...
 
unsigned int N_sample_low_res
 The sampling for the low resolution surface. More...
 
cpe::gui_interface gui_visible
 Storage class for visibility modified in the gui. More...
 
unsigned int counter_update
 counter to update the surface at some time More...
 

Constructor & Destructor Documentation

scene::scene ( )

Empty constructor for the scene.

Member Function Documentation

void scene::add_u_back_line ( )

add a u line at the end of the grid

Referenced by Window::add_u_back_button_clicked().

void scene::add_u_front_line ( )

add a u line at the front of the grid

Referenced by Window::add_u_front_button_clicked().

void scene::add_v_back_line ( )

add a v line at the end of the grid

Referenced by Window::add_v_back_button_clicked().

void scene::add_v_front_line ( )

add a v line at the front of the grid

Referenced by Window::add_v_front_button_clicked().

void scene::build_spline_surface ( const unsigned int &  N_samples)

Build a full spline surface of with a given sample rate.

void scene::compute_curve_spline ( )

Compute the curves at the boundary of each patch.

References cpe::patch4::get_x(), cpe::patch4::get_y(), and cpe::patch4::get_z().

+ Here is the call graph for this function:

void scene::draw_scene ( )

Method called at every frame.

References cpe::opengl_drawer::draw(), cpe::opengl_drawer::draw_curve(), cpe::exception_cpe::info(), cpe::vec3::pointer(), cpe::vec3::x(), cpe::vec3::y(), and cpe::vec3::z().

Referenced by glwidget::paintGL().

+ Here is the call graph for this function:

void scene::duplicate_boundary ( )

duplicate each position of the grid at the boundary

Referenced by Window::duplicateboundary_button_clicked().

void scene::erase_u_back_line ( )

suppress a u line at the end of the grid

Referenced by Window::erase_u_back_button_clicked().

void scene::erase_u_front_line ( )

suppress a u line at the beginning of the grid

Referenced by Window::erase_u_front_button_clicked().

void scene::erase_v_back_line ( )

suppress a v line at the end of the grid

Referenced by Window::erase_v_back_button_clicked().

void scene::erase_v_front_line ( )

suppress a v line at the beginning of the grid

Referenced by Window::erase_v_front_button_clicked().

void scene::fill_patch ( const unsigned int &  index_surface,
const cpe::patch4 p,
const unsigned int &  N_samples 
)

Fill a 4x4 patch by the surface.

References cpe::vec3::cross(), cpe::evaluator_spline::diff_u(), cpe::evaluator_spline::diff_v(), cpe::patch4::get_x(), cpe::patch4::get_y(), cpe::patch4::get_z(), and cpe::vec3::norm().

+ Here is the call graph for this function:

void scene::init_color_table ( )
private

Init the colortable for the patches.

void scene::init_gui_visibility ( )
private

Init the visibility gui parameters.

void scene::load_grid ( )

save a grid into file for storage and exchange

References cpe::grid::read().

Referenced by Window::load_grid_button_clicked().

+ Here is the call graph for this function:

void scene::load_model ( )

Method called only once at the beginning (load files ...)

References cpe::exception_cpe::info().

Referenced by glwidget::initializeGL().

+ Here is the call graph for this function:

void scene::picking_grid ( const cpe::vec3 center_ray,
const cpe::vec3 direction_ray 
)

Helper function for picking position of the grid.

References cpe::intersection_helper::sphere_ray().

Referenced by glwidget::mousePressEvent().

+ Here is the call graph for this function:

void scene::preload_sphere ( )
private

Init the sphere loading.

void scene::save_grid ( ) const

load a grid from a file for storage and exchange

Referenced by Window::save_grid_button_clicked().

void scene::set_glwidget ( glwidget p_widget)

Set the GLWidget pointer.

void scene::translate_picking ( const cpe::vec3  t)

Translate the selected position of the grid.

Referenced by glwidget::mouseMoveEvent().

void scene::update_high_res ( )

Update the surface given with the high sampling ratio.

Referenced by glwidget::mouseReleaseEvent().

void scene::update_low_res ( )

Update the surface given with the low sampling ratio (for interactive edition)

Member Data Documentation

std::vector<cpe::vec3> scene::color_table
private

the color_table of the patches

unsigned int scene::counter_update
private

counter to update the surface at some time

std::vector<std::vector<cpe::vec3> > scene::curve_spline
private

The curve of the boundaries.

std::string scene::filename_grid
private

name of the stored grid

cpe::grid scene::g0
private

The control grid for the spline.

cpe::gui_interface scene::gui_visible
private

Storage class for visibility modified in the gui.

unsigned int scene::N_sample_high_res
private

The sampling for the high resolution surface.

unsigned int scene::N_sample_low_res
private

The sampling for the low resolution surface.

cpe::picking_data scene::pick
private

storage for picking parameters

cpe::mesh scene::sphere
private

storage for the sphere (to draw the grid position)

std::vector<cpe::vec3> scene::sphere_normal
private

storage for the sphere normal (to draw the grid position)

std::vector<cpe::surface_param_drawable> scene::surf
private

The Spline surface.


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