0025687: Visualization, XCAF - eliminate visual artifacts at the edges of faces
[occt.git] / src / StdPrs / StdPrs_ShadedShape.cdl
1 -- Created on: 1993-09-23
2 -- Created by: Jean Louis FRENKEL
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class ShadedShape from StdPrs
18
19 inherits Root from Prs3d
20   --- Purpose: Auxiliary procedures to prepare Shaded presentation of specified shape.
21
22 uses
23
24   Presentation from Prs3d,
25   Drawer       from Prs3d,
26   Shape        from TopoDS,
27   Pnt2d        from gp,
28   Builder      from BRep,
29   Compound     from TopoDS,
30   Volume       from StdPrs
31
32 is
33
34   Add (myclass;
35        thePresentation    : Presentation from Prs3d;
36        theShape           : Shape        from TopoDS;
37        theDrawer          : Drawer       from Prs3d;
38        theVolume          : Volume       from StdPrs = StdPrs_Volume_Autodetection);
39   ---Purpose: Shades <theShape>.
40   -- @param theVolumeType defines the way how to interpret input shapes - as Closed volumes (to activate back-face 
41   --                      culling and capping plane algorithms), as Open volumes (shells or solids with holes)
42   --                      or to perform Autodetection (would split input shape into two groups)
43
44   Add (myclass;
45        thePresentation    : Presentation from Prs3d;
46        theShape           : Shape        from TopoDS;
47        theDrawer          : Drawer       from Prs3d;
48        theHasTexels       : Boolean      from Standard;
49        theUVOrigin        : Pnt2d        from gp;
50        theUVRepeat        : Pnt2d        from gp;
51        theUVScale         : Pnt2d        from gp;
52        theVolume          : Volume       from StdPrs = StdPrs_Volume_Autodetection);
53   ---Purpose: Shades <theShape> with texture coordinates.
54   -- @param theVolumeType defines the way how to interpret input shapes - as Closed volumes (to activate back-face 
55   --                      culling and capping plane algorithms), as Open volumes (shells or solids with holes)
56   --                      or to perform Autodetection (would split input shape into two groups)
57
58   Tessellate (myclass;
59               theShape  : Shape  from TopoDS;
60               theDrawer : Drawer from Prs3d);
61   ---Purpose: Validates triangulation within the shape and performs tessellation if necessary.
62
63   ExploreSolids (myclass;
64                  theShape            : Shape  from TopoDS;
65                  theBuilder          : Builder from BRep;
66                  theClosed           : out Compound from TopoDS;
67                  theOpened           : out Compound from TopoDS;
68                  theIgnore1DSubShape : Boolean from Standard);
69   ---Purpose: Searches closed and unclosed subshapes in shape structure and puts them
70   --          into two compounds for separate processing of closed and unclosed sub-shapes
71
72 end ShadedShape;