b311480e |
1 | -- Created on: 1998-01-22 |
2 | -- Created by: Sergey ZARITCHNY |
3 | -- Copyright (c) 1998-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | deferred class EllipseRadiusDimension from AIS inherits Relation from AIS |
18 | |
19 | ---Purpose: |
20 | -- Computes geometry ( basis curve and plane of dimension) |
21 | -- for input shape aShape from TopoDS |
22 | -- Root class for MinRadiusDimension and MaxRadiusDimension |
23 | uses |
24 | Shape from TopoDS, |
25 | Elips from gp, |
26 | Pnt from gp, |
27 | Pln from gp, |
28 | Curve from Geom, |
29 | OffsetCurve from Geom, |
30 | Ellipse from Geom, |
31 | Plane from Geom, |
32 | Surface from Geom, |
33 | ExtendedString from TCollection, |
34 | KindOfSurface from AIS, |
35 | KindOfDimension from AIS |
36 | |
37 | is |
38 | Initialize(aShape : Shape from TopoDS; |
39 | aText : ExtendedString from TCollection); |
40 | |
41 | -- Ellipse radius dimension of a Shape which can be Edge |
42 | -- or Face (planar or cylindrical(surface of extrusion or |
43 | -- surface of offset)) |
44 | |
45 | |
46 | |
47 | KindOfDimension(me) returns KindOfDimension from AIS |
48 | is redefined; |
49 | |
50 | IsMovable(me) returns Boolean from Standard |
51 | is redefined; |
52 | |
53 | |
54 | -- |
55 | -- Computation private methods |
56 | -- |
57 | |
58 | ComputeGeometry( me: mutable ) ; |
59 | -- is private; |
60 | |
61 | ComputeFaceGeometry(me: mutable) |
62 | is private; |
63 | |
64 | ComputeCylFaceGeometry(me: mutable; |
65 | aSurfType : KindOfSurface from AIS; |
66 | aSurf : Surface from Geom; |
67 | Offset : Real from Standard ) |
68 | is private; |
69 | |
70 | ComputePlanarFaceGeometry(me: mutable) |
71 | is private; |
72 | |
73 | ComputeEdgeGeometry(me: mutable) |
74 | is private; |
75 | |
76 | fields |
77 | |
78 | myEllipse : Elips from gp is protected; |
79 | myFirstPar : Real from Standard is protected; |
80 | myLastPar : Real from Standard is protected; |
81 | myIsAnArc : Boolean from Standard is protected; |
82 | myOffsetCurve : OffsetCurve from Geom is protected; |
83 | myOffset : Real from Standard is protected; |
84 | myIsOffset : Boolean from Standard is protected; |
85 | |
86 | end EllipseRadiusDimension; |