atomes 1.3.1
atomes: an atomic scale modeling tool box
Loading...
Searching...
No Matches
w_advance.c File Reference

Functions to create the OpenGL parameters edition window. More...

#include "global.h"
#include "interface.h"
#include "preferences.h"
#include "glview.h"
#include "glwindow.h"
Include dependency graph for w_advance.c:

Go to the source code of this file.

Functions

void set_quality (int q, glwin *view)
 set OpenGL quality
GtkWidget * adv_box (GtkWidget *box, char *lab, int vspace, int size, float xalign)
 create a box with markup label
GtkWidget * bdv_box (GtkWidget *box, char *lab, int size, float xalign)
 create a box with markup label
G_MODULE_EXPORT void toggled_delete_ligth (GtkToggleButton *but, gpointer data)
 toggle delete light callback GTK3
G_MODULE_EXPORT void run_light_source_to_be_removed (GtkDialog *win, gint response_id, gpointer data)
 remove light source(s) - running the dialog
int * light_source_to_be_removed (int val, Lightning *ogl_lightning, opengl_edition *ogl_edit)
 remove light source(s) - creating the dialog
void print_light_source (Light source, int i)
 print light source data
Lightinit_light_source (int type, float size)
 initialize a light source
Lightcopy_light_source (Light *old_sp)
 create a copy of a light source
Light ** copy_light_sources (int dima, int dimb, Light **old_sp)
 create a copy of a list of light sources
void show_active_light_data (opengl_edition *ogl_win, int lid, int tid)
 show active light data
void update_light_data (int li, opengl_edition *ogl_win)
 update light data
G_MODULE_EXPORT void show_light_param (GtkComboBox *box, gpointer data)
 update light parameters based on light id in combo box
void create_lights_combo (int num_lights, opengl_edition *ogl_win)
 create light combo box
void add_remove_lights (int val, gpointer data)
 add or remove lights
G_MODULE_EXPORT void set_nlights_spin (GtkSpinButton *res, gpointer data)
 change the number of light(s) - spin button
G_MODULE_EXPORT void update_light_param (GtkEntry *res, gpointer data)
 update light parameter
void set_data_pos (vec3_t *vect, int pos, double v)
 modify a vector component
G_MODULE_EXPORT void set_object_pos (GtkEntry *res, gpointer data)
 set object position
G_MODULE_EXPORT void set_light_type (GtkComboBox *box, gpointer data)
 set light type callback
G_MODULE_EXPORT void set_light_fix (GtkComboBox *box, gpointer data)
 set light fix callback
G_MODULE_EXPORT void show_this_light (GtkToggleButton *but, gpointer data)
 show / hide this light callback GTK3
GtkWidget * create_setting_pos (gchar *lab, int size, float xalign, int pid, int lid, float *values, opengl_edition *ogl_win)
 create OpenGL setting entries table
GtkWidget * lights_tab (glwin *view, opengl_edition *ogl_edit, Lightning *ogl_lightning)
 OpenGL light(s) parameters tab.
G_MODULE_EXPORT void set_use_template_toggle (GtkToggleButton *but, gpointer data)
 use or not OpenGL material template callback GTK3
G_MODULE_EXPORT void set_template (GtkComboBox *box, gpointer data)
 change the OpenGL material template
G_MODULE_EXPORT void set_r_model (GtkComboBox *box, gpointer data)
 change OpenGL rendering model
G_MODULE_EXPORT void set_f_model (GtkComboBox *box, gpointer data)
 change OpenGL filling model
G_MODULE_EXPORT void set_l_model (GtkComboBox *box, gpointer data)
 change OpenGL lightning model
void param_has_changed (gpointer data, double val)
 update OpenGL material parameter
G_MODULE_EXPORT void update_mat_param (GtkEntry *res, gpointer data)
 update OpenGL material parameter - entry
G_MODULE_EXPORT gboolean scroll_scale_param (GtkRange *range, GtkScrollType scroll, gdouble value, gpointer data)
 update OpenGL material parameter - scroll callback
G_MODULE_EXPORT void scale_param (GtkRange *range, gpointer data)
 update OpenGL material parameter - range callback
G_MODULE_EXPORT gboolean scroll_scale_quality (GtkRange *range, GtkScrollType scroll, gdouble value, gpointer data)
 update OpenGL quality - scroll callback
G_MODULE_EXPORT void scale_quality (GtkRange *range, gpointer data)
 update OpenGL quality - range callback
GtkWidget * rendering_fix (glwin *view, opengl_edition *ogl_edit)
GtkWidget * lightning_fix (glwin *view, Material *this_material)
GtkWidget * materials_tab (glwin *view, opengl_edition *ogl_edit, Material *the_mat)
 OpenGL material parameters tab.
void fog_param_changed (gpointer data, GLfloat u, GtkRange *range)
 update OpenGL fog parameter
G_MODULE_EXPORT gboolean scroll_set_fog_param (GtkRange *range, GtkScrollType scroll, gdouble value, gpointer data)
 update OpenGL fog parameter - scroll callback
G_MODULE_EXPORT void set_fog_param (GtkRange *range, gpointer data)
 update OpenGL fog parameter - range callback
G_MODULE_EXPORT void set_fog_type (GtkWidget *widg, gpointer data)
 set OpenGL fog type
void setup_fog_dialogs (opengl_edition *ogl_edit, int fid)
 update OpenGL fog tab based of fog type
G_MODULE_EXPORT void set_fog_mode (GtkWidget *widg, gpointer data)
 set fog mode callback
GtkWidget * fog_tab (glwin *view, opengl_edition *ogl_edit, Fog *the_fog)
 OpenGL fog parameters tab.
void close_advanced_opengl (gpointer data)
 close OpenGL rendering window free data
G_MODULE_EXPORT gboolean close_advanced (GtkWidget *widg, GdkEvent *event, gpointer data)
 close OpenGL rendering advanced window callback GTK3
G_MODULE_EXPORT void opengl_advanced (GtkWidget *widg, gpointer data)
 create OpenGL rendering advanced window

Variables

GLfloat template_parameters [TEMPLATES][5]
float mat_min_max [5][2]
gchar * ogl_settings [3][10]
gchar * lpos [3] = {"x", "y", "z"}
gchar * cpos [3] = {"r", "g", "b"}
GtkWidget * d_close
int status
int * light_list
GtkWidget ** light_but
GtkWidget * fogtype

Detailed Description

Functions to create the OpenGL parameters edition window.

Author
Sébastien Le Roux sebas.nosp@m.tien.nosp@m..lero.nosp@m.ux@i.nosp@m.pcms..nosp@m.unis.nosp@m.tra.f.nosp@m.r

Definition in file w_advance.c.

Function Documentation

◆ add_remove_lights()

void add_remove_lights ( int val,
gpointer data )

add or remove lights

Parameters
valtotal number of light(s) to keep
datathe associated data pointer

Definition at line 537 of file w_advance.c.

◆ adv_box()

GtkWidget * adv_box ( GtkWidget * box,
char * lab,
int vspace,
int size,
float xalign )

create a box with markup label

Parameters
boxthe box to insert the widget in
lablabel
vspacevertical space
sizesize
xalignx alignement

Definition at line 146 of file w_advance.c.

◆ bdv_box()

GtkWidget * bdv_box ( GtkWidget * box,
char * lab,
int size,
float xalign )

create a box with markup label

Parameters
boxthe GtkWidget sending the signal
lablabel
sizesize
xalignx alignement

Definition at line 164 of file w_advance.c.

◆ close_advanced()

G_MODULE_EXPORT gboolean close_advanced ( GtkWidget * widg,
GdkEvent * event,
gpointer data )

close OpenGL rendering advanced window callback GTK3

Parameters
widgthe GtkWidget sending the signal
eventthe GdkEvent triggering the signal
datathe associated data pointer

Definition at line 1718 of file w_advance.c.

◆ close_advanced_opengl()

void close_advanced_opengl ( gpointer data)

close OpenGL rendering window free data

Parameters
datathe associated data pointer

Definition at line 1690 of file w_advance.c.

◆ copy_light_source()

Light * copy_light_source ( Light * old_sp)

create a copy of a light source

Parameters
old_spthe light source to copy

Definition at line 377 of file w_advance.c.

◆ copy_light_sources()

Light ** copy_light_sources ( int dima,
int dimb,
Light ** old_sp )

create a copy of a list of light sources

Parameters
dimanew list size
dimbold list size to duplicate
old_spold light sources

Definition at line 400 of file w_advance.c.

◆ create_lights_combo()

void create_lights_combo ( int num_lights,
opengl_edition * ogl_win )

create light combo box

Parameters
num_lightsthe target number of lights
ogl_winthe target OpenGL edition window

Definition at line 513 of file w_advance.c.

◆ create_setting_pos()

GtkWidget * create_setting_pos ( gchar * lab,
int size,
float xalign,
int pid,
int lid,
float * values,
opengl_edition * ogl_win )

create OpenGL setting entries table

Parameters
lablabel to display
sizesize of the label
xalignx alignement
pidparameter id (0 = material, 1 = light direction, 2 = light position, 3 = light intensity, 4 = fog)
lidparameter label id
valuestarget parameter values
ogl_winthe target OpenGL edition window

Definition at line 858 of file w_advance.c.

◆ fog_param_changed()

void fog_param_changed ( gpointer data,
GLfloat u,
GtkRange * range )

update OpenGL fog parameter

Parameters
datathe associated data pointer
uthe new value
rangethe GtkRange to udapte if needed

Definition at line 1457 of file w_advance.c.

◆ fog_tab()

GtkWidget * fog_tab ( glwin * view,
opengl_edition * ogl_edit,
Fog * the_fog )

OpenGL fog parameters tab.

Parameters
viewthe target glwin
ogl_editthe target OpenGL edition window
the_fogthe target fog data structure

Definition at line 1628 of file w_advance.c.

◆ init_light_source()

Light * init_light_source ( int type,
float size )

initialize a light source

Parameters
typethe type of light
sizesystem size

Definition at line 336 of file w_advance.c.

◆ light_source_to_be_removed()

int * light_source_to_be_removed ( int val,
Lightning * ogl_lightning,
opengl_edition * ogl_edit )

remove light source(s) - creating the dialog

Parameters
valnumber of light(s) to remove
ogl_lightningthe target lightning data structure
ogl_editthe target OpenGL edition window

Definition at line 259 of file w_advance.c.

◆ lightning_fix()

GtkWidget * lightning_fix ( glwin * view,
Material * this_material )

Definition at line 1338 of file w_advance.c.

◆ lights_tab()

GtkWidget * lights_tab ( glwin * view,
opengl_edition * ogl_edit,
Lightning * ogl_lightning )

OpenGL light(s) parameters tab.

Parameters
viewthe target glwin
ogl_editthe target OpenGL edition window
ogl_lightningthe target lightning data structure

Definition at line 897 of file w_advance.c.

◆ materials_tab()

GtkWidget * materials_tab ( glwin * view,
opengl_edition * ogl_edit,
Material * the_mat )

OpenGL material parameters tab.

Parameters
viewthe target glwin
ogl_editthe target OpenGL edition window
the_matthe target material data structure

Definition at line 1365 of file w_advance.c.

◆ opengl_advanced()

G_MODULE_EXPORT void opengl_advanced ( GtkWidget * widg,
gpointer data )

create OpenGL rendering advanced window

Parameters
widgthe GtkWidget sending the signal
datathe associated data pointer

Definition at line 1733 of file w_advance.c.

◆ param_has_changed()

void param_has_changed ( gpointer data,
double val )

update OpenGL material parameter

Parameters
datathe associated data pointer
valthe new value

Definition at line 1185 of file w_advance.c.

◆ print_light_source()

void print_light_source ( Light source,
int i )

print light source data

Parameters
sourcethe light source
ithe light source id

Definition at line 298 of file w_advance.c.

◆ rendering_fix()

GtkWidget * rendering_fix ( glwin * view,
opengl_edition * ogl_edit )

Definition at line 1298 of file w_advance.c.

◆ run_light_source_to_be_removed()

G_MODULE_EXPORT void run_light_source_to_be_removed ( GtkDialog * win,
gint response_id,
gpointer data )

remove light source(s) - running the dialog

Parameters
winthe GtkDialog sending the signal
response_idthe response id
datathe associated data pointer

Definition at line 227 of file w_advance.c.

◆ scale_param()

G_MODULE_EXPORT void scale_param ( GtkRange * range,
gpointer data )

update OpenGL material parameter - range callback

Parameters
rangethe GtkRange sending the signal
datathe associated data pointer

Definition at line 1250 of file w_advance.c.

◆ scale_quality()

G_MODULE_EXPORT void scale_quality ( GtkRange * range,
gpointer data )

update OpenGL quality - range callback

Parameters
rangethe GtkRange sending the signal
datathe associated data pointer

Definition at line 1282 of file w_advance.c.

◆ scroll_scale_param()

G_MODULE_EXPORT gboolean scroll_scale_param ( GtkRange * range,
GtkScrollType scroll,
gdouble value,
gpointer data )

update OpenGL material parameter - scroll callback

Parameters
rangethe GtkRange sending the signal
scrollthe associated scroll type
valuethe range value
datathe associated data pointer

Definition at line 1236 of file w_advance.c.

◆ scroll_scale_quality()

G_MODULE_EXPORT gboolean scroll_scale_quality ( GtkRange * range,
GtkScrollType scroll,
gdouble value,
gpointer data )

update OpenGL quality - scroll callback

Parameters
rangethe GtkRange sending the signal
scrollthe associated scroll type
valuethe range value
datathe associated data pointer

Definition at line 1265 of file w_advance.c.

◆ scroll_set_fog_param()

G_MODULE_EXPORT gboolean scroll_set_fog_param ( GtkRange * range,
GtkScrollType scroll,
gdouble value,
gpointer data )

update OpenGL fog parameter - scroll callback

Parameters
rangethe GtkRange sending the signal
scrollthe associated scroll type
valuethe range value
datathe associated data pointer

Definition at line 1516 of file w_advance.c.

◆ set_data_pos()

void set_data_pos ( vec3_t * vect,
int pos,
double v )

modify a vector component

Parameters
vectvector to adjust
posposition to adjust
vnew value

Definition at line 690 of file w_advance.c.

◆ set_f_model()

G_MODULE_EXPORT void set_f_model ( GtkComboBox * box,
gpointer data )

change OpenGL filling model

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 1147 of file w_advance.c.

◆ set_fog_mode()

G_MODULE_EXPORT void set_fog_mode ( GtkWidget * widg,
gpointer data )

set fog mode callback

Parameters
widgthe GtkWidget sending the signal
datathe associated data pointer

Definition at line 1614 of file w_advance.c.

◆ set_fog_param()

G_MODULE_EXPORT void set_fog_param ( GtkRange * range,
gpointer data )

update OpenGL fog parameter - range callback

Parameters
rangethe GtkRange sending the signal
datathe associated data pointer

Definition at line 1530 of file w_advance.c.

◆ set_fog_type()

G_MODULE_EXPORT void set_fog_type ( GtkWidget * widg,
gpointer data )

set OpenGL fog type

Parameters
widgthe GtkWidget sending the signal
datathe associated data pointer

Definition at line 1543 of file w_advance.c.

◆ set_l_model()

G_MODULE_EXPORT void set_l_model ( GtkComboBox * box,
gpointer data )

change OpenGL lightning model

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 1163 of file w_advance.c.

◆ set_light_fix()

G_MODULE_EXPORT void set_light_fix ( GtkComboBox * box,
gpointer data )

set light fix callback

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 792 of file w_advance.c.

◆ set_light_type()

G_MODULE_EXPORT void set_light_type ( GtkComboBox * box,
gpointer data )

set light type callback

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 776 of file w_advance.c.

◆ set_nlights_spin()

G_MODULE_EXPORT void set_nlights_spin ( GtkSpinButton * res,
gpointer data )

change the number of light(s) - spin button

Parameters
resthe GtkSpinButton sending the signal
datathe associated data pointer

Definition at line 630 of file w_advance.c.

◆ set_object_pos()

G_MODULE_EXPORT void set_object_pos ( GtkEntry * res,
gpointer data )

set object position

Parameters
resthe GtkEntry sending the signal
datathe associated data pointer

Definition at line 714 of file w_advance.c.

◆ set_quality()

void set_quality ( int q,
glwin * view )
extern

set OpenGL quality

Parameters
qnew OpenGL quality
viewthe target glwin

Definition at line 54 of file m_quality.c.

◆ set_r_model()

G_MODULE_EXPORT void set_r_model ( GtkComboBox * box,
gpointer data )

change OpenGL rendering model

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 1121 of file w_advance.c.

◆ set_template()

G_MODULE_EXPORT void set_template ( GtkComboBox * box,
gpointer data )

change the OpenGL material template

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 1073 of file w_advance.c.

◆ set_use_template_toggle()

G_MODULE_EXPORT void set_use_template_toggle ( GtkToggleButton * but,
gpointer data )

use or not OpenGL material template callback GTK3

Parameters
butthe GtkToggleButton sending the signal
datathe associated data pointer

Definition at line 1009 of file w_advance.c.

◆ setup_fog_dialogs()

void setup_fog_dialogs ( opengl_edition * ogl_edit,
int fid )

update OpenGL fog tab based of fog type

Parameters
ogl_editthe target opengl_edition
fidthe fog mode

Definition at line 1569 of file w_advance.c.

◆ show_active_light_data()

void show_active_light_data ( opengl_edition * ogl_win,
int lid,
int tid )

show active light data

Parameters
ogl_winthe target OpenGL edition window
lidthe light id
tidthe light type

Definition at line 422 of file w_advance.c.

◆ show_light_param()

G_MODULE_EXPORT void show_light_param ( GtkComboBox * box,
gpointer data )

update light parameters based on light id in combo box

Parameters
boxthe GtkComboBox sending the signal
datathe associated data pointer

Definition at line 499 of file w_advance.c.

◆ show_this_light()

G_MODULE_EXPORT void show_this_light ( GtkToggleButton * but,
gpointer data )

show / hide this light callback GTK3

Parameters
butthe GtkToggleButton sending the signal
datathe associated data pointer

Definition at line 834 of file w_advance.c.

◆ toggled_delete_ligth()

G_MODULE_EXPORT void toggled_delete_ligth ( GtkToggleButton * but,
gpointer data )

toggle delete light callback GTK3

Parameters
butthe GtkToggleButton sending the signal
datathe associated data pointer

Definition at line 194 of file w_advance.c.

◆ update_light_data()

void update_light_data ( int li,
opengl_edition * ogl_win )

update light data

Parameters
lithe light id
ogl_winthe target OpenGL edition window

Definition at line 464 of file w_advance.c.

◆ update_light_param()

G_MODULE_EXPORT void update_light_param ( GtkEntry * res,
gpointer data )

update light parameter

Parameters
resthe GtkEntry sending the signal
datathe associated data pointer

Definition at line 643 of file w_advance.c.

◆ update_mat_param()

G_MODULE_EXPORT void update_mat_param ( GtkEntry * res,
gpointer data )

update OpenGL material parameter - entry

Parameters
resthe GtkEntry sending the signal
datathe associated data pointer

Definition at line 1219 of file w_advance.c.

Variable Documentation

◆ cpos

gchar* cpos[3] = {"r", "g", "b"}

Definition at line 133 of file w_advance.c.

◆ d_close

GtkWidget* d_close

Definition at line 172 of file w_advance.c.

◆ fogtype

GtkWidget* fogtype

Definition at line 1446 of file w_advance.c.

◆ light_but

GtkWidget** light_but

Definition at line 216 of file w_advance.c.

◆ light_list

int* light_list

Definition at line 215 of file w_advance.c.

◆ lpos

gchar* lpos[3] = {"x", "y", "z"}

Definition at line 132 of file w_advance.c.

◆ mat_min_max

float mat_min_max[5][2]
Initial value:
= {{0.0, 1.0},
{0.0, 1.0},
{0.0, 1.0},
{0.0, 10.0},
{0.0, 1.0}}

Definition at line 108 of file w_advance.c.

◆ ogl_settings

gchar* ogl_settings[3][10]
Initial value:
= {{i18n("Albedo"),
i18n("Metallic"),
i18n("Roughness"),
i18n("Ambient occlusion"),
i18n("Gamma correction"),
i18n("Opacity")},
{i18n("Position"),
i18n("Direction"),
i18n("Intensity"),
i18n("Constant attenuation"),
i18n("Linear attenuation"),
i18n("Quadratic attenuation"),
i18n("Cone angle"),
i18n("Inner cutoff"),
i18n("Outer cutoff"),
i18n("Type")},
{i18n("<b>Fog color</b>")}}
#define i18n(String)
Definition global.c:80

Definition at line 114 of file w_advance.c.

◆ status

int status

Definition at line 173 of file w_advance.c.

◆ template_parameters

GLfloat template_parameters[TEMPLATES][5]
Initial value:
={{0.50, 0.50, 0.99, 1.00, 1.00},
{0.90, 0.60, 0.99, 1.50, 1.00},
{0.80, 0.40, 0.99, 1.00, 1.00},
{0.35, 0.15, 0.99, 1.50, 1.00},
{0.50, 0.50, 0.99, 1.00, 0.50},
{0.50, 0.50, 0.99, 1.00, 0.75},
{0.35, 0.80, 0.99, 1.50, 1.00}}

Definition at line 100 of file w_advance.c.