0024428: Implementation of LGPL license
[occt.git] / src / GccInt / GccInt_Bisec.cdl
CommitLineData
b311480e 1-- Created on: 1991-10-04
2-- Created by: Remi GILET
3-- Copyright (c) 1991-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--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17deferred class
18
19 Bisec from GccInt
20
21inherits TShared from MMgt
22
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.
42
43uses
44
45 Circ2d from gp,
46 Lin2d from gp,
47 Pnt2d from gp,
48 Elips2d from gp,
49 Parab2d from gp,
50 Hypr2d from gp,
51 IType from GccInt
52
53raises
54 DomainError from Standard
55is
56
57ArcType (me) returns IType from GccInt
58 is deferred;
59 ---Purpose: Returns the type of bisecting object (line, circle,
60 -- parabola, hyperbola, ellipse, point).
61
62Point (me) returns Pnt2d from gp
63raises 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.
66is virtual;
67
68Line (me) returns Lin2d from gp
69 ---Purpose: Returns the bisecting line when ArcType returns Lin.
70raises DomainError from Standard
71 ---Purpose: An exception DomainError is raised if ArcType is not a Lin.
72is virtual;
73
74Circle (me) returns Circ2d from gp
75 ---Purpose: Returns the bisecting line when ArcType returns Cir.
76raises DomainError from Standard
77 ---Purpose: An exception DomainError is raised if ArcType is not a Cir.
78is virtual;
79
80Hyperbola (me) returns Hypr2d from gp
81 ---Purpose: Returns the bisecting line when ArcType returns Hpr.
82raises DomainError from Standard
83 ---Purpose: An exception DomainError is raised if ArcType is not a Hpr.
84is virtual;
85
86Parabola (me) returns Parab2d from gp
87 ---Purpose: Returns the bisecting line when ArcType returns Par.
88raises DomainError from Standard
89 ---Purpose: An exception DomainError is raised if ArcType is not a Par.
90is virtual;
91
92Ellipse (me) returns Elips2d from gp
93 ---Purpose: Returns the bisecting line when ArcType returns Ell.
94raises DomainError from Standard
95 ---Purpose: An exception DomainError is raised if ArcType is not an Ell.
96is virtual;
97
98end Bisec;