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

b311480e | 1 | -- Created on: 1995-10-20 |

2 | -- Created by: Yves FRICAUD | |

3 | -- Copyright (c) 1995-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 | -- |

d5f74e42 | 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 | |

973c2be1 | 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 Analyse from BRepOffset | |

18 | ||

19 | ---Purpose: Analyse of a shape consit to | |

20 | -- Find the part of edges convex concave tangent. | |

21 | ||

22 | uses | |

23 | ||

24 | Shape from TopoDS, | |

25 | Face from TopoDS, | |

26 | Edge from TopoDS, | |

27 | Vertex from TopoDS, | |

28 | Compound from TopoDS, | |

29 | IndexedDataMapOfShapeListOfShape from TopTools, | |

30 | ListOfShape from TopTools, | |

31 | MapOfShape from TopTools, | |

32 | Interval from BRepOffset, | |

33 | ListOfInterval from BRepOffset, | |

34 | DataMapOfShapeListOfInterval from BRepOffset, | |

35 | Type from BRepOffset | |

36 | ||

37 | is | |

38 | Create; | |

39 | ||

40 | Create (S : Shape from TopoDS ; | |

41 | Angle : Real from Standard) | |

42 | returns Analyse from BRepOffset; | |

43 | ||

44 | Perform (me : in out ; | |

45 | S : Shape from TopoDS ; | |

46 | Angle : Real from Standard) | |

47 | is static; | |

48 | ||

49 | IsDone (me) | |

50 | returns Boolean from Standard | |

51 | is static; | |

52 | ||

53 | Clear(me : in out) | |

54 | is static; | |

55 | ||

56 | Type (me; E : Edge from TopoDS) | |

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

58 | returns ListOfInterval from BRepOffset | |

59 | is static; | |

60 | ||

61 | Edges (me; | |

62 | V : Vertex from TopoDS; | |

63 | T : Type from BRepOffset; | |

64 | L : in out ListOfShape from TopTools) | |

65 | ---Purpose: Stores in <L> all the edges of Type <T> | |

66 | -- on the vertex <V>. | |

67 | is static; | |

68 | ||

69 | Edges (me; | |

70 | F : Face from TopoDS; | |

71 | T : Type from BRepOffset; | |

72 | L : in out ListOfShape from TopTools) | |

73 | ---Purpose: Stores in <L> all the edges of Type <T> | |

74 | -- on the face <F>. | |

75 | is static; | |

76 | ||

77 | TangentEdges(me; | |

78 | Edge : Edge from TopoDS; | |

79 | Vertex : Vertex from TopoDS; | |

80 | Edges : in out ListOfShape from TopTools) | |

81 | ---Purpose: set in <Edges> all the Edges of <Shape> which are | |

82 | -- tangent to <Edge> at the vertex <Vertex>. | |

83 | is static; | |

84 | ||

85 | HasAncestor (me ; S : Shape from TopoDS) | |

86 | returns Boolean from Standard | |

87 | is static; | |

88 | ||

89 | Ancestors (me ; S : Shape from TopoDS) | |

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

91 | returns ListOfShape from TopTools | |

92 | is static; | |

93 | ||

94 | Explode (me; | |

95 | L : in out ListOfShape from TopTools; | |

96 | Type : in Type from BRepOffset) | |

97 | ---Purpose: Explode in compounds of faces where | |

98 | -- all the connex edges are of type <Side> | |

99 | is static; | |

100 | ||

101 | Explode (me; | |

102 | L : in out ListOfShape from TopTools; | |

103 | Type1 : in Type from BRepOffset; | |

104 | Type2 : in Type from BRepOffset) | |

105 | ---Purpose: Explode in compounds of faces where | |

106 | -- all the connex edges are of type <Side1> or <Side2> | |

107 | is static; | |

108 | ||

109 | AddFaces(me; | |

110 | Face : Face from TopoDS; | |

111 | Co : in out Compound from TopoDS; | |

112 | Map : in out MapOfShape from TopTools; | |

113 | Type : in Type from BRepOffset) | |

114 | ---Purpose: Add in <CO> the faces of the shell containing <Face> | |

115 | -- where all the connex edges are of type <Side>. | |

116 | is static; | |

117 | ||

118 | AddFaces(me; | |

119 | Face : Face from TopoDS; | |

120 | Co : in out Compound from TopoDS; | |

121 | Map : in out MapOfShape from TopTools; | |

122 | Type1 : in Type from BRepOffset; | |

123 | Type2 : in Type from BRepOffset) | |

124 | ---Purpose: Add in <CO> the faces of the shell containing <Face> | |

125 | -- where all the connex edges are of type <Side1> or <Side2>. | |

126 | ||

127 | is static; | |

128 | ||

129 | fields | |

130 | ||

131 | myDone : Boolean from Standard; | |

132 | myShape : Shape from TopoDS; | |

133 | mapEdgeType : DataMapOfShapeListOfInterval from BRepOffset; | |

134 | ancestors : IndexedDataMapOfShapeListOfShape from TopTools; | |

135 | angle : Real from Standard; | |

136 | ||

137 | end Analyse; |