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