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

b311480e | 1 | -- Created on: 1995-09-01 |

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 FaceRestrictor from BRepAlgo | |

18 | ||

19 | ---Purpose: Builds all the faces limited with a set of non | |

20 | -- jointing and planars wires. if | |

21 | -- <ControlOrientation> is false The Wires must have | |

22 | -- correct orientations. Sinon orientation des wires | |

23 | -- de telle sorte que les faces ne soient pas infinies | |

24 | -- et qu'elles soient disjointes. | |

25 | ||

26 | uses | |

27 | Wire from TopoDS, | |

28 | Face from TopoDS, | |

29 | ListOfShape from TopTools, | |

30 | DataMapOfShapeListOfShape from TopTools | |

31 | is | |

32 | ||

33 | Create returns FaceRestrictor from BRepAlgo; | |

34 | ||

35 | Init (me : in out; | |

36 | F : Face from TopoDS; | |

37 | Proj : Boolean from Standard = Standard_False; | |

38 | ControlOrientation : Boolean from Standard = Standard_False) | |

39 | ---Purpose: the surface of <F> will be the the surface of each new | |

40 | -- faces built. | |

41 | -- <Proj> is used to update pcurves on edges if necessary. | |

42 | -- See Add(). | |

43 | is static; | |

44 | ||

45 | Add( me : in out; | |

46 | W : in out Wire from TopoDS) | |

47 | ---Purpose: Add the wire <W> to the set of wires. | |

48 | -- | |

49 | -- Warning: | |

50 | -- The Wires must be closed. | |

51 | -- | |

52 | -- The edges of <W> can be modified if they have not pcurves | |

53 | -- on the surface <S> of <F>. In this case | |

54 | -- if <Proj> is false the first pcurve of the edge | |

55 | -- is positionned on <S>. | |

56 | -- if <Proj> is True ,the Pcurve On <S> is the | |

57 | -- projection of the curve 3d on <F>. | |

58 | is static; | |

59 | ||

60 | Clear(me : in out) | |

61 | ---Purpose: Removes all the Wires | |

62 | is static; | |

63 | ||

64 | Perform( me : in out) | |

65 | ---Purpose: Evaluate all the faces limited by the set of Wires. | |

66 | is static; | |

67 | ||

68 | IsDone( me) | |

69 | returns Boolean from Standard | |

70 | is static; | |

71 | ||

72 | More( me) | |

73 | returns Boolean from Standard | |

74 | is static; | |

75 | ||

76 | Next( me : in out) | |

77 | is static; | |

78 | ||

79 | Current(me) | |

80 | returns Face from TopoDS | |

81 | is static; | |

82 | ||

83 | PerformWithCorrection( me : in out) | |

84 | ---Purpose: Evaluate all the faces limited by the set of Wires. | |

85 | is static private; | |

86 | ||

87 | fields | |

88 | ||

89 | myDone : Boolean from Standard; | |

90 | modeProj : Boolean from Standard; | |

91 | myFace : Face from TopoDS; | |

92 | wires : ListOfShape from TopTools; | |

93 | faces : ListOfShape from TopTools; | |

94 | ||

95 | myCorrection : Boolean from Standard; | |

96 | keyIsIn : DataMapOfShapeListOfShape from TopTools; | |

97 | keyContains : DataMapOfShapeListOfShape from TopTools; | |

98 | ||

99 | end FaceRestrictor; | |

100 |