Commit | Line | Data |
---|---|---|

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 | |

17 | deferred class | |

18 | ||

19 | Bisec from GccInt | |

20 | ||

21 | inherits 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 | ||

43 | uses | |

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 | ||

53 | raises | |

54 | DomainError from Standard | |

55 | is | |

56 | ||

57 | ArcType (me) returns IType from GccInt | |

58 | is deferred; | |

59 | ---Purpose: Returns the type of bisecting object (line, circle, | |

60 | -- parabola, hyperbola, ellipse, point). | |

61 | ||

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. | |

66 | is virtual; | |

67 | ||

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. | |

72 | is virtual; | |

73 | ||

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. | |

78 | is virtual; | |

79 | ||

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. | |

84 | is virtual; | |

85 | ||

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. | |

90 | is virtual; | |

91 | ||

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. | |

96 | is virtual; | |

97 | ||

98 | end Bisec; |