b311480e |
1 | -- Created on: 1993-01-09 |
2 | -- Created by: CKY / Contract Toubro-Larsen ( SIVA ) |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
7fd59977 |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
7fd59977 |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
7fd59977 |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class SolidOfRevolution from IGESSolid inherits IGESEntity |
18 | |
19 | ---Purpose: defines SolidOfRevolution, Type <162> Form Number <0,1> |
20 | -- in package IGESSolid |
21 | -- This entity is defined by revolving the area determined |
22 | -- by a planar curve about a specified axis through a given |
23 | -- fraction of full rotation. |
24 | |
25 | uses |
26 | |
27 | Pnt from gp, |
28 | Dir from gp, |
29 | XYZ from gp |
30 | |
31 | is |
32 | |
6e33d3ce |
33 | Create returns SolidOfRevolution; |
7fd59977 |
34 | |
35 | -- Specific Methods pertaining to the class |
36 | |
37 | Init (me : mutable; |
38 | aCurve : IGESEntity; |
39 | aFract : Real; |
40 | aAxisPnt : XYZ; |
41 | aDirection : XYZ); |
42 | ---Purpose : This method is used to set the fields of the class |
43 | -- SolidOfRevolution |
44 | -- - aCurve : the curve entity that is to be revolved |
45 | -- - aFract : the fraction of full rotation (default 1.0) |
46 | -- - aAxisPnt : the point on the axis |
47 | -- - aDirection : the direction of the axis |
48 | |
49 | SetClosedToAxis (me : mutable; mode : Boolean); |
50 | ---Purpose : Sets the Curve to be by default, Closed to Axis (Form 0) |
51 | -- if <mode> is True, Closed to Itself (Form 1) else |
52 | |
53 | IsClosedToAxis (me) returns Boolean; |
54 | ---Purpose : Returns True if Form Number = 0 |
55 | -- if Form no is 0, then the curve is closed to axis |
56 | -- if 1, the curve is closed to itself. |
57 | |
58 | |
59 | Curve (me) returns IGESEntity; |
60 | ---Purpose : returns the curve entity that is to be revolved |
61 | |
62 | Fraction (me) returns Real; |
63 | ---Purpose : returns the fraction of full rotation that the curve is to |
64 | -- be rotated |
65 | |
66 | AxisPoint (me) returns Pnt; |
67 | ---Purpose : returns the point on the axis |
68 | |
69 | TransformedAxisPoint (me) returns Pnt; |
70 | ---Purpose : returns the point on the axis after applying Trans.Matrix |
71 | |
72 | Axis (me) returns Dir; |
73 | ---Purpose : returns the direction of the axis |
74 | |
75 | TransformedAxis (me) returns Dir; |
76 | ---Purpose : returns the direction of the axis after applying |
77 | -- TransformationMatrix |
78 | |
79 | fields |
80 | |
81 | -- |
82 | -- Class : IGESSolid_SolidOfRevolution |
83 | -- |
84 | -- Purpose : Declaration of variables specific to the definition |
85 | -- of the Class SolidOfRevolution. |
86 | -- |
87 | -- Reminder : A SolidOfRevolution instance is defined by : |
88 | -- the curve(Curve) rotated for a fraction (Fraction) of full |
89 | -- rotation about an axis that is given by a point(X1,Y1,Z1) on |
90 | -- the axis and the direction(I1,J1,K1) |
91 | -- |
92 | |
93 | theCurve : IGESEntity; |
94 | -- the curve that is to be rotated |
95 | |
96 | theFraction : Real; |
97 | -- the fraction of full rotation |
98 | |
99 | theAxisPoint : XYZ; |
100 | -- the coordinates of the point on the axis |
101 | |
102 | theAxis : XYZ; |
103 | -- the axis of rotation |
104 | |
105 | end SolidOfRevolution; |