0022792: Globally defined symbol PI conflicts with VTK definition (Intel compiler)
[occt.git] / src / OpenGl / OpenGl_polylwid.cxx
CommitLineData
7fd59977 1
2#include <OpenGl_tgl_all.hxx>
3
4#include <stddef.h>
5#include <stdio.h>
6#include <GL/gl.h>
7#include <GL/glu.h>
8
9#include <OpenGl_cmn_varargs.hxx>
10#include <OpenGl_telem_attri.hxx>
11#include <OpenGl_tsm.hxx>
12#include <OpenGl_telem.hxx>
13#include <OpenGl_telem_inquire.hxx>
14#include <OpenGl_Memory.hxx>
15
16static TStatus PolylineWidthDisplay( TSM_ELEM_DATA, Tint, cmn_key* );
17static TStatus PolylineWidthAdd( TSM_ELEM_DATA, Tint, cmn_key* );
18static TStatus PolylineWidthDelete( TSM_ELEM_DATA, Tint, cmn_key* );
19static TStatus PolylineWidthPrint( TSM_ELEM_DATA, Tint, cmn_key* );
20static TStatus PolylineWidthInquire( TSM_ELEM_DATA, Tint, cmn_key* );
21
22static TStatus (*MtdTbl[])( TSM_ELEM_DATA, Tint, cmn_key* ) =
23{
24 0, /* PickTraverse */
25 PolylineWidthDisplay,
26 PolylineWidthAdd,
27 PolylineWidthDelete,
28 PolylineWidthPrint,
29 PolylineWidthInquire
30};
31
32
33MtblPtr
34TelPolylineWidthInitClass( TelType *el )
35{
36 *el = TelPolylineWidth;
37 return MtdTbl;
38}
39
40static TStatus
41PolylineWidthAdd( TSM_ELEM_DATA d, Tint n, cmn_key *k )
42{
43 Tfloat *data = new Tfloat();
44
45 if( !data )
46 return TFailure;
47
48 *data = k[0]->data.fdata;
49
50 ((tsm_elem_data)(d.pdata))->pdata = data;
51
52 return TSuccess;
53}
54
55
56static TStatus
57PolylineWidthDisplay( TSM_ELEM_DATA data, Tint n, cmn_key *k )
58{
59 CMN_KEY key;
60
61 key.id = TelPolylineWidth;
62 key.data.fdata = *(Tfloat*)(data.pdata);
63 TsmSetAttri( 1, &key );
64
65 return TSuccess;
66}
67
68
69static TStatus
70PolylineWidthDelete( TSM_ELEM_DATA data, Tint n, cmn_key *k )
71{
72 if (data.pdata)
73 delete data.pdata;
74 return TSuccess;
75}
76
77
78static TStatus
79PolylineWidthPrint( TSM_ELEM_DATA data, Tint n, cmn_key *k )
80{
81 fprintf( stdout, "TelPolylineWidth. Value = %g\n", *(Tfloat *)(data.pdata));
82 fprintf( stdout, "\n" );
83
84 return TSuccess;
85}
86
87
88static TStatus
89PolylineWidthInquire( TSM_ELEM_DATA data, Tint n, cmn_key *k )
90{
91 Tint i;
92 Tfloat *f = (Tfloat *)data.pdata;
93
94 for( i = 0; i < n; i++ )
95 {
96 switch( k[i]->id )
97 {
98 case INQ_GET_SIZE_ID:
99 {
100 k[i]->data.ldata = sizeof( Tint );
101 break;
102 }
103 case INQ_GET_CONTENT_ID:
104 {
105 TEL_INQ_CONTENT *c;
106 Teldata *w;
107
108 c = (tel_inq_content)k[i]->data.pdata;
109 w = c->data;
110 c->act_size = 0;
111 w->fdata = *f;
112 break;
113 }
114 }
115 }
116
117 return TSuccess;
118}