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

42cf5bc1 | 1 | // Created on: 1991-04-15 |

2 | // Created by: Philippe DAUTRY | |

3 | // Copyright (c) 1991-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 _GccEnt_QualifiedCirc_HeaderFile | |

18 | #define _GccEnt_QualifiedCirc_HeaderFile | |

19 | ||

20 | #include <Standard.hxx> | |

21 | #include <Standard_DefineAlloc.hxx> | |

22 | #include <Standard_Handle.hxx> | |

23 | ||

24 | #include <gp_Circ2d.hxx> | |

25 | #include <GccEnt_Position.hxx> | |

26 | #include <Standard_Boolean.hxx> | |

27 | class gp_Circ2d; | |

28 | ||

29 | ||

30 | //! Creates a qualified 2d Circle. | |

31 | //! A qualified 2D circle is a circle (gp_Circ2d circle) with a | |

32 | //! qualifier which specifies whether the solution of a | |

33 | //! construction algorithm using the qualified circle (as an argument): | |

34 | //! - encloses the circle, or | |

35 | //! - is enclosed by the circle, or | |

36 | //! - is built so that both the circle and it are external to one another, or | |

37 | //! - is undefined (all solutions apply). | |

38 | class GccEnt_QualifiedCirc | |

39 | { | |

40 | public: | |

41 | ||

42 | DEFINE_STANDARD_ALLOC | |

43 | ||

44 | ||

45 | //! Constructs a qualified circle by assigning the qualifier | |

46 | //! Qualifier to the circle Qualified. Qualifier may be: | |

47 | //! - GccEnt_enclosing if the solution computed by a | |

48 | //! construction algorithm using the qualified circle | |

49 | //! encloses the circle, or | |

50 | //! - GccEnt_enclosed if the solution is enclosed by the circle, or | |

51 | //! - GccEnt_outside if both the solution and the circle | |

52 | //! are external to one another, or | |

53 | //! - GccEnt_unqualified if all solutions apply. | |

54 | Standard_EXPORT GccEnt_QualifiedCirc(const gp_Circ2d& Qualified, const GccEnt_Position Qualifier); | |

55 | ||

56 | //! Returns a 2D circle to which the qualifier is assigned. | |

57 | Standard_EXPORT gp_Circ2d Qualified() const; | |

58 | ||

59 | //! Returns | |

60 | //! - the qualifier of this qualified circle, if it is enclosing, | |

61 | //! enclosed or outside, or | |

62 | //! - GccEnt_noqualifier if it is unqualified. | |

63 | Standard_EXPORT GccEnt_Position Qualifier() const; | |

64 | ||

65 | //! Returns true if the Circ2d is Unqualified and false in | |

66 | //! the other cases. | |

67 | Standard_EXPORT Standard_Boolean IsUnqualified() const; | |

68 | ||

69 | //! Returns true if the solution computed by a construction | |

70 | //! algorithm using this qualified circle encloses the circle. | |

71 | Standard_EXPORT Standard_Boolean IsEnclosing() const; | |

72 | ||

73 | //! Returns true if the solution computed by a construction | |

74 | //! algorithm using this qualified circle is enclosed by the circle. | |

75 | Standard_EXPORT Standard_Boolean IsEnclosed() const; | |

76 | ||

77 | //! Returns true if both the solution computed by a | |

78 | //! construction algorithm using this qualified circle and the | |

79 | //! circle are external to one another. | |

80 | Standard_EXPORT Standard_Boolean IsOutside() const; | |

81 | ||

82 | ||

83 | ||

84 | ||

85 | protected: | |

86 | ||

87 | ||

88 | ||

89 | ||

90 | ||

91 | private: | |

92 | ||

93 | ||

94 | ||

95 | gp_Circ2d TheQualified; | |

96 | GccEnt_Position TheQualifier; | |

97 | ||

98 | ||

99 | }; | |

100 | ||

101 | ||

102 | ||

103 | ||

104 | ||

105 | ||

106 | ||

107 | #endif // _GccEnt_QualifiedCirc_HeaderFile |