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

42cf5bc1 | 1 | // Created on: 1992-12-15 |

2 | // Created by: Jean Louis FRENKEL | |

3 | // Copyright (c) 1992-1999 Matra Datavision | |

4 | // Copyright (c) 1999-2014 OPEN CASCADE SAS | |

5 | // | |

6 | // This file is part of Open CASCADE Technology software library. | |

7 | // | |

8 | // This library is free software; you can redistribute it and/or modify it under | |

9 | // the terms of the GNU Lesser General Public License 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. | |

13 | // | |

14 | // Alternatively, this file may be used under the terms of Open CASCADE | |

15 | // commercial license or contractual agreement. | |

16 | ||

17 | #ifndef _StdPrs_DeflectionCurve_HeaderFile | |

18 | #define _StdPrs_DeflectionCurve_HeaderFile | |

19 | ||

20 | #include <Standard.hxx> | |

21 | #include <Standard_DefineAlloc.hxx> | |

22 | #include <Standard_Handle.hxx> | |

23 | ||

24 | #include <Prs3d_Root.hxx> | |

25 | #include <Prs3d_Drawer.hxx> | |

26 | #include <Standard_Boolean.hxx> | |

27 | #include <Standard_Real.hxx> | |

28 | #include <TColgp_SequenceOfPnt.hxx> | |

29 | #include <Quantity_Length.hxx> | |

30 | class Prs3d_Presentation; | |

31 | class Adaptor3d_Curve; | |

32 | ||

33 | ||

34 | //! A framework to provide display of any curve with | |

35 | //! respect to the maximal chordal deviation defined in | |

36 | //! the Prs3d_Drawer attributes manager. | |

37 | class StdPrs_DeflectionCurve : public Prs3d_Root | |

38 | { | |

39 | public: | |

40 | ||

41 | DEFINE_STANDARD_ALLOC | |

42 | ||

43 | ||

44 | //! adds to the presentation aPresentation the drawing of the curve | |

45 | //! aCurve with respect to the maximal chordial deviation defined | |

46 | //! by the drawer aDrawer. | |

47 | //! The aspect is defined by LineAspect in aDrawer. | |

48 | //! If drawCurve equals Standard_False the curve will not be displayed, | |

49 | //! it is used if the curve is a part of some shape and PrimitiveArray | |

50 | //! visualization approach is activated (it is activated by default). | |

51 | Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean drawCurve = Standard_True); | |

52 | ||

53 | //! adds to the presentation aPresentation the drawing of the curve | |

54 | //! aCurve with respect to the maximal chordial deviation defined | |

55 | //! by the drawer aDrawer. | |

56 | //! The aspect is defined by LineAspect in aDrawer. | |

57 | //! The drawing will be limited between the points of parameter U1 and U2. | |

58 | //! If drawCurve equals Standard_False the curve will not be displayed, | |

59 | //! it is used if the curve is a part of some shape and PrimitiveArray | |

60 | //! visualization approach is activated (it is activated by default). | |

61 | Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean drawCurve = Standard_True); | |

62 | ||

63 | //! adds to the presentation aPresentation the drawing of the curve | |

64 | //! aCurve with respect to the maximal chordial deviation aDeflection. | |

65 | //! The aspect is the current aspect | |

66 | //! If drawCurve equals Standard_False the curve will not be displayed, | |

67 | //! it is used if the curve is a part of some shape and PrimitiveArray | |

68 | //! visualization approach is activated (it is activated by default). | |

69 | Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real aDeflection, const Standard_Real aLimit, const Standard_Real anAngle = 0.2, const Standard_Boolean drawCurve = Standard_True); | |

70 | ||

71 | //! adds to the presentation aPresentation the drawing of the curve | |

72 | //! aCurve with respect to the maximal chordial deviation aDeflection. | |

73 | //! The aspect is the current aspect | |

74 | //! Points give a sequence of curve points. | |

75 | //! If drawCurve equals Standard_False the curve will not be displayed, | |

76 | //! it is used if the curve is a part of some shape and PrimitiveArray | |

77 | //! visualization approach is activated (it is activated by default). | |

78 | Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real aDeflection, const Handle(Prs3d_Drawer)& aDrawer, TColgp_SequenceOfPnt& Points, const Standard_Boolean drawCurve = Standard_True); | |

79 | ||

80 | //! adds to the presentation aPresentation the drawing of the curve | |

81 | //! aCurve with respect to the maximal chordial deviation aDeflection. | |

82 | //! The aspect is the current aspect | |

83 | //! The drawing will be limited between the points of parameter U1 and U2. | |

84 | //! Points give a sequence of curve points. | |

85 | //! If drawCurve equals Standard_False the curve will not be displayed, | |

86 | //! it is used if the curve is a part of some shape and PrimitiveArray | |

87 | //! visualization approach is activated (it is activated by default). | |

88 | Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Standard_Real aDeflection, TColgp_SequenceOfPnt& Points, const Standard_Real anAngle = 0.2, const Standard_Boolean drawCurve = Standard_True); | |

89 | ||

90 | //! returns true if the distance between the point (X,Y,Z) and the | |

91 | //! drawing of the curve aCurve with respect of the maximal | |

92 | //! chordial deviation defined by the drawer aDrawer is less then aDistance. | |

93 | Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer); | |

94 | ||

95 | //! returns true if the distance between the point (X,Y,Z) and the | |

96 | //! drawing of the curve aCurve with respect of the maximal | |

97 | //! chordial deviation defined by the drawer aDrawer is less | |

98 | //! then aDistance. The drawing is considered between the points | |

99 | //! of parameter U1 and U2; | |

100 | Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Handle(Prs3d_Drawer)& aDrawer); | |

42cf5bc1 | 101 | |

88e55ec7 | 102 | //! Returns true if the distance between the point (theX, theY, theZ) |

103 | //! and the drawing with respect of the maximal chordial deviation theDeflection is less then theDistance. | |

104 | Standard_EXPORT static Standard_Boolean Match (const Quantity_Length theX, const Quantity_Length theY, const Quantity_Length theZ, const Quantity_Length theDistance, | |

105 | const Adaptor3d_Curve& theCurve, | |

106 | const Standard_Real theDeflection, const Standard_Real theLimit, const Standard_Real theAngle); | |

42cf5bc1 | 107 | |

88e55ec7 | 108 | //! Returns true if the distance between the point (theX, theY, theZ) |

109 | //! and the drawing with respect of the maximal chordial deviation theDeflection is less then theDistance. | |

110 | //! The drawing is considered between the points of parameter theU1 and theU2. | |

111 | Standard_EXPORT static Standard_Boolean Match (const Quantity_Length theX, const Quantity_Length theY, const Quantity_Length theZ, const Quantity_Length theDistance, | |

112 | const Adaptor3d_Curve& theCurve, const Standard_Real theU1, const Standard_Real theU2, | |

113 | const Standard_Real theDeflection, const Standard_Real theAngle); | |

42cf5bc1 | 114 | |

115 | }; | |

116 | ||

42cf5bc1 | 117 | #endif // _StdPrs_DeflectionCurve_HeaderFile |