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