7fd59977 |
1 | -- File: ImpTool.cdl |

2 | -- Created: Thu Mar 26 14:24:05 1992 |

3 | -- Author: Laurent BUCHARD |

4 | -- <lbr@topsn3> |

5 | ---Copyright: Matra Datavision 1992 |

6 | |

7 | |

8 | |

9 | deferred class ImpTool from IntImpParGen |

10 | |

11 | ---Purpose: Template class for an implicit curve. |

12 | |

13 | |

14 | uses Pnt2d from gp, |

15 | Vec2d from gp |

16 | |

17 | is |

18 | |

19 | |

20 | Value (me; U: Real from Standard) |

21 | |

22 | --Purpose: Computes the point at parameter U on the |

23 | -- Implicit Curve. |

24 | |

25 | returns Pnt2d from gp |

26 | is static; |

27 | |

28 | |

29 | D1 (me; U: Real from Standard ; P: out Pnt2d; T: out Vec2d) |

30 | |

31 | --Purpose: Computes the first derivative and the point on the |

32 | -- implicit curve at parameter U. |

33 | |

34 | is static; |

35 | |

36 | |

37 | D2 (me; U: Real from Standard ; P: out Pnt2d; T,N: out Vec2d) |

38 | |

39 | --Purpose: Computes the first, the second derivatives |

40 | -- and the point on the implicit curve at parameter U. |

41 | |

42 | is static; |

43 | |

44 | |

45 | Distance(me; P: Pnt2d from gp) |

46 | |

47 | ---Purpose: Computes the value of the signed distance between |

48 | -- the point P and the implicit curve. |

49 | -- |

50 | |

51 | returns Real from Standard |

52 | is static; |

53 | |

54 | |

55 | GradDistance(me; P: Pnt2d from gp) |

56 | |

57 | ---Purpose: Computes the Gradient of the Signed Distance |

58 | -- between a point and the implicit curve, at the |

59 | -- point P. |

60 | -- |

61 | |

62 | returns Vec2d from gp |

63 | is static; |

64 | |

65 | |

66 | FindParameter(me; P: Pnt2d from gp) |

67 | |

68 | ---Purpose: Returns the parameter U of the point on the |

69 | -- implicit curve corresponding to the point P. |

70 | -- The correspondance between P and the point P(U) on |

71 | -- the implicit curve must be coherent with the way |

72 | -- of determination of the signed distance. |

73 | |

74 | returns Real from Standard |

75 | is static; |

76 | |

77 | |

78 | end ImpTool; |

79 | |

80 | |

81 | |

82 | |

83 | |

84 | |

85 | |

86 | |