1 -- Created on: 1991-10-04
2 -- Created by: Remi GILET
3 -- Copyright (c) 1991-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.
21 inherits TShared from MMgt
23 ---Purpose: The deferred class GccInt_Bisec is the root class for
24 -- elementary bisecting loci between two simple geometric
25 -- objects (i.e. circles, lines or points).
26 -- Bisecting loci between two geometric objects are such
27 -- that each of their points is at the same distance from the
28 -- two geometric objects. It is typically a curve, such as a
29 -- line, circle or conic.
30 -- Generally there is more than one elementary object
31 -- which is the solution to a bisecting loci problem: each
32 -- solution is described with one elementary bisecting
33 -- locus. For example, the bisectors of two secant straight
34 -- lines are two perpendicular straight lines.
35 -- The GccInt package provides concrete implementations
36 -- of the following elementary derived bisecting loci:
37 -- - lines, circles, ellipses, hyperbolas and parabolas, and
38 -- - points (not used in this context).
39 -- The GccAna package provides numerous algorithms for
40 -- computing the bisecting loci between circles, lines or
41 -- points, whose solutions are these types of elementary bisecting locus.
54 DomainError from Standard
57 ArcType (me) returns IType from GccInt
59 ---Purpose: Returns the type of bisecting object (line, circle,
60 -- parabola, hyperbola, ellipse, point).
62 Point (me) returns Pnt2d from gp
63 raises DomainError from Standard
64 ---Purpose: Returns the bisecting line when ArcType returns Pnt.
65 -- An exception DomainError is raised if ArcType is not a Pnt.
68 Line (me) returns Lin2d from gp
69 ---Purpose: Returns the bisecting line when ArcType returns Lin.
70 raises DomainError from Standard
71 ---Purpose: An exception DomainError is raised if ArcType is not a Lin.
74 Circle (me) returns Circ2d from gp
75 ---Purpose: Returns the bisecting line when ArcType returns Cir.
76 raises DomainError from Standard
77 ---Purpose: An exception DomainError is raised if ArcType is not a Cir.
80 Hyperbola (me) returns Hypr2d from gp
81 ---Purpose: Returns the bisecting line when ArcType returns Hpr.
82 raises DomainError from Standard
83 ---Purpose: An exception DomainError is raised if ArcType is not a Hpr.
86 Parabola (me) returns Parab2d from gp
87 ---Purpose: Returns the bisecting line when ArcType returns Par.
88 raises DomainError from Standard
89 ---Purpose: An exception DomainError is raised if ArcType is not a Par.
92 Ellipse (me) returns Elips2d from gp
93 ---Purpose: Returns the bisecting line when ArcType returns Ell.
94 raises DomainError from Standard
95 ---Purpose: An exception DomainError is raised if ArcType is not an Ell.