OCC22322 Improvement of Extrema performance
[occt.git] / src / Bnd / Bnd_Sphere.cdl
1 -- File:      Bnd_Sphere.cdl
2 -- Created:   Fri Dec 3 17:39:44 2010
3 -- Author:    Artem SHAL
4 ---Copyright: OPEN CASCADE 2010
5
6 class Sphere from Bnd
7
8     ---Purpose: This class represents a bounding sphere of a geometric entity
9     --          (triangle, segment of line or whatever else).
10
11 uses XYZ from gp
12
13 is
14
15     Create returns Sphere;
16             ---Purpose: Empty constructor
17
18     Create (theCntr : XYZ from gp; theRad : Real; theU : Integer; theV : Integer)
19             returns Sphere;
20             ---Purpose: Constructor of a definite sphere
21
22     U (me) returns Integer;
23         ---C++: inline
24         ---Purpose: Returns the U parameter on shape
25
26     V (me) returns Integer;
27         ---C++: inline
28         ---Purpose: Returns the V parameter on shape
29
30     IsValid (me) returns Boolean;
31         ---C++: inline
32             ---Purpose: Returns validity status, indicating that this
33             --          sphere corresponds to a real entity
34
35     SetValid (me : in out; isValid : Boolean);
36         ---C++: inline
37
38     Center (me) returns XYZ from gp;
39         ---C++: inline
40             ---C++: return const &
41             ---Purpose: Returns center of sphere object
42
43     Radius (me) returns Real;
44         ---C++: inline
45             ---Purpose: Returns the radius value
46
47     Distances (me; theXYZ : XYZ from gp; theMin : in out Real; theMax : in out Real) is static;
48             ---Purpose: Calculate and return minimal and maximal distance to sphere.
49             --          NOTE: This function is tightly optimized; any modifications
50             --          may affect performance!
51             
52     SquareDistances (me; theXYZ : XYZ from gp; theMin : in out Real; theMax : in out Real) is static;
53             ---Purpose: Calculate and return minimal and maximal distance to sphere.
54             --          NOTE: This function is tightly optimized; any modifications
55             --          may affect performance!
56
57     Project (me; theNode : XYZ from gp; theProjNode : in out XYZ from gp; theDist : in out Real; theInside : in out Boolean)
58             ---Purpose: Projects a point on entity.
59             --             Returns true if success
60             returns Boolean;
61
62     Distance (me; theNode : XYZ from gp)
63             returns Real;
64             
65     SquareDistance (me; theNode : XYZ from gp)
66             returns Real;
67
68     Add (me : in out; theOther : Sphere from Bnd);
69
70     IsOut (me; theOther : Sphere from Bnd)
71             returns Boolean;
72
73     IsOut (me; thePnt : XYZ from gp; theMaxDist : in out Real)
74             returns Boolean;
75
76     SquareExtent (me) returns Real;
77
78 fields
79
80     myCenter    : XYZ from gp;
81     myRadius    : Real;
82     myIsValid   : Boolean;
83     myU         : Integer;
84     myV         : Integer;
85
86 end Sphere;