0024192: Adding support for shaders to OCCT visualization toolkit
[occt.git] / src / Graphic3d / Graphic3d.cdl
index 4476245..e7cd632 100755 (executable)
@@ -1,7 +1,24 @@
+-- Created on: 1993-03-31
+-- Created by: NW,JPB,CAL
+-- Copyright (c) 1993-1999 Matra Datavision
+-- Copyright (c) 1999-2012 OPEN CASCADE SAS
 --
+-- The content of this file is subject to the Open CASCADE Technology Public
+-- License Version 6.5 (the "License"). You may not use the content of this file
+-- except in compliance with the License. Please obtain a copy of the License
+-- at http://www.opencascade.org and read it completely before using this file.
+--
+-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
+-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+--
+-- The Original Code and all software distributed under the License is
+-- distributed on an "AS IS" basis, without warranty of any kind, and the
+-- Initial Developer hereby disclaims all such warranties, including without
+-- limitation, any warranties of merchantability, fitness for a particular
+-- purpose or non-infringement. Please see the License for the specific terms
+-- and conditions governing the rights and limitations under the License.
+
 -- Package  :   Graphic3d
--- Author   :   NW,JPB,CAL
--- Created  :   Jeudi 22 Aout 1991
 -- Updated  :   Vendredi 2 Octobre 1992
 --          Mercredi 31 Mars 1993
 --          Mercredi 19 Janvier 1994
 --              and derivated used for model presentation.
 --                       Required: enumeration TypeOfPrimitive;
 --                  imported PrimitiveArray; class PrimitiveList.
---
 --      17-12-01 : GG ; IMP171201 : Add material name UserDefined
 --              Thanks to Stephane ROUTELOUS
 --              20-01-2009 : ABD Integration support of system fonts (using FTGL and FreeType)
---
--- Copyright    :   MatraDatavision 1991,1992,1993,1994
---
 -- Objective    :   Specifications definitives
---
---
--- Date     :   Mercredi 31 mars 1993
---
---
--- File:    Graphic3d.cdl
--- Created: Jeudi 22 Aout 1991
--- Author:  NW,JPB,CAL
---
----Copyright:   MatraDatavision 1991,1992,1993
---
 
 package Graphic3d
 
@@ -67,15 +69,15 @@ uses
 
     TCollection,
     TColStd,
+    TColgp,
     OSD,
     Quantity,
     Aspect,
     MMgt,
-    Xw,
     WNT,
     Image,
-    AlienImage,
-    gp
+    gp,
+    Font
 is
 
     -----------------------
@@ -213,10 +215,26 @@ is
     enumeration  TypeOfTextureMode  is  TOTM_OBJECT,
                                         TOTM_SPHERE,
                                         TOTM_EYE,
-                                        TOTM_MANUAL;
+                                        TOTM_MANUAL,
+                                        TOTM_SPRITE;
     ---Purpose: Type of the texture projection.
     ---Category: Enumerations
 
+    enumeration  TypeOfTextureFilter is TOTF_NEAREST,
+                                        TOTF_BILINEAR,
+                                        TOTF_TRILINEAR;
+    ---Purpose: Type of the texture filter.
+    -- Notice that for textures without mipmaps linear interpolation will be used instead of TOTF_BILINEAR and TOTF_TRILINEAR.
+    ---Category: Enumerations
+
+    enumeration  LevelOfTextureAnisotropy is LOTA_OFF,
+                                             LOTA_FAST,
+                                             LOTA_MIDDLE,
+                                             LOTA_QUALITY;
+    ---Purpose: Level of anisotropy filter.
+    -- Notice that actual quality depends on hardware capabilities!
+    ---Category: Enumerations
+
     enumeration  NameOfTexturePlane  is  NOTP_XY,
                                          NOTP_YZ,
                                          NOTP_ZX,
@@ -327,6 +345,7 @@ is
     ---------------------------
 
     imported PrimitiveArray;
+    imported BufferType;
 
     imported CBitFields20;
     ---Purpose: Defines the C structure
@@ -380,15 +399,27 @@ is
     ---Purpose: Defines the C structure of a graduated trihedron.
     ---Category: Imported types
 
-    imported CInitTexture;
+    imported ClipPlane;
+    ---Purpose: Describes geometrical and auxiliary properties of clipping
+    -- planes applied on rendering by graphical driver.
+    ---Category: Imported types
+
+    imported ClipPlane_Handle;
+    ---Purpose: CDL-compatibility handle type definition for
+    -- clip plane objects.
+
     imported CTexture;
 
---   ABD 29/10/04  Transform Persistence of Presentation( pan, zoom, rotate )
-        imported CTransPersStruct;
-        imported TransModeFlags;
---   ABD 29/10/04  Transform Persistence of Presentation( pan, zoom, rotate )
+    imported CTransPersStruct;
+    imported TransModeFlags;
+    
+    imported MarkerImage;
+    imported MarkerImage_Handle;
 
     primitive PtrFrameBuffer;
+    primitive Vec2;
+    primitive Vec3;
+    primitive Vec4;
 
     --------------------
     -- Category: Classes
@@ -447,15 +478,6 @@ is
     ---Purpose: For grouping together primitives in a structure
     ---Category: Classes
 
-    class GraphicDevice;
-    ---Purpose: Defines a physical graphic device allowing to
-    --          shares graphical ressources.
-    ---Category: Classes
-
-    class WNTGraphicDevice;
-    ---Purpose:  Defines a physical graphic device for Windows NT
-    ---Category: Classes
-
     class MaterialAspect;
     ---Purpose: Aspect attributes of a 3d face.
     ---Category: Classes
@@ -483,26 +505,10 @@ is
     ---Purpose: 3d vector
     ---Category: Classes
 
-    class Vertex;
+    imported Vertex;
     ---Purpose: 3d vertex
     ---Category: Classes
 
-    class VertexN;
-    ---Purpose: 3d vertex with a normal vector
-    ---Category: Classes
-
-    class VertexNT;
-    ---Purpose: 3d vertex with a normal vector and texture coordinate
-    ---Category: Classes
-
-    class VertexC;
-    ---Purpose: 3d vertex with a colour
-    ---Category: Classes
-
-    class VertexNC;
-    ---Purpose: 3d vertex with a normal and a colour
-    ---Category: Classes
-
     ---------------------
     -- Category: Pointers
     ---------------------
@@ -570,38 +576,6 @@ is
             Array2 from TCollection (Vertex from Graphic3d);
     ---Category: Instantiated classes
 
-    class Array1OfVertexC instantiates
-            Array1 from TCollection (VertexC from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array2OfVertexC instantiates
-            Array2 from TCollection (VertexC from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array1OfVertexN instantiates
-            Array1 from TCollection (VertexN from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array2OfVertexN instantiates
-            Array2 from TCollection (VertexN from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array1OfVertexNT instantiates
-            Array1 from TCollection (VertexNT from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array2OfVertexNT instantiates
-            Array2 from TCollection (VertexNT from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array1OfVertexNC instantiates
-            Array1 from TCollection (VertexNC from Graphic3d);
-    ---Category: Instantiated classes
-
-    class Array2OfVertexNC instantiates
-            Array2 from TCollection (VertexNC from Graphic3d);
-    ---Category: Instantiated classes
-
     class ListOfShortReal instantiates
             List from TCollection (ShortReal from Standard);
     ---Category: Instantiated classes
@@ -610,12 +584,19 @@ is
     imported NListOfHAsciiString;
     ---Category: Instantiated classes
 
+    imported ShaderProgram_Handle;
+    ---Category: Instantiated classes
+
+    imported SetOfHClipPlane;
+    ---Category: Instantiated classes
+    -- Set of handles on clip planes
 
-        deferred  class  TextureRoot  from  Graphic3d;
+    deferred  class  TextureRoot  from  Graphic3d;
     deferred  class  TextureMap   from  Graphic3d;
     deferred  class  Texture1D    from  Graphic3d;
     deferred  class  Texture2D    from  Graphic3d;
 
+    class  TextureParams    from  Graphic3d;
     class  TextureEnv       from  Graphic3d;
     class  Texture1Dmanual  from  Graphic3d;
     class  Texture1Dsegment from  Graphic3d;
@@ -630,7 +611,8 @@ is
         EF_TEX,
         EF_PDF,
         EF_SVG,
-        EF_PGF
+        EF_PGF,
+        EF_EMF
 
     end ExportFormat;
 
@@ -642,4 +624,15 @@ is
 
         end SortType;
 
+    ----------------------------
+    -- Category: Package methods
+    ----------------------------
+
+    InitGraphicDriver (theDisplayConnection: DisplayConnection_Handle from Aspect)
+       returns GraphicDriver from Graphic3d
+       raises  DriverDefinitionError from Aspect;
+    ---Purpose: Initialize graphic driver and returns Handle to it.
+
+    
+
 end Graphic3d;