0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_MakeEvolved.cdl
CommitLineData
b311480e 1-- Created on: 1995-09-18
2-- Created by: Bruno DUMORTIER
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
17class MakeEvolved from BRepOffsetAPI inherits MakeShape from BRepBuilderAPI
18
19 ---Purpose: Describes functions to build evolved shapes.
20 -- An evolved shape is built from a planar spine (face or
21 -- wire) and a profile (wire). The evolved shape is the
22 -- unlooped sweep (pipe) of the profile along the spine.
23 -- Self-intersections are removed.
24 -- A MakeEvolved object provides a framework for:
25 -- - defining the construction of an evolved shape,
26 -- - implementing the construction algorithm, and
27 -- - consulting the result.
28 -- Computes an Evolved by
29 -- 1 - sweeping a profil along a spine.
30 -- 2 - removing the self-intersections.
31 --
32 -- The profile is defined in a Referential R. The position of
33 -- the profile at the current point of the spine is given by
34 -- confusing R and the local referential given by ( D0, D1
35 -- and the normal of the Spine)
36 --
37 -- If the Boolean <AxeProf> is true, R is O,X,Y,Z
38 -- else R is defined as the local refential at the nearest
39 -- point of the profil to the spine.
40 --
41 -- if <Solid> is TRUE the Shape result is completed to be a
42 -- solid or a compound of solids.
43
44
45
46uses
47 Evolved from BRepFill,
48 ListOfShape from TopTools,
49 Shape from TopoDS,
50 Face from TopoDS,
51 Wire from TopoDS,
52 JoinType from GeomAbs
53
54is
55 Create returns MakeEvolved from BRepOffsetAPI;
56
57 Create( Spine : Wire from TopoDS;
58 Profil : Wire from TopoDS;
59 Join : JoinType from GeomAbs = GeomAbs_Arc;
60 AxeProf : Boolean from Standard = Standard_True;
61 Solid : Boolean from Standard = Standard_False;
62 ProfOnSpine: Boolean from Standard = Standard_False;
63 Tol : Real from Standard = 0.0000001)
64 ---Purpose:
65 ---Level: Public
66 returns MakeEvolved from BRepOffsetAPI;
67
68 Create( Spine : Face from TopoDS;
69 Profil : Wire from TopoDS;
70 Join : JoinType from GeomAbs = GeomAbs_Arc;
71 AxeProf : Boolean from Standard = Standard_True;
72 Solid : Boolean from Standard = Standard_False;
73 ProfOnSpine: Boolean from Standard = Standard_False;
74 Tol : Real from Standard = 0.0000001)
75 ---Purpose: These constructors construct an evolved shape by sweeping the profile
76 -- Profile along the spine Spine.
77 -- The profile is defined in a coordinate system R.
78 -- The coordinate system is determined by AxeProf:
79 -- - if AxeProf is true, R is the global coordinate system,
80 -- - if AxeProf is false, R is computed so that:
81 -- - its origin is given by the point on the spine which is
82 -- closest to the profile,
83 -- - its "X Axis" is given by the tangent to the spine at this point, and
84 -- - its "Z Axis" is the normal to the plane which contains the spine.
85 -- The position of the profile at the current point of the
86 -- spine is given by making R coincident with the local
87 -- coordinate system given by the current point, the
88 -- tangent vector and the normal to the spine.
89 -- Join defines the type of pipe generated by the salient
90 -- vertices of the spine. The default type is GeomAbs_Arc
91 -- where the vertices generate revolved pipes about the
92 -- axis passing along the vertex and the normal to the
93 -- plane of the spine. At present, this is the only
94 -- construction type implemented.
95 returns MakeEvolved from BRepOffsetAPI;
96
97 Evolved(me) returns Evolved from BRepFill
98 ---C++: return const &
99 ---Level: Advanced
100 is static;
101
102 Build(me : in out)
103 is redefined;
104 ---Purpose: Builds the resulting shape (redefined from MakeShape).
105 ---Level: Public
106
107 GeneratedShapes (me ;
108 SpineShape : Shape from TopoDS;
109 ProfShape : Shape from TopoDS)
110 ---Purpose: Returns the shapes created from a subshape
111 -- <SpineShape> of the spine and a subshape
112 -- <ProfShape> on the profile.
113 ---C++ : return const &
114 returns ListOfShape from TopTools
115 is static;
116
117 Top (me) returns Shape from TopoDS
118 ---Purpose: Return the face Top if <Solid> is True in the constructor.
119 ---C++ : return const &
120 is static;
121
122 Bottom (me) returns Shape from TopoDS
123 ---Purpose: Return the face Bottom if <Solid> is True in the constructor.
124 ---C++ : return const &
125 is static;
126
127fields
128 myEvolved : Evolved from BRepFill;
129
130end MakeEvolved;