2 #include <OpenGl_tgl_all.hxx>
9 #include <OpenGl_cmn_varargs.hxx>
10 #include <OpenGl_telem_attri.hxx>
11 #include <OpenGl_telem_util.hxx>
12 #include <OpenGl_tsm.hxx>
13 #include <OpenGl_telem.hxx>
14 #include <OpenGl_telem_inquire.hxx>
16 static TStatus LocalTran3Display( TSM_ELEM_DATA, Tint, cmn_key* );
17 static TStatus LocalTran3Add( TSM_ELEM_DATA, Tint, cmn_key* );
18 static TStatus LocalTran3Delete( TSM_ELEM_DATA, Tint, cmn_key* );
19 static TStatus LocalTran3Print( TSM_ELEM_DATA, Tint, cmn_key* );
20 static TStatus LocalTran3Inquire( TSM_ELEM_DATA, Tint, cmn_key* );
22 static TStatus (*MtdTbl[])( TSM_ELEM_DATA, Tint, cmn_key* ) =
24 LocalTran3Display, /* PickTraverse */
34 TelLocalTran3InitClass( TelType *el )
41 LocalTran3Add( TSM_ELEM_DATA d, Tint n, cmn_key *k )
43 tel_matrix3_data data = new TEL_MATRIX3_DATA();
45 //cmn_memreserve( data, 1, 0 );
50 data->mode = (TComposeType)(k[0]->id);
51 matcpy( data->mat, k[0]->data.pdata );
53 ((tsm_elem_data)(d.pdata))->pdata = data;
60 LocalTran3Display( TSM_ELEM_DATA data, Tint n, cmn_key *k )
65 d = (tel_matrix3_data)data.pdata;
67 key.id = TelLocalTran3;
69 TsmSetAttri( 1, &key );
76 LocalTran3Delete( TSM_ELEM_DATA data, Tint n, cmn_key *k )
78 //cmn_freemem( data.pdata );
88 LocalTran3Print( TSM_ELEM_DATA data, Tint n, cmn_key *k )
93 d = (tel_matrix3_data)data.pdata;
95 fprintf( stdout, "TelLocalTran3. \n" );
97 fprintf( stdout, "\t\t%12.7f %12.7f %12.7f %12.7f\n", d->mat[i][0],
98 d->mat[i][1], d->mat[i][2], d->mat[i][3] );
99 fprintf( stdout, "\n" );
106 LocalTran3Inquire( TSM_ELEM_DATA data, Tint n, cmn_key *k )
111 d = (tel_matrix3_data)data.pdata;
113 for( i = 0; i < n; i++ )
117 case INQ_GET_SIZE_ID:
119 k[i]->data.ldata = 0;
123 case INQ_GET_CONTENT_ID:
128 c = (tel_inq_content)k[i]->data.pdata;
132 w->local_xform_3.compose_type = d->mode;
133 //cmn_memcpy( w->local_xform_3.mat3, d->mat, sizeof( Tmatrix3), 1 );
134 memcpy( w->local_xform_3.mat3, d->mat, sizeof( Tmatrix3) );