Merging OCC22105, OCC22354, OCC22150 , OCC22199 , OCC22391 and OCC22108
[occt.git] / src / OpenGl / OpenGl_polyltyp.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 PolylineTypeDisplay( TSM_ELEM_DATA, Tint, cmn_key* );
17static TStatus PolylineTypeAdd( TSM_ELEM_DATA, Tint, cmn_key* );
18static TStatus PolylineTypePrint( TSM_ELEM_DATA, Tint, cmn_key* );
19static TStatus PolylineTypeInquire( TSM_ELEM_DATA, Tint, cmn_key* );
20
21static TStatus (*MtdTbl[])( TSM_ELEM_DATA, Tint, cmn_key* ) =
22{
23 0, /* PickTraverse */
24 PolylineTypeDisplay,
25 PolylineTypeAdd,
26 0, /* Delete */
27 PolylineTypePrint,
28 PolylineTypeInquire
29};
30
31
32MtblPtr
33TelPolylineTypeInitClass( TelType *el )
34{
35 *el = TelPolylineType;
36 return MtdTbl;
37}
38
39static TStatus
40PolylineTypeAdd( TSM_ELEM_DATA d, Tint n, cmn_key *k )
41{
42 ((tsm_elem_data)(d.pdata))->ldata = k[0]->data.ldata;
43
44 return TSuccess;
45}
46
47
48static TStatus
49PolylineTypeDisplay( TSM_ELEM_DATA data, Tint n, cmn_key *k )
50{
51 CMN_KEY key;
52
53 key.id = TelPolylineType;
54 key.data.ldata = data.ldata;
55 TsmSetAttri( 1, &key );
56
57 return TSuccess;
58}
59
60
61static TStatus
62PolylineTypePrint( TSM_ELEM_DATA data, Tint n, cmn_key *k )
63{
64 switch( data.ldata )
65 {
66 case TEL_LS_SOLID:
67 fprintf( stdout, "TelPolylineType. Value = SOLID\n" );
68 break;
69
70 case TEL_LS_DOT:
71 fprintf( stdout, "TelPolylineType. Value = DOT\n" );
72 break;
73
74 case TEL_LS_DASH_DOT:
75 fprintf( stdout, "TelPolylineType. Value = DASH_DOT\n" );
76 break;
77
78 case TEL_LS_DASH:
79 fprintf( stdout, "TelPolylineType. Value = DASH\n" );
80 break;
81
82 case TEL_LS_DOUBLE_DOT_DASH:
83 fprintf( stdout, "TelPolylineType. Value = DOUBLE_DOT_DASH\n" );
84 break;
85 }
86 fprintf( stdout, "\n" );
87
88 return TSuccess;
89}
90
91
92static TStatus
93PolylineTypeInquire( TSM_ELEM_DATA data, Tint n, cmn_key *k )
94{
95 Tint i;
96
97 for( i = 0; i < n; i++ )
98 {
99 switch( k[i]->id )
100 {
101 case INQ_GET_SIZE_ID:
102 {
103 k[i]->data.ldata = sizeof( Tint );
104 break;
105 }
106 case INQ_GET_CONTENT_ID:
107 {
108 TEL_INQ_CONTENT *c;
109 Teldata *w;
110
111 c = (tel_inq_content)k[i]->data.pdata;
112 w = c->data;
113 c->act_size = 0;
114 w->idata = data.ldata;
115 break;
116 }
117 }
118 }
119
120 return TSuccess;
121}