OCC22354 Bug in Overlay Text rendering
[occt.git] / src / OpenGl / OpenGl_tgl_funcs.hxx
CommitLineData
7fd59977 1/***********************************************************************
2
3FONCTION :
4----------
5Fichier OpenGl_tgl_funcs.h
6
7
8REMARQUES:
9----------
10
11
12HISTORIQUE DES MODIFICATIONS :
13--------------------------------
14??-??-?? : PCT ; creation
1510-07-96 : FMN ; Suppression #define sur calcul matrice
1605-08-97 : PCT ; support texture mapping
1723-12-97 : FMN ; Suppression TelBackInteriorStyle, TelBackInteriorStyleIndex
1815-01-98 : FMN ; Ajout Hidden line
1908-04-98 : FGU ; Ajout emission
2027-11-98 : CAL ; S4062. Ajout des layers.
2130-11-98 : FMN ; S3819 : Textes toujours visibles
2222-03-04 : SAN ; OCC4895 High-level interface for controlling polygon offsets
2304-10-04 : ABD ; Added User Defined marker type
24
25************************************************************************/
26
27/*----------------------------------------------------------------------*/
28
29#ifndef OPENGL_TGL_FUNCS_H
30#define OPENGL_TGL_FUNCS_H
31
32#define BUC60570 /* GG 06-09-99
33// The model view SD_NORMAL must shown objects with FLAT shading
34*/
35
36#ifndef G003
37#define G003 /* EUG 06-10-99 Degeneration support
38*/
39#endif
40
41
42#define BUC61044 /* 25/10/01 SAV ; added functionality to control gl depth testing
43from higher API */
44#define BUC61045 /* 25/10/01 SAV ; added functionality to control gl lighting
45from higher API */
46
47
48/*----------------------------------------------------------------------*/
49/*
50* Includes
51*/
52#include <OpenGl_tgl_all.hxx>
53#include <OpenGl_telem.hxx>
54#include <OpenGl_telem_pick.hxx>
55#include <OpenGl_tsm.hxx>
56#include <InterfaceGraphic_Aspect.hxx>
57#include <InterfaceGraphic_Graphic3d.hxx>
58#include <InterfaceGraphic_Visual3d.hxx>
59
60#include <OSD_FontAspect.hxx>
61
62/*----------------------------------------------------------------------*/
63/*
64* Types definis
65*/
66
67typedef float matrix3[4][4];
68
69typedef enum {
70 TYPE_PARAL,
71 TYPE_PERSPECT
72} projtype;
73
74typedef enum {
75 IND_NO_CLIP,
76 IND_CLIP
77} clip_ind;
78
79typedef struct {
80 float x; /* x coordinate */
81 float y; /* y coordinate */
82 float z; /* z coordinate */
83} point3;
84
85typedef struct {
86 float delta_x; /* x magnitude */
87 float delta_y; /* y magnitude */
88 float delta_z; /* z magnitude */
89} vec3;
90
91typedef struct {
92 float x_min; /* x min */
93 float x_max; /* x max */
94 float y_min; /* y min */
95 float y_max; /* y max */
96 float z_min; /* z min */
97 float z_max; /* z max */
98} limit3;
99
100typedef struct {
101 float x_min; /* x min */
102 float x_max; /* x max */
103 float y_min; /* y min */
104 float y_max; /* y max */
105} limit;
106
107typedef struct {
108 limit win; /* window limits */
109 limit3 proj_vp; /* viewport limits */
110 projtype proj_type; /* projection type */
111 point3 proj_ref_point; /* projection reference point */
112 float view_plane; /* view plane distance */
113 float back_plane; /* back plane distance */
114 float front_plane; /* front plane distance */
115} view_map3;
116
117/*----------------------------------------------------------------------*/
118/*
119* Prototypes
120*/
121
122extern void call_func_label(Tint); /* lid */
123extern void call_func_set_view_ind(Tint); /* vid */
124extern void call_func_appl_data(void*); /* data */
125extern void call_func_set_local_tran3(Tmatrix3, TComposeType); /* mat, mode */
126extern void call_func_set_linewidth(Tfloat); /* lw */
127extern void call_func_set_linetype(Tint); /* lt */
128extern void call_func_set_int_style(Tint); /* is */
129extern void call_func_set_edge_flag(Tint); /* state */
130extern void call_func_set_edge_type(Tint); /* type */
131extern void call_func_set_edgewidth(Tfloat); /* width */
132extern void call_func_set_int_style_ind(Tint); /* ind */
133extern void call_func_set_face_disting_mode(Tint); /* mode */
134extern void call_func_set_face_cull_mode(Tint); /* mode */
135extern void call_func_set_marker_type(Tint); /* type */
136extern void call_func_set_marker_size(Tfloat); /* size */
137extern void call_func_exec_struct(Tint); /* stid */
138extern void call_func_init_tgl(void);
139extern void call_func_post_struct(Tint, Tint, Tfloat); /* ws, stid, prio */
140extern void call_func_set_int_shad_meth(Tint); /* method */
141extern void call_func_set_refl_eqn(Tint); /* eqn */
142extern void call_func_set_back_refl_eqn(Tint); /* eqn */
143extern void call_func_set_text_font(Tchar*); /* font */
144extern void call_func_set_char_space(Tfloat); /* sp */
145extern void call_func_set_char_expan(Tfloat); /* exp */
146extern void call_func_set_pick_id(Tint); /* pickid */
147extern void call_func_redraw_all_structs (Tint, Tint); /* wsid, swap */
148extern void call_func_redraw_all_structs_begin (Tint); /* wsid */
149extern void call_func_redraw_all_structs_proc (Tint); /* wsid */
150extern void call_func_redraw_all_structs_end (Tint, Tint); /* wsid, swap */
151extern void call_func_set_anno_char_ht(Tfloat); /* height */
152extern void call_func_set_anno_char_up_vec(Tfloat[2]); /* up_vector */
153extern void call_func_set_anno_path(Tint); /* path */
154extern void call_func_set_anno_align(Tint, Tint); /* hor, ver */
155extern void call_func_anno_text_rel3( tel_point, Tchar* );
156extern void call_func_dcue_ind(Tint); /* dcid */
157extern void call_func_set_do_texturemap(Tint); /* bool */
158extern void call_func_set_texture_id(Tint); /* TextureID */
159extern void call_func_set_text_style(int); /* style */
160extern void call_func_set_text_display_type(int); /* display_type */
161#ifdef G003
162extern void call_func_set_degenerate_model ( Tint, Tfloat ); /* degenerate model */
163#endif /* G003 */
164
165extern void call_func_set_text_zoomable(Tint); /*Text Zoomable usage*/
166extern void call_func_set_text_angle(Tfloat); /*Text Angle usage*/
167extern void call_func_set_text_fontaspect(OSD_FontAspect); /*Text Zoomable usage*/
168
169/* OCC4895 SAN 22/03/04 High-level interface for controlling polygon offsets */
170extern void call_func_set_polygon_offset_params( Tint, /* mode */
171 Tfloat, /* factor */
172 Tfloat ); /* units */
173/* OCC4895 SAN 22/03/04 High-level interface for controlling polygon offsets */
174
175/* ABD 29/10/04 Transform Persistence of Presentation( pan, zoom, rotate ) */
176extern void call_func_set_transform_persistence( Tint, Tfloat, Tfloat, Tfloat );
177/* extern void call_func_set_transform_persistence( tel_transform_persistence tp );*/
178/* ABD 29/10/04 Transform Persistence of Presentation( pan, zoom, rotate ) */
179
180
181/* OCC18942: obsolete in OCCT6.3, might be removed in further versions! */
182extern void call_func_eval_ori_matrix3( point3 *vrp, vec3 *vpn, vec3 *vup,
183 int *err_ind, float mout[4][4] );
184/* OCC18942: obsolete in OCCT6.3, might be removed in further versions! */
185extern void call_func_eval_map_matrix3( view_map3 *Map, int *err_ind,
186 matrix3 mat );
187
188/*----------------------------------------------------------------------*/
189/*
190* Constantes
191*/
192
193/* Edge types */
194#define CALL_PHIGS_EDGE_OFF TOff
195#define CALL_PHIGS_EDGE_ON TOn
196
197/* Edge data flags */
198#define CALL_PHIGS_EDGE_NONE TOff
199#define CALL_PHIGS_EDGE_VISIBILITY TOn
200
201/* Line Types */
202#define CALL_PHIGS_LINE_SOLID TEL_LS_SOLID
203#define CALL_PHIGS_LINE_DASH TEL_LS_DASH
204#define CALL_PHIGS_LINE_DOT TEL_LS_DOT
205#define CALL_PHIGS_LINE_DASH_DOT TEL_LS_DASH_DOT
206
207/* Marker types */
208#define CALL_PHIGS_MARKER_DOT TEL_PM_DOT
209#define CALL_PHIGS_MARKER_PLUS TEL_PM_PLUS
210#define CALL_PHIGS_MARKER_ASTERISK TEL_PM_STAR
211#define CALL_PHIGS_MARKER_CIRCLE TEL_PM_CIRC
212#define CALL_PHIGS_MARKER_CROSS TEL_PM_CROSS
213#define CALL_PHIGS_MARKER_USER_DEFINED TEL_PM_USERDEFINED
214
215/* Text : Path */
216#define CALL_PHIGS_PATH_RIGHT 0
217#define CALL_PHIGS_PATH_LEFT 0
218#define CALL_PHIGS_PATH_UP 0
219#define CALL_PHIGS_PATH_DOWN 0
220
221/* Text : Horizontal alignment */
222#define CALL_PHIGS_HOR_LEFT 0
223#define CALL_PHIGS_HOR_CENTER 1
224#define CALL_PHIGS_HOR_RIGHT 2
225
226/* Text : Vertical alignment */
227#define CALL_PHIGS_VERT_BOTTOM 0
228#define CALL_PHIGS_VERT_CENTER 1
229#define CALL_PHIGS_VERT_TOP 2
230
231/* Interior styles */
232#define CALL_PHIGS_STYLE_HOLLOW TSM_HOLLOW
233#define CALL_PHIGS_STYLE_SOLID TSM_SOLID
234#define CALL_PHIGS_STYLE_HATCH TSM_HATCH
235#define CALL_PHIGS_STYLE_EMPTY TSM_EMPTY
236#define CALL_PHIGS_STYLE_HIDDENLINE TSM_HIDDENLINE
237
238/* Light Source Types */
239#define CALL_PHIGS_LIGHT_AMBIENT TLightAmbient
240#define CALL_PHIGS_LIGHT_DIRECTIONAL TLightDirectional
241#define CALL_PHIGS_LIGHT_POSITIONAL TLightPositional
242#define CALL_PHIGS_LIGHT_SPOT TLightSpot
243
244/* Hatch styles */
245#define CALL_PHIGS_HATCH_HORIZ TEL_HS_HORIZONTAL
246#define CALL_PHIGS_HATCH_HORIZ_DBL TEL_HS_HORIZONTAL_SPARSE
247#define CALL_PHIGS_HATCH_VERT TEL_HS_VERTICAL
248#define CALL_PHIGS_HATCH_VERT_DBL TEL_HS_VERTICAL_SPARSE
249#define CALL_PHIGS_HATCH_DIAG_45 TEL_HS_DIAG_45
250#define CALL_PHIGS_HATCH_DIAG_45_DBL TEL_HS_DIAG_45_SPARSE
251#define CALL_PHIGS_HATCH_DIAG_135 TEL_HS_DIAG_135
252#define CALL_PHIGS_HATCH_DIAG_135_DBL TEL_HS_DIAG_135_SPARSE
253#define CALL_PHIGS_HATCH_GRID_R TEL_HS_GRID
254#define CALL_PHIGS_HATCH_GRID_R_DBL TEL_HS_GRID_SPARSE
255#define CALL_PHIGS_HATCH_GRID_D TEL_HS_CROSS
256#define CALL_PHIGS_HATCH_GRID_D_DBL TEL_HS_CROSS_SPARSE
257
258/* Edit modes */
259#define CALL_PHIGS_EDIT_INSERT TEditInsert
260#define CALL_PHIGS_EDIT_REPLACE TEditReplace
261
262/* Transformation */
263#define CALL_PHIGS_TYPE_PRECONCAT TPreConcatenate
264#define CALL_PHIGS_TYPE_POSTCONCAT TPostConcatenate
265#define CALL_PHIGS_TYPE_REPLACE TReplace
266
267/* Clipping indicators */
268#define CALL_PHIGS_IND_NO_CLIP TOff
269#define CALL_PHIGS_IND_CLIP TOn
270
271/* Projection types */
272#define CALL_PHIGS_TYPE_PARAL TelParallel
273#define CALL_PHIGS_TYPE_PERSPECT TelPerspective
274
275/* shading methods */
276#define CALL_PHIGS_SD_NONE TEL_SM_FLAT
277#define CALL_PHIGS_SD_COLOUR TEL_SM_GOURAUD
278#define CALL_PHIGS_SD_DOT_PRODUCT TEL_SM_GOURAUD
279#ifndef BUC60570
280#define CALL_PHIGS_SD_NORMAL TEL_SM_GOURAUD
281#else
282#define CALL_PHIGS_SD_NORMAL TEL_SM_FLAT
283#endif
284
285/* lighting methods */
286#define CALL_PHIGS_REFL_NONE 0x0000
287#define AMBIENT_MASK 0x0001
288#define DIFFUSE_MASK 0x0002
289#define SPECULAR_MASK 0x0004
290#define EMISSIVE_MASK 0x0008
291
292/* cull mode */
293#define CALL_PHIGS_CULL_NONE TelCullNone
294#define CALL_PHIGS_CULL_BACKFACE TelCullBack
295#define CALL_PHIGS_CULL_FRONTFACE TelCullFront
296
297/* depth cue mode */
298#define CALL_PHIGS_SUPPRESSED TelDCSuppressed
299#define CALL_PHIGS_ALLOWED TelDCAllowed
300
301/* distinguish mode */
302#define CALL_PHIGS_DISTING_NO TOff
303#define CALL_PHIGS_DISTING_YES TOn
304
305#define CALL_DEF_ENABLE_ZBUFFER TOn
306#define CALL_DEF_DISABLE_ZBUFFER TOff
307
308/* style of text */
309#define ASPECT_TOST_NORMAL 0
310#define ASPECT_TOST_ANNOTATION 1
311
312/* display type of the text */
313#define ASPECT_TODT_NORMAL 0
314#define ASPECT_TODT_SUBTITLE 1
315#define ASPECT_TODT_DEKALE 2
316#define ASPECT_TODT_BLEND 3
317
318/* Pick Order */
319#define PTOP_FIRST TTopFirst
320#define PBOTTOM_FIRST TBottomFirst
321
322/* Facet types */
323#define CALL_PHIGS_SHAPE_COMPLEX TEL_SHAPE_COMPLEX
324#define CALL_PHIGS_SHAPE_NONCONVEX TEL_SHAPE_CONCAVE
325#define CALL_PHIGS_SHAPE_CONVEX TEL_SHAPE_CONVEX
326#define CALL_PHIGS_SHAPE_UNKNOWN TEL_SHAPE_UNKNOWN
327
328/* Vertex flags */
329#define CALL_PHIGS_VERT_COORD TEL_VTFLAG_NONE
330#define CALL_PHIGS_VERT_COORD_COLOUR TEL_VTFLAG_COLOUR
331#define CALL_PHIGS_VERT_COORD_NORMAL TEL_VTFLAG_NORMAL
332#define CALL_PHIGS_VERT_COORD_COLOUR_NORMAL TEL_VTFLAG_COLOURNORMAL
333
334/* Facet data flags */
335#define CALL_PHIGS_FACET_NONE TEL_FAFLAG_NONE
336#define CALL_PHIGS_FACET_COLOUR TEL_FAFLAG_COLOUR
337#define CALL_PHIGS_FACET_NORMAL TEL_FAFLAG_NORMAL
338#define CALL_PHIGS_FACET_COLOUR_NORMAL TEL_FAFLAG_COLOURNORMAL
339
340/* functions */
341#define call_func_open_struct TsmOpenStructure
342#define call_func_close_struct TsmCloseStructure
343#define call_func_set_edit_mode TsmSetEditMode
344#define call_func_set_elem_ptr TsmSetElementPointer
345#define call_func_offset_elem_ptr TsmOffsetElementPointer
346#define call_func_set_elem_ptr_label TsmSetElementPointerAtLabel
347#define call_func_del_elem TsmDeleteElement
348#define call_func_del_elem_range TsmDeleteElementRange
349#define call_func_del_elems_labels TsmDeleteElementsBetweenLabels
350#define call_func_del_struct TsmDeleteStructure
351
352#define call_func_inq_elem_ptr TsmGetCurElemPtr
353
354/* Declarations des subroutines triedron */
355
356void EXPORT call_togl_ztriedron_setup (
357 float* xcolor,
358 float* ycolor,
359 float* zcolor,
360 float sizeratio,
361 float axisdiameter,
362 int nbfacettes
363 );
364
365void EXPORT call_togl_triedron_display (
366 CALL_DEF_VIEW * aview,
367 int APosition,
368 float r,
369 float g,
370 float b,
371 float AScale,
372 int asWireframe
373 );
374
375void EXPORT call_togl_triedron_erase (
376 CALL_DEF_VIEW *aview
377 );
378
379void EXPORT call_togl_triedron_echo (
380 CALL_DEF_VIEW *aview,
381 int AType
382 );
383
384/* Graduated trihedron */
385
386void EXPORT call_togl_graduatedtrihedron_get(CALL_DEF_VIEW* view,
387 CALL_DEF_GRADUATEDTRIHEDRON* cubic);
388
389void EXPORT call_togl_graduatedtrihedron_display(CALL_DEF_VIEW* view,
390 CALL_DEF_GRADUATEDTRIHEDRON* cubic);
391
392void EXPORT call_togl_graduatedtrihedron_erase(CALL_DEF_VIEW* view);
393
394void EXPORT call_togl_graduatedtrihedron_minmaxvalues(float xmin, float ymin, float zmin,
395 float xmax, float ymax, float zmax);
396
397/* Declarations des subroutines mode immediat */
398
399int EXPORT call_togl_begin_ajout_mode (
400 CALL_DEF_VIEW *aview
401 );
402
403void EXPORT call_togl_end_ajout_mode (
404 );
405
406int EXPORT call_togl_begin_immediat_mode (
407 CALL_DEF_VIEW *aview,
408 CALL_DEF_LAYER *anunderlayer,
409 CALL_DEF_LAYER *anoverlayer,
410 int doublebuffer,
411 int retainmode
412 );
413
414void EXPORT call_togl_end_immediat_mode (
415 int synchronize
416 );
417
418void EXPORT call_togl_clear_immediat_mode (
419 CALL_DEF_VIEW *aview,
420 int aFlush
421 );
422
423void EXPORT call_togl_transform (
424 CALL_DEF_MATRIX4X4 amatrix,
425 int mode
426 );
427
428void EXPORT call_togl_begin_polyline (
429 );
430
431void EXPORT call_togl_end_polyline (
432 );
433
434void EXPORT call_togl_begin_polygon (
435 );
436
437void EXPORT call_togl_end_polygon (
438 );
439
440void EXPORT call_togl_begin_trianglemesh (
441 );
442
443void EXPORT call_togl_end_trianglemesh (
444 );
445
446void EXPORT call_togl_begin_marker (
447 );
448
449void EXPORT call_togl_end_marker (
450 );
451
452void EXPORT call_togl_begin_bezier (
453 );
454
455void EXPORT call_togl_end_bezier (
456 );
457
458void EXPORT call_togl_move (
459 float x,
460 float y,
461 float z
462 );
463
464void EXPORT call_togl_movenormal (
465 float x,
466 float y,
467 float z,
468 float nx,
469 float ny,
470 float nz
471 );
472
473void EXPORT call_togl_moveweight (
474 float x,
475 float y,
476 float z,
477 float w
478 );
479
480void EXPORT call_togl_draw (
481 float x,
482 float y,
483 float z
484 );
485
486void EXPORT call_togl_drawnormal (
487 float x,
488 float y,
489 float z,
490 float nx,
491 float ny,
492 float nz
493 );
494
495void EXPORT call_togl_drawweight (
496 float x,
497 float y,
498 float z,
499 float w
500 );
501
502void EXPORT call_togl_draw_text (
503 CALL_DEF_TEXT *atext
504 );
505
506void EXPORT call_togl_draw_structure (
507 int StructId
508 );
509
510void EXPORT call_togl_set_linecolor (
511 float r,
512 float g,
513 float b
514 );
515
516void EXPORT call_togl_set_interiorcolor (
517 float r,
518 float g,
519 float b
520 );
521
522void EXPORT call_togl_set_linetype (
523
524 long type
525
526 );
527
528void EXPORT call_togl_set_interiortype (
529
530 long type
531
532 );
533
534void EXPORT call_togl_set_linewidth (
535
536 float width
537
538 );
539
540void EXPORT call_togl_set_textcolor (
541
542 float r,
543 float g,
544 float b
545
546 );
547
548void EXPORT call_togl_set_textfont (
549
550 char *police,
551 float factor,
552 float space
553
554 );
555
556void EXPORT call_togl_set_markercolor (
557
558 float r,
559 float g,
560 float b
561
562 );
563
564void EXPORT call_togl_set_markertype (
565
566 long type,
567 float scale
568
569 );
570
571void EXPORT call_togl_set_minmax (
572
573 float x1,
574 float y1,
575 float z1,
576 float x2,
577 float y2,
578 float z2
579
580 );
581
582void EXPORT call_togl_set_rgb (
583
584 float r,
585 float g,
586 float b
587
588 );
589
590/* Declarations des subroutines appelees du C++ */
591/* dans les packages Graphic3d et Visual3d */
592
593void EXPORT call_togl_opengroup (
594
595 CALL_DEF_GROUP *agroup
596
597 );
598
599void EXPORT call_togl_closegroup (
600
601 CALL_DEF_GROUP *agroup
602
603 );
604
605void EXPORT call_togl_cleargroup (
606
607 CALL_DEF_GROUP *agroup
608
609 );
610
611void EXPORT call_togl_linecontextgroup (
612
613 CALL_DEF_GROUP *agroup,
614 int noinsert
615
616 );
617
618void EXPORT call_togl_facecontextgroup (
619
620 CALL_DEF_GROUP *agroup,
621 int noinsert
622
623 );
624
625void EXPORT call_togl_markercontextgroup (
626
627 CALL_DEF_GROUP *agroup,
628 int noinsert
629
630 );
631
632void EXPORT call_togl_textcontextgroup (
633
634 CALL_DEF_GROUP *agroup,
635 int noinsert
636
637 );
638
639void EXPORT call_togl_group (
640
641 CALL_DEF_GROUP *agroup
642
643 );
644
645void EXPORT call_togl_marker (
646
647 CALL_DEF_GROUP *agroup,
648 CALL_DEF_MARKER *amarker
649
650 );
651
652void EXPORT call_togl_marker_set (
653
654 CALL_DEF_GROUP *agroup,
655 CALL_DEF_LISTMARKERS *almarkers
656
657 );
658
659void EXPORT call_togl_polyline (
660
661 CALL_DEF_GROUP *agroup,
662 CALL_DEF_LISTPOINTS *alpoints
663
664 );
665
666void EXPORT call_togl_polygon (
667
668 CALL_DEF_GROUP *agroup,
669 CALL_DEF_FACET *afacet
670
671 );
672
673void EXPORT call_togl_polygon_holes (
674
675 CALL_DEF_GROUP *agroup,
676 CALL_DEF_LISTFACETS *alfacets
677
678 );
679
680void EXPORT call_togl_polygon_indices (
681
682 CALL_DEF_GROUP *agroup,
683 CALL_DEF_LISTPOINTS *alpoints,
684 CALL_DEF_LISTEDGES *aledges,
685 CALL_DEF_LISTINTEGERS *albounds
686
687 );
688
689void EXPORT call_togl_pickid (
690
691 CALL_DEF_GROUP *agroup
692
693 );
694
695void EXPORT call_togl_quadrangle (
696
697 CALL_DEF_GROUP *agroup,
698 CALL_DEF_QUAD *aquad
699
700 );
701
702void EXPORT call_togl_removegroup (
703
704 CALL_DEF_GROUP *agroup
705
706 );
707
708void EXPORT call_togl_text (
709
710 CALL_DEF_GROUP *agroup,
711 CALL_DEF_TEXT *atext
712
713 );
714
715void EXPORT call_togl_triangle (
716
717 CALL_DEF_GROUP *agroup,
718 CALL_DEF_TRIKE *atrike
719
720 );
721
722void EXPORT call_togl_bezier (
723
724 CALL_DEF_GROUP *agroup,
725 CALL_DEF_LISTPOINTS *alpoints
726
727 );
728
729void EXPORT call_togl_bezier_weight (
730
731 CALL_DEF_GROUP *agroup,
732 CALL_DEF_LISTPOINTS *alpoints,
733 CALL_DEF_LISTREALS *alweights
734
735 );
736
737void EXPORT call_togl_blink (
738
739 CALL_DEF_STRUCTURE *astructure,
740 int create
741
742 );
743
744void EXPORT call_togl_boundarybox (
745
746 CALL_DEF_STRUCTURE *astructure,
747 int create
748
749 );
750
751void EXPORT call_togl_clearstructure (
752
753 CALL_DEF_STRUCTURE *astructure
754
755 );
756
757void EXPORT call_togl_contextstructure (
758
759 CALL_DEF_STRUCTURE *astructure
760
761 );
762
763void EXPORT call_togl_highlightcolor (
764
765 CALL_DEF_STRUCTURE *astructure,
766 CALL_DEF_COLOR *acolor,
767 int create
768
769 );
770
771void EXPORT call_togl_namesetstructure (
772
773 CALL_DEF_STRUCTURE *astructure
774
775 );
776
777void EXPORT call_togl_removestructure (
778
779 CALL_DEF_STRUCTURE *astructure
780
781 );
782
783void EXPORT call_togl_structure (
784
785 CALL_DEF_STRUCTURE *astructure
786
787 );
788
789void EXPORT call_togl_transformstructure (
790
791 CALL_DEF_STRUCTURE *astructure
792
793 );
794
795void EXPORT call_togl_degeneratestructure (
796
797 CALL_DEF_STRUCTURE *astructure
798
799 );
800
801void EXPORT call_togl_connect (
802
803 CALL_DEF_STRUCTURE *afather,
804 CALL_DEF_STRUCTURE *ason
805
806 );
807
808void EXPORT call_togl_disconnect (
809
810 CALL_DEF_STRUCTURE *afather,
811 CALL_DEF_STRUCTURE *ason
812
813 );
814
815int EXPORT call_togl_begin_animation (
816
817 CALL_DEF_VIEW *aview
818
819 );
820
821void EXPORT call_togl_end_animation (
822
823 CALL_DEF_VIEW *aview
824
825 );
826
827int EXPORT call_togl_begin (
828
829 char *adisplay
830
831 );
832
833/*RIC120302*/
834int EXPORT call_togl_begin_display (
835
836 void *pdisplay
837
838 );
839/*RIC120302*/
840
841void EXPORT call_togl_end (
842
843
844 );
845
846void EXPORT call_togl_structure_exploration (
847
848 long Id,
849 long LabelBegin,
850 long LabelEnd
851
852 );
853
854void EXPORT call_togl_element_exploration (
855
856 long Id,
857 long elem_num,
858 long *type,
859 CALL_DEF_POINT *pt,
860 CALL_DEF_NORMAL *npt,
861 CALL_DEF_COLOR *cpt,
862 CALL_DEF_NORMAL *nfa
863
864 );
865
866void EXPORT call_togl_element_type (
867
868 long Id,
869 long elem_num,
870 long *type
871
872 );
873
874void EXPORT call_togl_activateview (
875
876 CALL_DEF_VIEW *aview
877
878 );
879
880void EXPORT call_togl_antialiasing (
881
882 CALL_DEF_VIEW *aview,
883 int tag
884
885 );
886
887void EXPORT call_togl_background (
888
889 CALL_DEF_VIEW *aview
890
891 );
892
893void EXPORT call_togl_gradient_background (
894
895 int ws, int type,
896 tel_colour tcolor1, tel_colour tcolor2
897
898 );
899
900void EXPORT call_togl_set_gradient_type (
901
902 int ws, int type
903
904 );
905
906int EXPORT call_togl_project_raster (
907
908 int wsid,
909 float x,
910 float y,
911 float z,
912 int *ixr,
913 int *iyr
914
915 );
916
917int EXPORT call_togl_adopt_to_rect(
918 int,
919 int,
920 int
921 );
922
923int EXPORT call_togl_unproject_raster (
924
925 int wsid,
926 int xm,
927 int ym,
928 int xM,
929 int yM,
930 int ixr,
931 int iyr,
932 float *x,
933 float *y,
934 float *z
935
936 );
937
938int EXPORT call_togl_unproject_raster_with_ray (
939
940 int wsid,
941 int xm,
942 int ym,
943 int xM,
944 int yM,
945 int ixr,
946 int iyr,
947 float *x,
948 float *y,
949 float *z,
950 float *dx,
951 float *dy,
952 float *dz
953
954 );
955
956void EXPORT call_togl_cliplimit (
957
958 CALL_DEF_VIEW *aview,
959 int wait
960
961 );
962
963void EXPORT call_togl_deactivateview (
964
965 CALL_DEF_VIEW *aview
966
967 );
968
969void EXPORT call_togl_depthcueing (
970
971 CALL_DEF_VIEW *aview,
972 int tag
973
974 );
975
976void EXPORT call_togl_displaystructure (
977
978 CALL_DEF_VIEW *aview,
979 int StructId,
980 int Priority
981
982 );
983
984void EXPORT call_togl_erasestructure (
985
986 int ViewId,
987 int StructId
988
989 );
990
991void EXPORT call_togl_init_pick (
992
993
994 );
995
996void EXPORT call_togl_pick (
997
998 CALL_DEF_PICK *apick
999
1000 );
1001
1002void EXPORT call_togl_ratio_window (
1003
1004 CALL_DEF_VIEW *aview
1005
1006 );
1007
1008void EXPORT call_togl_redraw (
1009
1010 CALL_DEF_VIEW *aview,
1011 CALL_DEF_LAYER *anunderlayer,
1012 CALL_DEF_LAYER *anoverlayer
1013
1014 );
1015
1016void EXPORT call_togl_redraw_area (
1017
1018 CALL_DEF_VIEW *aview,
1019 CALL_DEF_LAYER *anunderlayer,
1020 CALL_DEF_LAYER *anoverlayer,
1021 int x, int y, int width, int height
1022
1023 );
1024
1025void EXPORT call_togl_removeview (
1026
1027 CALL_DEF_VIEW *aview
1028
1029 );
1030
1031void EXPORT call_togl_setlight (
1032
1033 CALL_DEF_VIEW *aview
1034
1035 );
1036
1037void EXPORT call_togl_setplane (
1038
1039 CALL_DEF_VIEW *aview
1040
1041 );
1042
1043void EXPORT call_togl_setvisualisation (
1044
1045 CALL_DEF_VIEW *aview
1046
1047 );
1048
1049void EXPORT call_togl_transparency (
1050
1051 int WsId,
1052 int ViewId,
1053 int Activity
1054
1055 );
1056
1057void EXPORT call_togl_update (
1058
1059 CALL_DEF_VIEW *aview,
1060 CALL_DEF_LAYER *anunderlayer,
1061 CALL_DEF_LAYER *anoverlayer
1062
1063 );
1064
1065int EXPORT call_togl_view (
1066
1067 CALL_DEF_VIEW *aview
1068
1069 );
1070
1071int EXPORT call_togl_viewmapping (
1072
1073 CALL_DEF_VIEW *aview,
1074 int wait
1075
1076 );
1077
1078int EXPORT call_togl_vieworientation (
1079
1080 CALL_DEF_VIEW *aview,
1081 int wait
1082
1083 );
1084
1085int EXPORT call_togl_inquiretexture (
1086
1087
1088 );
1089
1090int EXPORT call_togl_inquirelight (
1091
1092
1093 );
1094
1095int EXPORT call_togl_inquireplane (
1096
1097
1098 );
1099
1100int EXPORT call_togl_inquireview (
1101
1102
1103 );
1104
1105int EXPORT call_togl_inquiremat (
1106
1107 CALL_DEF_VIEW *aview,
1108 CALL_DEF_MATRIX4X4 ori_matrix,
1109 CALL_DEF_MATRIX4X4 map_matrix
1110
1111 );
1112
1113void EXPORT call_togl_view_exploration (
1114
1115 long Id
1116
1117 );
1118
1119#ifdef OCC1188
1120int EXPORT call_togl_create_texture (
1121
1122 int Type,
1123 unsigned int Width,
1124 unsigned int Height,
1125 unsigned char *Data,
1126 char *FileName
1127
1128 );
1129
1130void EXPORT call_togl_create_bg_texture (
1131
1132 CALL_DEF_VIEW *aview,
1133 int width,
1134 int height,
1135 unsigned char *data,
1136 int style
1137
1138 );
1139#endif /* OCC1188 */
1140
1141void EXPORT call_togl_set_bg_texture_style(
1142
1143 CALL_DEF_VIEW* aview,
1144 int style
1145
1146 );
1147
1148void EXPORT call_togl_destroy_texture (
1149
1150 int TexId
1151
1152 );
1153
1154void EXPORT call_togl_modify_texture (
1155
1156 int TexId,
1157 CALL_DEF_INIT_TEXTURE *init_tex
1158
1159 );
1160
1161void EXPORT call_togl_environment (
1162
1163 CALL_DEF_VIEW *aview
1164
1165 );
1166
1167/* Declarations des subroutines layer mode */
1168
1169void EXPORT call_togl_layer2d (
1170
1171 CALL_DEF_LAYER *alayer
1172
1173 );
1174
1175void EXPORT call_togl_removelayer2d (
1176
1177 CALL_DEF_LAYER *alayer
1178
1179 );
1180
1181void EXPORT call_togl_begin_layer2d (
1182
1183 CALL_DEF_LAYER *alayer
1184
1185 );
1186
1187void EXPORT call_togl_end_layer2d (
1188 );
1189
1190void EXPORT call_togl_clear_layer2d (
1191
1192 CALL_DEF_LAYER *alayer
1193
1194 );
1195
1196void EXPORT call_togl_begin_polyline2d (
1197 );
1198
1199void EXPORT call_togl_end_polyline2d (
1200 );
1201
1202void EXPORT call_togl_begin_polygon2d (
1203 );
1204
1205void EXPORT call_togl_end_polygon2d (
1206 );
1207
1208void EXPORT call_togl_move2d (
1209
1210 float x,
1211 float y
1212
1213 );
1214
1215void EXPORT call_togl_draw2d (
1216
1217 float x,
1218 float y
1219
1220 );
1221
1222void EXPORT call_togl_edge2d (
1223
1224 float x,
1225 float y
1226
1227 );
1228
1229void EXPORT call_togl_rectangle2d (
1230
1231 float x,
1232 float y,
1233 float w,
1234 float h
1235
1236 );
1237
1238void EXPORT call_togl_set_color (
1239
1240 float r,
1241 float g,
1242 float b
1243
1244 );
1245
1246void EXPORT call_togl_set_transparency (
1247
1248 float a
1249
1250 );
1251
1252void EXPORT call_togl_unset_transparency ( );
1253
1254void EXPORT call_togl_set_line_attributes (
1255
1256 long type,
1257 float width
1258
1259 );
1260
1261void EXPORT call_togl_set_text_attributes (
1262
1263 Tchar* font,
1264 long type,
1265 float r,
1266 float g,
1267 float b
1268
1269 );
1270
1271void EXPORT call_togl_set_text_attributes (
1272
1273 Tchar* font,
1274 Tint height,
1275 OSD_FontAspect type,
1276 float r,
1277 float g,
1278 float b
1279
1280 );
1281
1282void EXPORT call_togl_set_text_scale_factors (
1283
1284 Tfloat x,
1285 Tfloat y
1286
1287 );
1288
1289void EXPORT call_togl_text2d (
1290
1291 char *s,
1292 float x,
1293 float y,
1294 float height
1295
1296 );
1297
1298void EXPORT call_togl_textsize2d (
1299
1300 char *s,
1301 float height,
1302 float *width,
1303 float *ascent,
1304 float *descent
1305
1306 );
1307
1308void EXPORT call_togl_backfacing (
1309
1310 CALL_DEF_VIEW*
1311
1312 );
1313
1314/* *** group of parray functions *** */
1315
1316void EXPORT call_togl_parray (
1317
1318 CALL_DEF_GROUP *agroup,
1319 CALL_DEF_PARRAY* parray
1320
1321 );
1322
1323void EXPORT call_togl_userdraw (
1324
1325 CALL_DEF_GROUP *agroup,
1326 CALL_DEF_USERDRAW *anobject
1327
1328 );
1329
1330/* ------------------------- */
1331void EXPORT call_togl_print (
1332
1333 CALL_DEF_VIEW *aview,
1334 CALL_DEF_LAYER *anunderlayer,
1335 CALL_DEF_LAYER *anoverlayer,
1336 const Aspect_Drawable hPrintDC,
1337 const int background,
1338 const char* filename
1339
1340 );
1341
1342
1343#ifdef BUC61044
1344void EXPORT call_togl_depthtest (
1345
1346 CALL_DEF_VIEW *aview,
1347 int dFlag
1348
1349 );
1350
1351int EXPORT call_togl_isdepthtest (
1352
1353 CALL_DEF_VIEW *aview
1354
1355 );
1356#endif
1357
1358#ifdef BUC61045
1359void EXPORT call_togl_gllight (
1360
1361 CALL_DEF_VIEW *aview,
1362 int dFlag
1363
1364 );
1365
1366int EXPORT call_togl_isgllight (
1367
1368 CALL_DEF_VIEW *aview
1369
1370 );
1371#endif
1372
1373/*----------------------------------------------------------------------*/
1374
1375#endif