b311480e |
1 | -- Created on: 1993-10-12 |
2 | -- Created by: Remi LEQUETTE |
3 | -- Copyright (c) 1993-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 | |
7fd59977 |
17 | -- Modified by skv - Fri Mar 4 15:50:09 2005 |
18 | -- Add methods for supporting history. |
19 | |
20 | class MakePrism from BRepPrimAPI inherits MakeSweep from BRepPrimAPI |
21 | |
22 | ---Purpose: Describes functions to build linear swept topologies, called prisms. |
23 | -- A prism is defined by: |
24 | -- - a basis shape, which is swept, and |
25 | -- - a sweeping direction, which is: |
26 | -- - a vector for finite prisms, or |
27 | -- - a direction for infinite or semi-infinite prisms. |
28 | -- The basis shape must not contain any solids. |
29 | -- The profile generates objects according to the following rules: |
30 | -- - Vertices generate Edges |
31 | -- - Edges generate Faces. |
32 | -- - Wires generate Shells. |
33 | -- - Faces generate Solids. |
34 | -- - Shells generate Composite Solids |
35 | -- A MakePrism object provides a framework for: |
36 | -- - defining the construction of a prism, |
37 | -- - implementing the construction algorithm, and |
38 | -- - consulting the result. |
39 | |
40 | |
41 | uses |
42 | Prism from BRepSweep, |
43 | Shape from TopoDS, |
44 | ListOfShape from TopTools, |
45 | Edge from TopoDS, |
46 | Vec from gp, |
47 | Dir from gp |
48 | |
49 | is |
50 | |
51 | |
52 | Create (S : Shape from TopoDS; |
53 | V : Vec from gp; |
54 | Copy : Boolean from Standard = Standard_False; |
55 | Canonize: Boolean from Standard = Standard_True) |
56 | ---Purpose: Builds the prism of base S and vector V. If C is true, |
57 | -- S is copied. If Canonize is true then generated surfaces |
58 | -- are attempted to be canonized in simple types |
59 | ---Level: Public |
60 | returns MakePrism from BRepPrimAPI; |
61 | |
62 | |
63 | Create (S : Shape from TopoDS; |
64 | D : Dir from gp; |
65 | Inf : Boolean from Standard = Standard_True; |
66 | Copy : Boolean from Standard = Standard_False; |
67 | Canonize : Boolean from Standard = Standard_True) |
68 | ---Purpose: Builds a semi-infinite or an infinite prism of base S. |
69 | -- If Inf is true the prism is infinite, if Inf is false |
70 | -- the prism is semi-infinite (in the direction D). If C |
71 | -- is true S is copied (for semi-infinite prisms). |
72 | -- If Canonize is true then generated surfaces |
73 | -- are attempted to be canonized in simple types |
74 | ---Level: Public |
75 | returns MakePrism from BRepPrimAPI; |
76 | |
77 | |
78 | Prism(me) returns Prism from BRepSweep |
79 | ---Purpose: Returns the internal sweeping algorithm. |
80 | -- |
81 | ---C++: return const & |
82 | ---Level: Advanced |
83 | is static; |
84 | |
85 | |
86 | Build(me : in out) |
87 | ---Purpose: Builds the resulting shape (redefined from MakeShape). |
88 | ---Level: Public |
89 | is redefined; |
90 | |
91 | |
92 | FirstShape (me : in out) |
93 | ---Purpose: Returns the TopoDS Shape of the bottom of the prism. |
94 | returns Shape from TopoDS; |
95 | |
96 | |
97 | LastShape (me : in out) |
98 | ---Purpose: Returns the TopoDS Shape of the top of the prism. |
99 | -- In the case of a finite prism, FirstShape returns the |
100 | -- basis of the prism, in other words, S if Copy is false; |
101 | -- otherwise, the copy of S belonging to the prism. |
102 | -- LastShape returns the copy of S translated by V at the |
103 | -- time of construction. |
104 | returns Shape from TopoDS; |
105 | |
106 | |
107 | Generated (me: in out; S : Shape from TopoDS) |
108 | ---Purpose: Returns ListOfShape from TopTools. |
109 | ---C++: return const & |
110 | returns ListOfShape from TopTools |
111 | is redefined; |
112 | |
113 | -- Modified by skv - Fri Mar 4 15:50:09 2005 Begin |
114 | -- Add methods for supporting history. |
115 | |
116 | FirstShape (me : in out; theShape : Shape from TopoDS) |
117 | ---Purpose: Returns the TopoDS Shape of the bottom of the prism. |
118 | -- generated with theShape (subShape of the generating shape). |
119 | returns Shape from TopoDS |
120 | is static; |
121 | |
122 | |
123 | LastShape (me : in out; theShape : Shape from TopoDS) |
124 | ---Purpose: Returns the TopoDS Shape of the top of the prism. |
125 | -- generated with theShape (subShape of the generating shape). |
126 | returns Shape from TopoDS |
127 | is static; |
128 | |
129 | |
130 | -- Modified by skv - Fri Mar 4 15:50:09 2005 End |
131 | |
132 | |
133 | fields |
134 | |
135 | myPrism : Prism from BRepSweep; |
136 | |
137 | end MakePrism; |