0024428: Implementation of LGPL license
[occt.git] / src / BRepPrim / BRepPrim_Torus.cdl
1 -- Created on: 1992-11-05
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1992-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 Torus from BRepPrim inherits Revolution from BRepPrim
18
19         ---Purpose: Implements the torus primitive
20
21 uses
22     Face from TopoDS,
23     
24     Pnt from gp,
25     Ax2 from gp    
26
27 raises
28     DomainError
29
30 is
31     Create(Position : Ax2 from gp; Major : Real; Minor : Real)
32     returns Torus from BRepPrim
33            ---Purpose: the STEP definition
34            --          Position : center and axes
35            --          Major, Minor : Radii
36            --          
37            --          Errors : Major < Resolution
38            --                   Minor < Resolution
39     raises DomainError;
40
41     Create(Major,Minor : Real)
42     returns Torus from BRepPrim
43         ---Purpose: Torus centered at origin
44     raises DomainError;
45     
46     Create(Center : Pnt from gp; Major, Minor : Real)
47     returns Torus from BRepPrim
48         ---Purpose: Torus at Center
49     raises DomainError;
50     
51     MakeEmptyLateralFace(me) returns Face from TopoDS
52         ---Purpose: The surface normal should be directed  towards the
53         --          outside.
54     is redefined;
55     
56     SetMeridian(me : in out)
57     is static private;
58     
59 fields
60     myMajor     : Real;
61     myMinor     : Real;
62
63 end Torus;