1 -- Created on: 1992-09-28
2 -- Created by: Remi GILET
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class MakeHyperbola from GC inherits Root from GC
19 ---Purpose :This class implements construction algorithms for a hyperbola in
20 -- 3D space. The result is a Geom_Hyperbola hyperbola.
21 -- A MakeHyperbola object provides a framework for:
22 -- - defining the construction of the hyperbola,
23 -- - implementing the construction algorithm, and
24 -- - consulting the results. In particular, the Value
25 -- function returns the constructed hyperbola.
26 -- To define the main branch of an hyperbola.
27 -- The parameterization range is ]-infinite,+infinite[
28 -- It is possible to get the other branch and the two conjugate
29 -- branches of the main branch.
33 -- FirstConjugateBranch
36 -- --------------------- C ------------------------------>XAxis
39 -- SecondConjugateBranch
42 -- The major radius is the distance between the Location point
43 -- of the hyperbola C and the apex of the Main Branch (or the
44 -- Other branch). The major axis is the XAxis.
45 -- The minor radius is the distance between the Location point
46 -- of the hyperbola C and the apex of the First (or Second)
47 -- Conjugate branch. The minor axis is the YAxis.
48 -- The major radius can be lower than the minor radius.
55 raises NotDone from StdFail
59 Create (H : Hypr from gp) returns MakeHyperbola;
61 -- Creates an Hyperbola from a non persistent hyperbola from package gp by conversion.
63 Create (A2 : Ax2 from gp ;
64 MajorRadius, MinorRadius : Real from Standard) returns MakeHyperbola;
65 --- Purpose : Constructs a hyperbola centered on the origin of the coordinate system
66 -- A2, with major and minor radii MajorRadius and MinorRadius, where:
67 -- the plane of the hyperbola is defined by the "X Axis" and "Y Axis" of A2,
68 -- - its major axis is the "X Axis" of A2.
70 Create(S1,S2 : Pnt from gp;
71 Center : Pnt from gp) returns MakeHyperbola;
72 ---Purpose: Constructs a hyperbola centered on the point Center, where
73 -- - the plane of the hyperbola is defined by Center, S1 and S2,
74 -- - its major axis is defined by Center and S1,
75 -- - its major radius is the distance between Center and S1, and
76 -- - its minor radius is the distance between S2 and the major axis;
78 Value(me) returns Hyperbola from Geom
81 ---Purpose: Returns the constructed hyperbola.
82 -- Exceptions StdFail_NotDone if no hyperbola is constructed.
85 Operator(me) returns Hyperbola from Geom
88 ---C++: alias "Standard_EXPORT operator Handle_Geom_Hyperbola() const;"
92 TheHyperbola : Hyperbola from Geom;
93 --The solution from Geom.