1 -- Created on: 1991-10-04
2 -- Created by: Remi GILET
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
26 inherits TShared from MMgt
28 ---Purpose: The deferred class GccInt_Bisec is the root class for
29 -- elementary bisecting loci between two simple geometric
30 -- objects (i.e. circles, lines or points).
31 -- Bisecting loci between two geometric objects are such
32 -- that each of their points is at the same distance from the
33 -- two geometric objects. It is typically a curve, such as a
34 -- line, circle or conic.
35 -- Generally there is more than one elementary object
36 -- which is the solution to a bisecting loci problem: each
37 -- solution is described with one elementary bisecting
38 -- locus. For example, the bisectors of two secant straight
39 -- lines are two perpendicular straight lines.
40 -- The GccInt package provides concrete implementations
41 -- of the following elementary derived bisecting loci:
42 -- - lines, circles, ellipses, hyperbolas and parabolas, and
43 -- - points (not used in this context).
44 -- The GccAna package provides numerous algorithms for
45 -- computing the bisecting loci between circles, lines or
46 -- points, whose solutions are these types of elementary bisecting locus.
59 DomainError from Standard
62 ArcType (me) returns IType from GccInt
64 ---Purpose: Returns the type of bisecting object (line, circle,
65 -- parabola, hyperbola, ellipse, point).
67 Point (me) returns Pnt2d from gp
68 raises DomainError from Standard
69 ---Purpose: Returns the bisecting line when ArcType returns Pnt.
70 -- An exception DomainError is raised if ArcType is not a Pnt.
73 Line (me) returns Lin2d from gp
74 ---Purpose: Returns the bisecting line when ArcType returns Lin.
75 raises DomainError from Standard
76 ---Purpose: An exception DomainError is raised if ArcType is not a Lin.
79 Circle (me) returns Circ2d from gp
80 ---Purpose: Returns the bisecting line when ArcType returns Cir.
81 raises DomainError from Standard
82 ---Purpose: An exception DomainError is raised if ArcType is not a Cir.
85 Hyperbola (me) returns Hypr2d from gp
86 ---Purpose: Returns the bisecting line when ArcType returns Hpr.
87 raises DomainError from Standard
88 ---Purpose: An exception DomainError is raised if ArcType is not a Hpr.
91 Parabola (me) returns Parab2d from gp
92 ---Purpose: Returns the bisecting line when ArcType returns Par.
93 raises DomainError from Standard
94 ---Purpose: An exception DomainError is raised if ArcType is not a Par.
97 Ellipse (me) returns Elips2d from gp
98 ---Purpose: Returns the bisecting line when ArcType returns Ell.
99 raises DomainError from Standard
100 ---Purpose: An exception DomainError is raised if ArcType is not an Ell.