0024428: Implementation of LGPL license
[occt.git] / src / BRepFill / BRepFill_ShapeLaw.cdl
1 -- Created on: 1998-08-17
2 -- Created by: Philippe MANGIN
3 -- Copyright (c) 1998-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
9 -- under the terms of the GNU Lesser General Public 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 ShapeLaw from BRepFill inherits  SectionLaw  from  BRepFill
18
19         ---Purpose: Build Section Law, with an Vertex, or an Wire
20         ---Level: Advanced
21        
22 uses 
23  SectionLaw          from GeomFill,  
24  HArray1OfSectionLaw from  GeomFill, 
25  HArray1OfShape      from  TopTools,  
26  Shape               from  GeomAbs,
27  Vertex              from  TopoDS, 
28  Wire                from  TopoDS,  
29  Edge                from  TopoDS,  
30  Shape               from  TopoDS, 
31  Function            from  Law
32
33 is  
34   Create (V:  Vertex  from  TopoDS;   
35           Build  :  Boolean = Standard_True )  
36     ---Purpose: Construct an constant Law  
37   returns  ShapeLaw  from BRepFill;   
38
39   Create (W:Wire  from  TopoDS;   
40           Build :  Boolean = Standard_True)   
41      ---Purpose: Construct an constant Law   
42   returns ShapeLaw from BRepFill;  
43    
44   Create  (W:  Wire  from  TopoDS;  
45            L:  Function  from  Law; 
46            Build :  Boolean = Standard_True)   
47     ---Purpose: Construct an evolutive Law         
48   returns ShapeLaw from BRepFill;      
49
50   IsVertex(me) 
51     ---Purpose: Say if the input shape is a  vertex. 
52   returns  Boolean   
53   is  redefined; 
54    
55   IsConstant(me) 
56     ---Purpose: Say if the Law is  Constant.        
57   returns  Boolean   
58   is  redefined;        
59
60   ConcatenedLaw(me)  
61    ---Purpose: Give the law build on a concaneted section         
62   returns SectionLaw from GeomFill 
63   is  redefined;    
64   
65   Continuity(me; Index  :  Integer; 
66                  TolAngular  :  Real)
67   returns  Shape  from  GeomAbs  
68   is  redefined;  
69    
70   VertexTol(me; Index  :  Integer;   
71                 Param  :  Real) 
72   returns  Real   
73   is  redefined;  
74   
75   Vertex(me;  Index  :  Integer; 
76               Param  :  Real) 
77   returns Vertex  from  TopoDS 
78   is  redefined;            
79    
80   D0(me:mutable;  Param  :  Real;   
81      S  :  out  Shape  from  TopoDS)   
82     is  redefined;  
83    
84   Edge(me; Index  :  Integer)  
85    ---C++: return const &
86    ---C++: inline
87   returns  Edge  from  TopoDS;  
88    
89   Init(me  :  mutable;  B  :  Boolean)  is  private;
90    
91 fields
92   myShape:  Shape          from  TopoDS;
93   myEdges:  HArray1OfShape from  TopTools;   
94   TheLaw :  Function       from  Law;   
95   vertex :  Boolean        from  Standard is  protected; 
96 end ShapeLaw;