0024704: Visualization - inherit OpenGl_Structure from Graphic3d_CStructure
[occt.git] / src / Aspect / Aspect.cdl
1 -- Created by: NW,JPB,CAL
2 -- Copyright (c) 1991-1999 Matra Datavision
3 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 -- Package:     Aspect
17 -- Updated:     Vendredi 2 Octobre 1992
18 --              Mercredi 31 mars 1993
19 --              Lundi 16 janvier 1995 
20 -- Reason :     Traitement des Markers (G400)
21 -- Purpose:     Specifications definitives
22 -- Modified:    15/01/98 ; FMN : Ajout Hidden Line
23 -- Modified:    07/07/98 ; DCB : Adding plotmode enum
24 -- Modified: 07-07-98 by DCB (S3602 study)
25 --    Adding plotmode enum
26 -- Modified: 20-07-98 by DCB (S3602 study)
27 --   Adding Plotter and PlotterConfigTool classes
28 --   to plotters (PLO)
29 -- Modified: 22-07-98 by DCB
30 --   Adding DriverPtr, PlotterDriverPtr, WindowDriverPtr
31 --   pointers.
32 -- Modified: 24/08/98 ; CAL : S3892. Ajout grilles 3d.
33 -- Modified: 16-09-98 by BGN (S3989) 
34 ---   Adding TypeOfTriedronEcho, TypeOfTriedronPosition.
35 -- Modified: 30-11-98 ; FMN : S4069. Textes always visible.
36 -- Modified: 30/10/98 : DCB : S4046
37 --   Adding class PlotterParameter and changing the Plotter's class
38 --   implementation according to new PLO specifications (S3604 ???)
39 --   Also new classes : (H)Array1OfPlotterParameter
40 --   New enumeration : TypeOfPlotterParameter.
41 --   New exception : PlotterParameterError.
42 -- Modified: 25-NOV-98 : DCB
43 --   Removing all plotters specific implementation from Aspect.
44 --   These classes and enums will now be located in PlotMgt.
45 -- Modified: 17-NOV-99 : GG GER61351
46 --   Add TypeOfFacingModel enum 
47 -- Modified: 20-JAN-00 : GG 
48 --   Add GDM_None in enum GridDrawMode.
49 -- Modified: 25-JAN-00 : VKH
50 --   Add class PixMap
51 -- Modified: 23-FEB-00 : GG
52 --   Returns format name in ValuesOfFOSP() internal method.
53 -- Modified: 27-03-02 RIC120302 GG Add imported class 
54 -- Display, Drawable, RenderingContext, GraphicCallbackProc
55 -- Modified: 22-03-04 OCC4895 SAN High-level interface for controlling polygon offsets
56 -- Modified: 21-06-04 STV Added Aspect_ColorScale class
57
58 ------------------------------------------------------------------------
59
60 package Aspect
61
62         ---Version:
63
64         ---Purpose: This package contains the group of graphic elements common
65         --          to different types of visualisers. It allows the description
66         --          of a screen background, a window, an edge, and groups of
67         --          graphic attributes that can be used in describing 2D
68         --          and 3D objects.
69
70         ---Keywords: Window, Aspect, FillArea, Line, Marker, Edge
71         --           Highlight, Hatch, Background, GradientBackground, Color map,
72         --           Type map, Width map, Font map
73         ---Warning:
74         ---References:
75
76 uses
77         TCollection,
78         TColStd,
79         TShort,
80         Quantity,
81         TColQuantity,
82         Resource,
83         MMgt
84
85 is
86         ---------------------------
87         -- Category: Imported types
88         ---------------------------
89         imported FStream;
90         -- waiting for RBA creating this class in Standard ...  
91
92         imported IFStream;
93         -- G002A study 
94
95         imported CLayer2d;
96         ---Purpose: Defines the C structure <alayer>
97         ---Category: Imported types
98
99         imported RGBPixel;
100         ---Purpose:
101
102         primitive Handle;
103         primitive Drawable;
104         ---Purpose:
105         -- To manage Drawable
106
107         primitive Display;
108         ---Purpose:
109         -- To manage Display 
110
111         primitive RenderingContext;
112         ---Purpose:
113         -- To manage 2D or 3D graphic context
114
115         imported GraphicCallbackProc;
116         ---Purpose:
117         -- To manage client post display 
118
119         -- 22-03-04 OCC4895 SAN High-level interface for controlling polygon offsets
120         imported PolygonOffsetMode;
121         ---Purpose: 
122         -- Enumeration for polygon offset modes
123
124         ---------------------
125         -- Category: Pointers
126         ---------------------
127
128         pointer DriverPtr to Driver from Aspect;
129         pointer WindowDriverPtr to WindowDriver from Aspect;
130      
131         ---Category: Pointers
132
133         -----------------------
134         -- Category: Exceptions
135         -----------------------
136
137         exception AspectLineDefinitionError inherits OutOfRange;
138         ---Category: Exceptions
139
140         exception AspectFillAreaDefinitionError inherits OutOfRange;
141         ---Category: Exceptions
142
143         exception AspectMarkerDefinitionError inherits OutOfRange;
144         ---Category: Exceptions
145
146         exception BadAccess inherits DomainError;
147         ---Category: Exceptions
148
149         exception ColorMapDefinitionError inherits OutOfRange;
150         ---Category: The exceptions
151
152         exception EdgeDefinitionError inherits OutOfRange;
153         ---Category: Exceptions
154
155         exception IdentDefinitionError inherits OutOfRange;
156         ---Category: Exceptions
157
158         exception TypeMapDefinitionError inherits OutOfRange;
159         ---Category: The exceptions
160
161         exception WidthMapDefinitionError inherits OutOfRange;
162         ---Category: The exceptions
163
164         exception FontMapDefinitionError inherits OutOfRange;
165         ---Category: The exceptions
166
167         exception MarkMapDefinitionError inherits OutOfRange;
168         ---Category: The exceptions
169
170         exception WindowDefinitionError inherits OutOfRange;
171         ---Category: The exceptions
172
173         exception WindowError inherits OutOfRange;
174         ---Category: The exceptions
175
176         exception PixmapDefinitionError inherits OutOfRange;
177         ---Category: The exceptions
178
179         exception PixmapError inherits OutOfRange;
180         ---Category: The exceptions
181
182         exception DriverDefinitionError inherits OutOfRange;
183         ---Category: The exceptions
184
185         exception DriverError inherits OutOfRange;
186         ---Category: The exceptions
187
188         exception GraphicDeviceDefinitionError inherits OutOfRange;
189         ---Category: The exceptions
190
191         exception DisplayConnectionDefinitionError inherits OutOfRange;
192         ---Category: The exceptions
193
194         exception LineStyleDefinitionError inherits OutOfRange;
195         ---Category: Exceptions
196
197         exception LineWidthDefinitionError inherits OutOfRange;
198         ---Category: Exceptions
199
200         exception PolyStyleDefinitionError inherits OutOfRange;
201         ---Category: Exceptions
202
203         exception FontStyleDefinitionError inherits OutOfRange;
204         ---Category: Exceptions
205
206         exception MarkerStyleDefinitionError inherits OutOfRange;
207         ---Category: Exceptions
208
209         exception UndefinedMap inherits OutOfRange;
210         ---Category: Exceptions
211         
212         ------------------------------
213         -- Category: Classes Color map
214         ------------------------------
215
216         deferred class ColorMap;
217         ---Purpose: Defines a color map.
218         ---Category: Classes Color map
219
220         class ColorCubeColorMap;
221         ---Purpose: Associates a index and a color in the "ColorCube" space.
222         ---Category: Classes Color map
223
224         class ColorRampColorMap;
225         ---Purpose: Associates a index and a color in the linear "ColorRamp"
226         --          space.
227         ---Category: Classes Color map
228
229         class GenericColorMap;
230         ---Purpose: Associates an index and a color.
231         ---Category: Classes Color map
232
233         class ColorMapEntry;
234         ---Purpose: Defines an entry in the color map :
235         --          an index and a color.
236         ---Category: Classes Color map
237
238         ------------------------------
239         -- Category: Classes Pixel
240         ------------------------------
241
242         deferred class Pixel;
243         ---Purpose: Defines a picture element.
244         ---Category: Classes Pixel
245
246         class IndexPixel;
247         ---Purpose: 
248         ---Category: Classes Pixel
249
250         class ColorPixel;
251         ---Purpose: 
252         ---Category: Classes Pixel
253
254         ---------------------------
255         -- Category: Classes Aspect
256         ---------------------------
257
258         deferred class AspectLine;
259         ---Purpose: Creates and updates a group of graphic attributes
260         --          for primitives 'Line'
261         ---Category: Classes Aspect
262
263         deferred class AspectMarker;
264         ---Purpose: Creates and updates a group of graphic attributes
265         --          for primitives 'Marker'.
266         ---Category: Classes Aspect
267
268         deferred class AspectFillArea;
269         ---Purpose: Creates and updates a group of graphic attributes
270         --          for primitives 'Face'.
271         ---Category: Classes Aspect
272
273         --------------------
274         -- Category: Classes
275         --------------------
276
277         class Background;
278         ---Purpose: Defines a window background
279         ---Category: Classes
280
281         class GradientBackground;
282         ---Purpose: Defines a window gradient background
283         ---Category: Classes
284
285         class Edge;
286         ---Purpose: Defines an edge.
287         ---Category: Classes
288
289         class GenId;
290         ---Purpose: Creates and controles all identifiers.
291         ---Category: Classes
292
293         class FontStyle;
294         ---Purpose: Defines a Font Style
295         ---Category: The classes
296
297         class FontMapEntry;
298         ---Purpose: Defines an entry in the Font map :
299         --          an index and a text Font.
300         ---Category: Classes Font map
301
302         class FontMap;
303         ---Purpose: Associates an index and a text Font entry.
304         ---Category: The classes
305
306         class WidthMapEntry;
307         ---Purpose: Defines an entry in the Width map :
308         --          an index and a line Width.
309         ---Category: Classes Width map
310
311         class WidthMap;
312         ---Purpose: Associates an index and a line width entry.
313         ---Category: The classes
314
315         class LineStyle;
316         ---Purpose: Defines a Line Style
317         ---Category: The classes
318
319         class TypeMap;
320         ---Purpose: Associates an index and a line type entry.
321         ---Category: The classes
322
323         class TypeMapEntry;
324         ---Purpose: Defines an entry in the Type map :
325         --          an index and a line style.
326         ---Category: Classes Type map
327
328         class MarkerStyle;
329         ---Purpose: Defines a Marker Style
330         ---Category: The classes
331
332         class MarkMap;
333         ---Purpose: Associates an index and a Marker entry.
334         ---Category: The classes
335
336         class MarkMapEntry;
337         ---Purpose: Defines an entry in the Marker map :
338         --          an index and a marker style.
339         ---Category: Classes Mark map
340
341         deferred class Window;
342         ---Purpose: Defines a window.
343         ---Category: Classes
344
345         deferred class Driver;
346         ---Purpose: Defines a virtual driver.
347         ---Category: Classes
348
349         deferred class WindowDriver;
350         ---Purpose: Defines a virtual driver associated to a window.
351         ---Category: Classes
352
353         deferred class Grid;
354         class RectangularGrid;
355         class CircularGrid;
356
357         deferred class ColorScale;
358         ---Purpose: Defines a color scale for viewer.
359
360         imported DisplayConnection;
361         ---Purpose: Creates and provides connection with X server.
362
363         imported DisplayConnection_Handle;
364         ---Purpose: Handle for DisplayConnection;
365
366         -------------------------
367         -- Category: Enumerations
368         -------------------------
369
370         enumeration HatchStyle is       HS_HORIZONTAL,
371                                         HS_HORIZONTAL_WIDE,
372                                         HS_VERTICAL,
373                                         HS_VERTICAL_WIDE,
374                                         HS_DIAGONAL_45,
375                                         HS_DIAGONAL_45_WIDE,
376                                         HS_DIAGONAL_135,
377                                         HS_DIAGONAL_135_WIDE,
378                                         HS_GRID,
379                                         HS_GRID_WIDE,
380                                         HS_GRID_DIAGONAL,
381                                         HS_GRID_DIAGONAL_WIDE
382         end HatchStyle;
383         ---Purpose: Definition of all available hatch styles.
384         --
385         --          HS_HORIZONTAL
386         --          HS_HORIZONTAL_WIDE
387         --          HS_VERTICAL
388         --          HS_VERTICAL_WIDE
389         --          HS_DIAGONAL_45
390         --          HS_DIAGONAL_45_WIDE
391         --          HS_DIAGONAL_135
392         --          HS_DIAGONAL_135_WIDE
393         --          HS_GRID
394         --          HS_GRID_WIDE
395         --          HS_GRID_DIAGONAL
396         --          HS_GRID_DIAGONAL_WIDE
397         --
398         ---Category: Enumerations
399
400         enumeration InteriorStyle is    IS_EMPTY,
401                                         IS_HOLLOW,
402                                         IS_HATCH,
403                                         IS_SOLID,
404                                         IS_HIDDENLINE,
405                                         IS_POINT
406         end InteriorStyle;
407         ---Purpose: Definition of interior types for primitive
408         --          faces.
409         --
410         --          IS_EMPTY    no interior.
411         --          IS_HOLLOW   display the boundaries of the surface.
412         --          IS_HATCH    display hatched with a hatch style.
413         --          IS_SOLID    display the interior entirely filled.
414         --          IS_HIDDENLINE       display in hidden lines removed.
415         --          IS_POINT            display only vertices.
416         --
417         ---Category: Enumerations
418
419         enumeration TypeOfColorMap is   TOC_Generic,
420                                         TOC_ColorCube,
421                                         TOC_ColorRamp 
422         end TypeOfColorMap;
423         ---Purpose: Definition of the color map types
424         --
425         ---Category: Enumerations
426
427         enumeration TypeOfConstraint is TOC_BOTTOM_LEFT,
428                                         TOC_BOTTOM_RIGHT,
429                                         TOC_TOP_LEFT, 
430                                         TOC_TOP_RIGHT
431         end TypeOfConstraint;
432         ---Purpose: Definition of the attachment for the layers
433         --
434         ---Category: Enumerations
435
436         enumeration TypeOfDrawMode is   TODM_REPLACE,
437                                         TODM_ERASE,
438                                         TODM_XOR,
439                                         TODM_XORLIGHT
440         end TypeOfDrawMode;
441         ---Purpose: Definition of the draw modes
442         --
443         ---Category: Enumerations
444
445         enumeration TypeOfEdge is       TOE_VISIBLE,
446                                         TOE_INVISIBLE
447         end TypeOfEdge;
448         ---Purpose: Definition of edge visibility
449         --
450         --          TOE_VISIBLE         Edge is displayed
451         --          TOE_INVISIBLE       Edge is not displayed
452         --
453         ---Category: Enumerations
454
455         enumeration TypeOfHighlightMethod is    TOHM_COLOR,
456                                                 TOHM_BOUNDBOX
457         end TypeOfHighlightMethod;
458         ---Purpose: Definition of a highlight method
459         --
460         --          TOHM_COLOR          drawn in the highlight color
461         --                              (default white)
462         --          TOHM_BOUNDBOX       enclosed by the boundary box
463         --                              (default white)
464         --
465         ---Category: Enumerations
466
467         enumeration TypeOfLine is       TOL_SOLID,
468                                         TOL_DASH,
469                                         TOL_DOT,
470                                         TOL_DOTDASH,
471                                         TOL_USERDEFINED
472         end TypeOfLine;
473         ---Purpose: Definition of line types
474         --
475         --          TOL_SOLID           continuous
476         --          TOL_DASH            dashed 2.0,1.0 (MM)
477         --          TOL_DOT             dotted 0.2,0.5 (MM)
478         --          TOL_DOTDASH         mixed  10.0,1.0,2.0,1.0 (MM)
479         --          TOL_USERDEFINED     defined by Users
480         ---Category: Enumerations
481
482         enumeration WidthOfLine is      WOL_THIN,
483                                         WOL_MEDIUM,
484                                         WOL_THICK,
485                                         WOL_VERYTHICK,
486                                         WOL_USERDEFINED
487         end WidthOfLine;
488         ---Purpose: Definition of line types
489         --
490         --          WOL_THIN            thin line (1 pixel width)
491         --          WOL_MEDIUM          medium width of 0.5 MM
492         --          WOL_THICK           thick width of 0.7 MM
493         --          WOL_VERYTHICK       very thick width of 1.5 MM
494         --          WOL_USERDEFINED     defined by Users
495         ---Category: Enumerations
496
497         enumeration TypeOfFont is       TOF_DEFAULT,
498                                         TOF_COURIER,
499                                         TOF_HELVETICA,
500                                         TOF_TIMES,
501                                         TOF_USERDEFINED
502         end TypeOfFont;
503         ---Purpose: Definition of line types
504         --
505         --          TOF_DEFAULT         Default system font
506         --          TOF_COURIER         
507         --          TOF_HELVETICA       
508         --          TOF_USERDEFINED     defined by Users
509         ---Category: Enumerations
510
511         enumeration TypeOfText is       TOT_SOLID,
512                                         TOT_OUTLINE
513         end TypeOfText;
514         ---Purpose: Definition of Text types
515         --
516         --          TOF_SOLID           Default text 
517         --          TOF_OUTLINE         
518         ---Category: Enumerations
519
520         enumeration TypeOfStyleText is  TOST_NORMAL,
521                                         TOST_ANNOTATION
522         end TypeOfStyleText;
523         ---Purpose: Define the style of the text.       
524         --
525         --          TOST_NORMAL         Default text. The text is displayed like any other graphic object.
526         --                              This text can be hidden by another object that is nearest from the 
527         --                              point of view. 
528         --          TOST_ANNOTATION     The text is always visible. The texte is displayed 
529         --                              over the other object according to the priority.
530         ---Category: Enumerations
531
532         enumeration TypeOfDisplayText is        TODT_NORMAL,
533                                                 TODT_SUBTITLE,
534                                                 TODT_DEKALE,
535                                                 TODT_BLEND,
536                                                 TODT_DIMENSION
537         end TypeOfDisplayText;
538         ---Purpose: Define the display type of the text.        
539         --
540         --          TODT_NORMAL         Default display. Text only.     
541         --          TODT_SUBTITLE       There is a subtitle under the text.
542         --          TODT_DEKALE         The text is displayed with a 3D style.
543         --          TODT_BLEND          The text is displayed in XOR.
544         --          TODT_DIMENSION      Dimension line under text will be invisible. 
545         ---Category: Enumerations
546
547         enumeration TypeOfMarker is     TOM_POINT,
548                                         TOM_PLUS,
549                                         TOM_STAR,
550                                         TOM_X,
551                                         TOM_O,
552                                         TOM_O_POINT,
553                                         TOM_O_PLUS,
554                                         TOM_O_STAR,
555                                         TOM_O_X,
556                                         TOM_RING1,
557                                         TOM_RING2,
558                                         TOM_RING3,
559                                         TOM_BALL,
560                                         TOM_USERDEFINED 
561         end TypeOfMarker;
562         ---Purpose: Definition of types of markers
563         --
564         --          TOM_POINT   point   .
565         --          TOM_PLUS    plus    +
566         --          TOM_STAR    star    *
567         --          TOM_X       cross   x
568         --          TOM_O       circle  O
569         --          TOM_O_POINT a point in a circle
570         --          TOM_O_PLUS  a plus in a circle
571         --          TOM_O_STAR  a star in a circle
572         --          TOM_O_X     a cross in a circle
573         --          TOM_RING1   a large ring
574         --          TOM_RING2   a medium ring
575         --          TOM_RING3   a small ring
576         --          TOM_BALL    a ball with 1 color and different saturations
577         --          TOM_USERDEFINED     defined by Users
578         --
579         ---Category: Enumerations
580
581         enumeration TypeOfUpdate is     TOU_ASAP,
582                                         TOU_WAIT
583         end TypeOfUpdate;
584         ---Purpose: Definition of screen refresh mode
585         --
586         --          TOU_ASAP    as soon as possible
587         --          TOU_WAIT    on demand (Update)
588         --
589         ---Category: Enumerations
590
591         enumeration TypeOfDeflection is TOD_RELATIVE,
592                                         TOD_ABSOLUTE
593         end TypeOfDeflection;
594         ---Purpose: Defines if the maximal chordial deflection used when
595         --          drawing an object is absolute  or relative to the size 
596         --          of the object.
597
598         enumeration TypeOfResize is     TOR_UNKNOWN,
599                                         TOR_NO_BORDER,
600                                         TOR_TOP_BORDER,
601                                         TOR_RIGHT_BORDER,
602                                         TOR_BOTTOM_BORDER,
603                                         TOR_LEFT_BORDER,
604                                         TOR_TOP_AND_RIGHT_BORDER,
605                                         TOR_RIGHT_AND_BOTTOM_BORDER,
606                                         TOR_BOTTOM_AND_LEFT_BORDER,
607                                         TOR_LEFT_AND_TOP_BORDER
608         end TypeOfResize;
609         ---Purpose: Defines the type of Resize Window method applied
610         --          by the user.
611
612         enumeration CardinalPoints is   CP_North,
613                                         CP_NorthEast,
614                                         CP_East,
615                                         CP_SouthEast,
616                                         CP_South,
617                                         CP_SouthWest,
618                                         CP_West,
619                                         CP_NorthWest,
620                                         CP_Center
621         end CardinalPoints;
622
623         enumeration TypeOfRenderingMode is TORM_IMMEDIAT,
624                                            TORM_RETAIN,
625                                            TORM_CLEAR_AND_RETAIN
626         end TypeOfRenderingMode;
627         ---Purpose: Definition of the rendering modes
628
629         enumeration TypeOfColorSpace is TOCS_BlackAndWhite,
630                                         TOCS_GreyScale,
631                                         TOCS_RGB
632         end TypeOfColorSpace;
633         ---Purpose:
634
635         enumeration FormatOfSheetPaper is
636                                         FOSP_A0,        -- 0.841 x 1.189   (M)
637                                         FOSP_A1,        -- 0.594 x 0.841   (M)
638                                         FOSP_A2,        -- 0.420 x 0.594   (M)
639                                         FOSP_A3,        -- 0.297 x 0.420   (M)
640                                         FOSP_A4,        -- 0.210 x 0.297   (M)
641                                         FOSP_A5,        -- 0.1485 x 0.210  (M)
642                                         FOSP_K_LONG,    -- 1.016 x 3.6322  (M)
643                                         FOSP_K_SHORT,   -- 1.016 x 1.397   (M)
644                                         FOSP_J_LONG,    -- 0.8636 x 4.4704 (M)
645                                         FOSP_J_SHORT,   -- 0.8636 x 1.397  (M)
646                                         FOSP_H_LONG,    -- 0.7112 x 3.6322 (M)
647                                         FOSP_H_SHORT,   -- 0.7112 x 1.1176 (M)
648                                         FOSP_G_LONG,    -- 0.2794 x 2.286  (M)
649                                         FOSP_G_SHORT,   -- 0.2794 x 0.5715 (M)
650                                         FOSP_F,         -- 0.7112 x 1.016  (M)
651                                         FOSP_E,         -- 0.8636 x 1.1176 (M)
652                                         FOSP_D,         -- 0.5588 x 0.8636 (M)
653                                         FOSP_C,         -- 0.4318 x 0.5588 (M)
654                                         FOSP_B,         -- 0.2794 x 0.4318 (M)
655                                         FOSP_A,         -- 0.2159 x 0.2794 (M)
656                                         FOSP_UNKNOWN    -- User defined
657         end FormatOfSheetPaper;
658         ---Purpose:
659
660         enumeration TypeOfPrimitive is
661                                         TOP_UNKNOWN,
662                                         TOP_POLYLINE,
663                                         TOP_POLYGON,
664                                         TOP_SEGMENTS,
665                                         TOP_ARCS,
666                                         TOP_POLYARCS,
667                                         TOP_POINTS,
668                                         TOP_MARKERS
669         end TypeOfPrimitive;
670         ---Purpose:
671
672         enumeration GridDrawMode is GDM_Lines,
673                                     GDM_Points,
674                                     GDM_None
675         end GridDrawMode;
676         ---Purpose: Defines the grid draw mode. The grid may be drawn
677         --          by using lines or points.
678
679         enumeration GridType is GT_Rectangular,
680                                 GT_Circular
681         end GridType;
682         ---Purpose: Defines the grid type : Rectangular or Circular.
683
684         --------- Start DCB modification ----------------------------------------
685         enumeration PlotMode is
686                                         PM_DPLOTTER,
687                                         PM_FILEONLY,
688                                         PM_NPLOTTER
689         end PlotMode;
690         ---Purpose: Defines plot mode for plotter drivers derived from
691         --          Aspect_PlotterDriver:
692         --          1) PM_DPLOTTER - send file to plotter and delete file
693         --          2) PM_FILEONLY - do not send file to the plotter
694         --          3) PM_NPLOTTER - send file to the plotter but not delete a file
695  
696   
697         enumeration ListingType is
698                                         LPID_DIRPLOT,
699                                         LPID_DIRPARPLO,
700                                         LPID_ALLDIRS
701         end ListingType;
702         ---Purpose: Defines where to search plotter files (PLO)
703
704       enumeration PlotterOrigin is
705         PO_CENTER,
706         PO_BOTTOMLEFT,
707         PO_TOPLEFT,
708         PO_TOPRIGHT,
709         PO_BOTTOMRIGHT,
710         PO_UNKNOWN
711       end PlotterOrigin;
712         --------- Stop  DCB modification ----------------------------------------
713
714
715         enumeration TypeOfTriedronEcho is       TOTE_NONE,
716                                                 TOTE_ORIGIN,
717                                                 TOTE_AXIS_X,
718                                                 TOTE_AXIS_Y,
719                                                 TOTE_AXIS_Z,
720                                                 TOTE_TEXT_X,
721                                                 TOTE_TEXT_Y,
722                                                 TOTE_TEXT_Z, 
723                                                 TOTE_01,
724                                                 TOTE_02,
725                                                 TOTE_03,
726                                                 TOTE_04,
727                                                 TOTE_05,
728                                                 TOTE_06,
729                                                 TOTE_07,
730                                                 TOTE_08,
731                                                 TOTE_09,
732                                                 TOTE_10
733         end TypeOfTriedronEcho;
734         ---Purpose: Definition of the Triedron echo zone to highlight
735         --
736         --          TOTE_NONE           no echo zone
737         --          TOTE_ORIGIN         a box on origin of the Triedron
738         --          TOTE_AXIS_X         highlights the X axis
739         --          TOTE_AXIS_Y         highlights the Y axis
740         --          TOTE_AXIS_Z         highlights the Z axis
741         --          TOTE_TEXT_X         highlights the X character
742         --          TOTE_TEXT_Y         highlights the Y character
743         --          TOTE_TEXT_Z         highlights the Z character
744         --          TOTE_01 to TOTE_10  not yet implemented.
745         ---Category: The enumerations
746
747
748         enumeration TypeOfTriedronPosition is   TOTP_CENTER,
749                                                 TOTP_LEFT_LOWER,
750                                                 TOTP_LEFT_UPPER,
751                                                 TOTP_RIGHT_LOWER,
752                                                 TOTP_RIGHT_UPPER,
753                                                 TOTP_01,
754                                                 TOTP_02,
755                                                 TOTP_03,
756                                                 TOTP_04,
757                                                 TOTP_05,
758                                                 TOTP_06,
759                                                 TOTP_07,
760                                                 TOTP_08,
761                                                 TOTP_09,
762                                                 TOTP_10
763         end TypeOfTriedronPosition;
764         ---Purpose: Definition of the Triedron position in the views
765         --
766         --          TOTP_CENTER         at the center of the view
767         --          TOTP_LEFT_LOWER     at the left lower corner
768         --          TOTP_LEFT_UPPER     at the left upper corner
769         --          TOTP_RIGHT_LOWER    at the right lower corner
770         --          TOTP_RIGHT_UPPER    at the right upper corner
771         --          TOTP_01 to TOTP_10  not yet implemented.
772         ---Category: The enumerations
773
774         enumeration TypeOfLayer is      TOL_OVERLAY, 
775                                         TOL_UNDERLAY
776         end TypeOfLayer;
777         ---Purpose: Modes of drawing for the objects in a layer
778         --
779         --          TOL_OVERLAY, the graphic of the layer is draw
780         --                       after the 3d graphic.
781         --          TOL_UNDERLAY, the graphic of the layer is draw
782         --                       before the 3d graphic.
783         ---Category: The enumerations
784
785         enumeration TypeOfFacingModel is TOFM_BOTH_SIDE,
786                                          TOFM_BACK_SIDE,
787                                          TOFM_FRONT_SIDE
788         end TypeOfFacingModel;
789
790         enumeration FillMethod is
791           FM_NONE,
792           FM_CENTERED,
793           FM_TILED,
794           FM_STRETCH
795         end FillMethod;
796         ---Purpose: Defines the fill methods to
797         --      write bitmaps in a window.
798
799         enumeration GradientFillMethod is
800           GFM_NONE,
801           GFM_HOR,
802           GFM_VER,
803           GFM_DIAG1,
804           GFM_DIAG2,
805           GFM_CORNER1,
806           GFM_CORNER2,
807           GFM_CORNER3,
808           GFM_CORNER4
809         end GradientFillMethod;
810         ---Purpose: Defines the fill methods to
811         --      write gradient background in a window.
812
813         enumeration TypeOfColorScaleData is
814           TOCSD_AUTO,
815           TOCSD_USER
816         end TypeOfColorScaleData;
817         ---Purpose: Defines the using type of colors and labels
818
819         enumeration TypeOfColorScalePosition is
820           TOCSP_NONE,
821           TOCSP_LEFT,
822           TOCSP_RIGHT,
823           TOCSP_CENTER
824         end TypeOfColorScalePosition;
825         ---Purpose: Defines the type of position for color scale labels
826
827         enumeration TypeOfColorScaleOrientation is
828           TOCSO_NONE,
829           TOCSO_LEFT,
830           TOCSO_RIGHT,
831           TOCSO_CENTER
832         end TypeOfColorScaleOrientation;
833         ---Purpose: Defines the type of color scale orientation
834
835         enumeration PrintAlgo is
836           PA_STRETCH,
837           PA_TILE
838         end PrintAlgo;
839         ---Purpose: Defines print algorithm
840         --          Aspect_PrintAlgo:
841         --          1) PA_STRETCH - Stretch offscreen printing frame
842         --                          if its dimensions are smaller than
843         --                          the printer's printing area dimensions;
844         --                          This algorithm is more reliable as it
845         --                          works on any hardware and is recommended
846         --                          to be used with average printing resolutions,
847         --                          as it more RAM memory dependent than PA_TILE;
848         --                          Stretching is performend using bicubic interpolation
849         --                          algorithm from FreeImage library if OCCT is built
850         --                          with FreeImage support, otherwise Windows API 
851         --                          StretchBlt() function in STRETCH_HALFTONE mode
852         --                          is used;
853         --          2) PA_TILE    - If the offscreen printing frame dimensions
854         --                          are smaller than the printer's printing
855         --                          area dimensions - use multiple printing
856         --                          frames to cover the whole printing area
857         enumeration XAtom is
858           XA_DELETE_WINDOW
859         end XAtom;
860         ---Purpose: Defines custom identifiers(atoms) for X window custom named properties
861         ---------------------------------
862         -- Category: Instantiated classes
863         ---------------------------------
864
865         class Array1OfEdge instantiates
866                 Array1 from TCollection (Edge from Aspect);
867         ---Category: Instantiated classes
868
869         class SequenceOfColorMapEntry instantiates
870                 Sequence from TCollection (ColorMapEntry from Aspect);
871         ---Category: Instantiated classes
872
873         class SequenceOfTypeMapEntry instantiates
874                 Sequence from TCollection (TypeMapEntry from Aspect);
875         ---Category: Instantiated classes
876
877         class SequenceOfWidthMapEntry instantiates
878                 Sequence from TCollection (WidthMapEntry from Aspect);
879         ---Category: Instantiated classes
880
881         class SequenceOfFontMapEntry instantiates
882                 Sequence from TCollection (FontMapEntry from Aspect);
883         ---Category: Instantiated classes
884
885         class SequenceOfMarkMapEntry instantiates
886                 Sequence from TCollection (MarkMapEntry from Aspect);
887         ---Category: Instantiated classes
888
889         class SequenceOfColor instantiates
890                 Sequence from TCollection(Color from Quantity);
891
892         ----------------------------
893         -- Category: Package methods
894         ----------------------------
895
896         ValuesOfFOSP (aFOSP : FormatOfSheetPaper from Aspect;
897                         aWidth, aHeight : out Length from Quantity)
898         returns CString from Standard;
899         ---Level: Internal
900         ---Purpose: Returns the format size according to the default 
901         --      LENGTH unit of the required format <aFOSP>.
902         --      Returns more the normalized format name.
903         ---Category: Package methods
904
905         ToCString (aString: ExtendedString from TCollection)
906                         returns CString from Standard;
907         ---Level: Internal
908         ---Purpose: Translates an ExtendedString to a CString
909         --          depending of the local format.
910         ---Category: Package methods
911
912         Inverse ( aMat : Array2OfReal from TColStd;
913                   Inv  : out Array2OfReal from TColStd )
914                 returns Boolean from Standard;
915         ---Level: Internal
916         ---Purpose: Inverses <aMat> a 4x4 matrix.
917
918 end Aspect;