1 #include <OpenGl_tgl_all.hxx>
2 #include <OpenGl_cmn_varargs.hxx>
3 #include <OpenGl_telem_attri.hxx>
4 #include <OpenGl_tsm.hxx>
5 #include <OpenGl_telem.hxx>
6 #include <OpenGl_telem_inquire.hxx>
7 #include <OpenGl_degeneration.hxx>
11 static TStatus DegenerateModelAdd ( TSM_ELEM_DATA, Tint, cmn_key* );
12 static TStatus DegenerateModelDelete ( TSM_ELEM_DATA, Tint, cmn_key* );
13 static TStatus DegenerateModelPrint ( TSM_ELEM_DATA, Tint, cmn_key* );
14 static TStatus DegenerateModelInquire ( TSM_ELEM_DATA, Tint, cmn_key* );
16 static TStatus ( *MtdTbl[] ) ( TSM_ELEM_DATA, Tint, cmn_key* ) = {
18 NULL, /* PickTraverse */
19 NULL, /* DisplayTraverse */
20 DegenerateModelAdd, /* Add */
21 DegenerateModelDelete, /* Delete */
22 DegenerateModelPrint, /* Print */
23 DegenerateModelInquire /* Inquire */
28 MtblPtr TelDegenerateModelInitClass ( TelType* el ) {
30 *el = TelDegenerationMode;
34 } /* end TelDegenerateModelInitClass */
36 static TStatus DegenerateModelAdd ( TSM_ELEM_DATA d, Tint n, cmn_key* k ) {
38 PDEGENERATION p = new DEGENERATION();
39 //( PDEGENERATION )cmn_getmem ( 1, sizeof( DEGENERATION ), 1 );
40 //cmn_memcpy<DEGENERATION> ( p, k[ 0 ] -> data.pdata, 1 );
41 memcpy( p, k[ 0 ] -> data.pdata, sizeof(DEGENERATION) );
43 ( ( tsm_elem_data )( d.pdata ) ) -> pdata = p;
47 } /* end DegenerateModelAdd */
49 static TStatus DegenerateModelDelete ( TSM_ELEM_DATA d, Tint n, cmn_key* k ) {
51 //cmn_freemem ( d.pdata );
56 } /* end DegenerateModelDelete */
58 static TStatus DegenerateModelPrint ( TSM_ELEM_DATA data, Tint n, cmn_key* k ) {
62 switch ( data.ldata ) {
66 ptr = "TelDegenerateModel. Value = NONE\n";
72 ptr = "TelDegenerateModel. Value = TINY\n";
78 ptr = "TelDegenerateModel. Value = WIREFRAME\n";
84 ptr = "TelDegenerateModel. Value = MARKER\n";
90 ptr = "TelDegenerateModel. Value = BBOX\n";
96 ptr = "TelDegenerateModel. Value = AUTO\n";
100 ptr = "TelDegenerateModel. Value = <invalid>\n";
104 fprintf ( stdout, ptr );
108 } /* end DegenerateModelPrint */
111 static TStatus DegenerateModelInquire ( TSM_ELEM_DATA data, Tint n, cmn_key* k ) {
115 for ( i = 0; i < n; ++i )
117 switch ( k[ i ] -> id ) {
119 case INQ_GET_SIZE_ID:
121 k[ i ] -> data.ldata = sizeof( Tint );
125 case INQ_GET_CONTENT_ID: {
130 c = (tel_inq_content)k[i]->data.pdata;
133 w -> idata = data.ldata;
141 } /* end DegenerateModelInquire */