b311480e |
1 | -- Created on: 1996-09-03 |
2 | -- Created by: Jacques GOUSSARD |
3 | -- Copyright (c) 1996-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 | -- |
973c2be1 |
8 | -- This library is free software; you can redistribute it and / or modify it |
9 | -- under the terms of the GNU Lesser General Public 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. |
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 MakePipe from BRepFeat inherits Form from BRepFeat |
18 | |
19 | ---Purpose: Constructs compound shapes with pipe |
20 | -- features. These can be depressions or protrusions. |
21 | -- The semantics of pipe feature creation is based on the construction of shapes: |
22 | -- - along a length |
23 | -- - up to a limiting face |
24 | -- - from a limiting face to a height. |
25 | -- The shape defining construction of the pipe feature can be either the supporting edge or |
26 | -- the concerned area of a face. |
27 | -- In case of the supporting edge, this contour |
28 | -- can be attached to a face of the basis shape |
29 | -- by binding. When the contour is bound to this |
30 | -- face, the information that the contour will |
31 | -- slide on the face becomes available to the relevant class methods. |
32 | -- In case of the concerned area of a face, you |
33 | -- could, for example, cut it out and move it to a |
34 | -- different height which will define the limiting |
35 | -- face of a protrusion or depression. |
36 | |
37 | uses Shape from TopoDS, |
38 | Face from TopoDS, |
39 | Wire from TopoDS, |
40 | Edge from TopoDS, |
41 | DataMapOfShapeListOfShape from TopTools, |
42 | DataMapOfShapeShape from TopTools, |
43 | SequenceOfCurve from TColGeom, |
44 | Curve from Geom, |
45 | StatusError from BRepFeat |
46 | |
47 | raises ConstructionError from Standard |
48 | |
49 | is |
50 | |
51 | |
52 | Create |
53 | returns MakePipe from BRepFeat; |
54 | ---Purpose: initializes the pipe class. |
55 | ---C++: inline |
56 | |
57 | |
58 | Create(Sbase : Shape from TopoDS; |
59 | Pbase : Shape from TopoDS; |
60 | Skface : Face from TopoDS; |
61 | Spine : Wire from TopoDS; |
62 | Fuse : Integer from Standard; |
63 | Modify : Boolean from Standard) |
64 | |
65 | ---Purpose : A face Pbase is selected in the |
66 | -- shape Sbase to serve as the basis for the |
67 | -- pipe. It will be defined by the wire Spine. |
68 | -- Fuse offers a choice between: |
69 | -- - removing matter with a Boolean cut using the setting 0 |
70 | -- - adding matter with Boolean fusion using the setting 1. |
71 | -- The sketch face Skface serves to determine |
72 | -- the type of operation. If it is inside the basis |
73 | -- shape, a local operation such as glueing can be performed. |
74 | ---C++: inline |
75 | returns MakePipe from BRepFeat; |
76 | |
77 | |
78 | Init(me: in out; Sbase : Shape from TopoDS; |
79 | Pbase : Shape from TopoDS; |
80 | Skface : Face from TopoDS; |
81 | Spine : Wire from TopoDS; |
82 | Fuse : Integer from Standard; |
83 | Modify : Boolean from Standard) |
84 | |
85 | is static; |
86 | ---Purpose: Initializes this algorithm for adding pipes to shapes. |
87 | -- A face Pbase is selected in the shape Sbase to |
88 | -- serve as the basis for the pipe. It will be defined by the wire Spine. |
89 | -- Fuse offers a choice between: |
90 | -- - removing matter with a Boolean cut using the setting 0 |
91 | -- - adding matter with Boolean fusion using the setting 1. |
92 | -- The sketch face Skface serves to determine |
93 | -- the type of operation. If it is inside the basis |
94 | -- shape, a local operation such as glueing can be performed. |
95 | |
96 | Add(me: in out; E: Edge from TopoDS; OnFace: Face from TopoDS) |
97 | |
98 | ---Purpose: Indicates that the edge <E> will slide on the face |
99 | -- <OnFace>. Raises ConstructionError if the face does not belong to the |
100 | -- basis shape, or the edge to the prismed shape. |
101 | raises ConstructionError from Standard |
102 | |
103 | is static; |
104 | |
105 | |
106 | Perform(me: in out) |
107 | |
108 | is static; |
109 | |
110 | |
111 | Perform(me: in out; Until: Shape from TopoDS) |
112 | |
113 | is static; |
114 | |
115 | |
116 | Perform(me: in out; From : Shape from TopoDS; |
117 | Until: Shape from TopoDS) |
118 | |
119 | is static; |
120 | |
121 | ---Purpose: Assigns one of the following semantics |
122 | -- - to a face Until |
123 | -- - from a face From to a height Until. |
124 | -- Reconstructs the feature topologically according to the semantic option chosen. |
125 | |
126 | Curves(me: in out; S : in out SequenceOfCurve from TColGeom); |
127 | |
128 | |
129 | BarycCurve(me: in out) |
130 | returns Curve from Geom; |
131 | |
132 | |
133 | fields |
134 | |
135 | -- mySbase : Shape from TopoDS; |
136 | myPbase : Shape from TopoDS; |
137 | mySkface : Face from TopoDS; |
138 | mySlface : DataMapOfShapeListOfShape from TopTools; |
139 | mySpine : Wire from TopoDS; |
140 | myCurves : SequenceOfCurve from TColGeom; |
141 | myBCurve : Curve from Geom; |
7fd59977 |
142 | |
143 | end MakePipe; |