7fd59977 |
1 | /*********************************************************************** |
2 | |
3 | FONCTION : |
4 | ---------- |
5 | File OpenGl_togl_setvisualisation : |
6 | |
7 | TEST : |
8 | ------ |
9 | |
10 | Le main TestOfDesktop.c permet de tester cette classe. |
11 | |
12 | |
13 | REMARQUES: |
14 | ---------- |
15 | |
16 | |
17 | HISTORIQUE DES MODIFICATIONS : |
18 | -------------------------------- |
19 | xx-xx-xx : xxx ; Creation. |
20 | 17-07-96 : FMN ; Simplification du code |
21 | 05-02-97 : FMN ; Suppression de OpenGl_tgl_vis.h |
22 | 24-12-97 : FMN ; Suppression de call_func_set_back_int_shad_meth() |
23 | |
24 | ************************************************************************/ |
25 | |
26 | /*----------------------------------------------------------------------*/ |
27 | /* |
28 | * Includes |
29 | */ |
30 | |
31 | |
32 | #include <OpenGl_tgl_all.hxx> |
33 | |
34 | #include <InterfaceGraphic_Labels.hxx> |
35 | #include <InterfaceGraphic_Graphic3d.hxx> |
36 | #include <InterfaceGraphic_Visual3d.hxx> |
37 | |
38 | #include <OpenGl_tgl_funcs.hxx> |
39 | #include <OpenGl_tgl_subrvis.hxx> |
40 | |
41 | /*----------------------------------------------------------------------*/ |
42 | |
43 | void EXPORT |
44 | call_togl_setvisualisation |
45 | ( |
46 | CALL_DEF_VIEW * aview |
47 | ) |
48 | { |
49 | /* activation */ |
50 | call_func_set_edit_mode( CALL_PHIGS_EDIT_REPLACE ); |
51 | call_func_open_struct( aview->ViewId ); |
52 | call_func_set_elem_ptr( 0 ); |
53 | call_func_set_elem_ptr_label( View_LABViewContext ); |
54 | call_func_offset_elem_ptr( 1 ); |
55 | |
56 | switch( aview->Context.Visualization ) |
57 | { |
58 | case 0 : /* VISUAL3D_TOV_WIREFRAME */ |
59 | call_func_appl_data( 0 ); |
60 | |
61 | call_func_set_elem_ptr( 0 ); |
62 | call_func_set_elem_ptr_label( View_LABHlhsr ); |
63 | call_func_offset_elem_ptr( 1 ); |
64 | call_util_setvisualization ( |
65 | aview, |
66 | aview->Context.ZBufferActivity, |
67 | CALL_DEF_DISABLE_ZBUFFER); |
68 | break; |
69 | |
70 | case 1 : /* VISUAL3D_TOV_SHADING */ |
71 | switch( aview->Context.Model ) |
72 | { |
73 | case 0 : /* VISUAL3D_TOM_NONE */ |
74 | call_func_set_int_shad_meth( CALL_PHIGS_SD_NONE ); |
75 | |
76 | break; |
77 | |
78 | case 1 : /* VISUAL3D_TOM_INTERP_COLOR */ |
79 | call_func_set_int_shad_meth( CALL_PHIGS_SD_COLOUR ); |
80 | break; |
81 | |
82 | case 2 : /* VISUAL3D_TOM_FACET */ |
83 | call_func_set_int_shad_meth( CALL_PHIGS_SD_NORMAL ); |
84 | break; |
85 | |
86 | case 3 : /* VISUAL3D_TOM_VERTEX */ |
87 | call_func_set_int_shad_meth( CALL_PHIGS_SD_COLOUR ); |
88 | break; |
89 | |
90 | case 4 : /* VISUAL3D_TOM_HIDDENLINE */ |
91 | call_func_set_int_shad_meth( CALL_PHIGS_SD_NONE ); |
92 | break; |
93 | } |
94 | call_func_set_elem_ptr( 0 ); |
95 | call_func_set_elem_ptr_label( View_LABHlhsr ); |
96 | call_func_offset_elem_ptr( 1 ); |
97 | call_util_setvisualization ( |
98 | aview, |
99 | aview->Context.ZBufferActivity, |
100 | CALL_DEF_ENABLE_ZBUFFER); |
101 | break; |
102 | } |
103 | |
104 | call_func_close_struct(); |
105 | |
106 | return; |
107 | } |
108 | |
109 | /*----------------------------------------------------------------------*/ |
110 | |
111 | void call_util_setvisualization |
112 | ( |
113 | CALL_DEF_VIEW * aView, |
114 | int ZBuffer, |
115 | int Mode |
116 | ) |
117 | { |
118 | switch (ZBuffer) { |
119 | case -1 : /* non force */ |
120 | call_subr_hlhsr (aView, Mode); |
121 | break; |
122 | case 0 : /* force a "disable" */ |
123 | call_subr_hlhsr (aView, CALL_DEF_DISABLE_ZBUFFER); |
124 | break; |
125 | case 1 : /* force a "enable" */ |
126 | call_subr_hlhsr (aView, CALL_DEF_ENABLE_ZBUFFER); |
127 | break; |
128 | } |
129 | } |
130 | |
131 | /*----------------------------------------------------------------------*/ |