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

b311480e | 1 | -- Created on: 1992-03-04 |

2 | -- Created by: Laurent BUCHARD | |

3 | -- Copyright (c) 1992-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 | class PConic from IntCurve | |

18 | ||

19 | ---Purpose: This class represents a conic from gp as a | |

20 | -- parametric curve ( in order to be used by the | |

21 | -- class PConicTool from IntCurve). | |

22 | ||

23 | ---Level: Internal | |

24 | ||

25 | uses Elips2d from gp, | |

26 | Lin2d from gp, | |

27 | Circ2d from gp, | |

28 | Parab2d from gp, | |

29 | Hypr2d from gp, | |

30 | Ax22d from gp, | |

31 | CurveType from GeomAbs | |

32 | ||

33 | is | |

34 | ||

35 | Create(PC: PConic from IntCurve) returns PConic from IntCurve; | |

36 | ||

37 | Create(E: Elips2d from gp) returns PConic from IntCurve; | |

38 | ||

39 | Create(C: Circ2d from gp) returns PConic from IntCurve; | |

40 | ||

41 | Create(P: Parab2d from gp) returns PConic from IntCurve; | |

42 | ||

43 | Create(H: Hypr2d from gp) returns PConic from IntCurve; | |

44 | ||

45 | Create(L: Lin2d from gp) returns PConic from IntCurve; | |

46 | ||

47 | ||

48 | SetEpsX(me: in out; EpsDist: Real from Standard) is static; | |

49 | ---Purpose: EpsX is a internal tolerance used in math | |

50 | -- algorithms, usually about 1e-10 | |

51 | -- (See FunctionAllRoots for more details) | |

52 | ||

53 | SetAccuracy(me: in out; Nb: Integer from Standard) is static; | |

54 | ---Purpose: Accuracy is the number of samples used to | |

55 | -- approximate the parametric curve on its domain. | |

56 | ||

57 | Accuracy(me) | |

58 | ---C++: inline | |

59 | returns Integer from Standard is static; | |

60 | ||

61 | EpsX(me) | |

62 | ---C++: inline | |

63 | returns Real from Standard is static; | |

64 | ||

65 | TypeCurve(me) | |

66 | ---Purpose: The Conics are manipulated as objects which only | |

67 | -- depend on three parameters : Axis and two Real from Standards. | |

68 | -- Type Curve is used to select the correct Conic. | |

69 | ---C++: inline | |

70 | returns CurveType from GeomAbs | |

71 | is static; | |

72 | ||

73 | Axis2(me) | |

74 | ---C++: inline | |

75 | ---C++: return const & | |

76 | returns Ax22d from gp | |

77 | is static; | |

78 | ||

79 | Param1(me) | |

80 | ---C++: inline | |

81 | returns Real from Standard is static; | |

82 | ||

83 | Param2(me) | |

84 | ---C++: inline | |

85 | returns Real from Standard is static; | |

86 | ||

87 | fields | |

88 | ||

89 | axe : Ax22d from gp; | |

90 | prm1 : Real from Standard; | |

91 | prm2 : Real from Standard; | |

92 | ||

93 | TheEpsX : Real from Standard; | |

94 | TheAccuracy : Integer from Standard; | |

95 | type : CurveType from GeomAbs; | |

96 | ||

97 | end PConic; | |

98 | ||

99 | ||

100 | ||

101 | ||

102 |