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

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

2 | -- Created: Fri Mar 10 16:13:39 1995 | |

3 | -- Author: Mister rmi | |

4 | -- <rmi@photon> | |

5 | -- Modified on july 97 by ROB : Field HArray instead Of ArrayOfPnt3D | |

6 | -- (connected entities) | |

7 | ---Copyright: Matra Datavision 1995 | |

8 | ||

9 | ||

10 | class SensitiveCurve from Select3D | |

11 | inherits SensitivePoly from Select3D | |

12 | ||

13 | ---Purpose: A framework to define a sensitive 3D curve. | |

14 | ||

15 | uses | |

16 | Pnt from gp, | |

17 | Pnt2d from gp, | |

18 | Projector from Select3D, | |

19 | Lin from gp, | |

20 | EntityOwner from SelectBasics, | |

21 | ListOfBox2d from SelectBasics, | |

22 | Curve from Geom, | |

23 | Array1OfPnt from TColgp, | |

24 | Array1OfPnt2d from TColgp, | |

25 | HArray1OfPnt from TColgp, | |

26 | Box2d from Bnd, | |

27 | Location from TopLoc | |

28 | is | |

29 | ||

30 | ||

31 | Create (OwnerId : EntityOwner from SelectBasics; | |

32 | TheCurve : Curve from Geom; | |

33 | MaxPoints : Integer = 17) | |

34 | returns mutable SensitiveCurve; | |

35 | ---Level: Public | |

36 | ---Purpose: Constructs a sensitive curve object defined by the | |

37 | -- owner OwnerId, the curve TheCurve, and the | |

38 | -- maximum number of points on the curve: MaxPoints. | |

39 | ||

40 | Create (OwnerId : EntityOwner from SelectBasics; | |

41 | ThePoints : HArray1OfPnt from TColgp) | |

42 | returns mutable SensitiveCurve; | |

43 | ---Level: Public | |

44 | ---Purpose: Constructs a sensitive curve object defined by the | |

45 | -- owner OwnerId and the set of points ThePoints. | |

46 | ||

47 | Create (OwnerId : EntityOwner from SelectBasics; | |

48 | ThePoints : Array1OfPnt from TColgp) | |

49 | returns mutable SensitiveCurve; | |

50 | ---Level: Public | |

51 | ---Purpose: Creation of Sensitive Curve from Points. | |

52 | -- Warning : This Method should disappear in the next version... | |

53 | ||

54 | Matches(me :mutable; | |

55 | X,Y : Real from Standard; | |

56 | aTol: Real from Standard; | |

57 | DMin: out Real from Standard) | |

58 | returns Boolean | |

59 | is redefined static; | |

60 | ||

61 | Matches (me :mutable; | |

62 | XMin,YMin,XMax,YMax : Real from Standard; | |

63 | aTol: Real from Standard) | |

64 | returns Boolean | |

65 | is static; | |

66 | ||

67 | Matches (me :mutable; | |

68 | Polyline:Array1OfPnt2d from TColgp; | |

69 | aBox:Box2d from Bnd; | |

70 | aTol: Real from Standard) | |

71 | returns Boolean | |

72 | is redefined virtual; | |

73 | ---Level: Public | |

74 | ||

75 | ||

76 | ComputeDepth(me;EyeLine: Lin from gp) | |

77 | returns Real from Standard is redefined static; | |

78 | ||

79 | ||

80 | GetLastDetected(me) returns Integer from Standard; | |

81 | ---Purpose: Gets index of last detected segment | |

82 | ---C++: inline | |

83 | ||

84 | ||

85 | ---Category: Internal Methods | |

86 | Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual; | |

87 | ||

88 | LoadPoints(me:mutable;aCurve:Curve from Geom;NbPoints: Integer) is static private; | |

89 | ||

90 | fields | |

91 | mylastseg : Integer from Standard; | |

92 | end SensitiveCurve; | |

93 |