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