0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_Transform.cdl
CommitLineData
b311480e 1-- Created on: 1994-12-09
2-- Created by: Jacques GOUSSARD
3-- Copyright (c) 1994-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 Transform from BRepBuilderAPI inherits ModifyShape from BRepBuilderAPI
18
19 ---Purpose: Geometric transformation on a shape.
20 -- The transformation to be applied is defined as a
21 -- gp_Trsf transformation, i.e. a transformation which does
22 -- not modify the underlying geometry of shapes.
23 -- The transformation is applied to:
24 -- - all curves which support edges of a shape, and
25 -- - all surfaces which support its faces.
26 -- A Transform object provides a framework for:
27 -- - defining the geometric transformation to be applied,
28 -- - implementing the transformation algorithm, and
29 -- - consulting the results.
30
31uses
32 Trsf from gp,
33 Location from TopLoc,
34 Shape from TopoDS,
35 Face from TopoDS,
36 ShapeModification from BRepBuilderAPI,
37 ListOfShape from TopTools
38
39raises
40 NoSuchObject from Standard
41is
42
43 Create(T: Trsf from gp)
44
45 returns Transform from BRepBuilderAPI;
46 ---Purpose: Constructs a framework for applying the geometric
47 -- transformation T to a shape. Use the function Perform
48 -- to define the shape to transform.
49
50
51 Create(S: Shape from TopoDS; T: Trsf from gp;
52 Copy: Boolean from Standard = Standard_False)
53
54 returns Transform from BRepBuilderAPI;
55 ---Purpose: Creates a transformation from the gp_Trsf <T>, and
56 -- applies it to the shape <S>. If the transformation
57 -- is direct and isometric (determinant = 1) and
58 -- <Copy> = Standard_False, the resulting shape is
59 -- <S> on which a new location has been set.
60 -- Otherwise, the transformation is applied on a
61 -- duplication of <S>.
62
63
64 Perform(me: in out; S : Shape from TopoDS;
65 Copy: Boolean from Standard = Standard_False)
66
67 ---Purpose: pplies the geometric transformation defined at the
68 -- time of construction of this framework to the shape S.
69 -- - If the transformation T is direct and isometric, in
70 -- other words, if the determinant of the vectorial part
71 -- of T is equal to 1., and if Copy equals false (the
72 -- default value), the resulting shape is the same as
73 -- the original but with a new location assigned to it.
74 -- - In all other cases, the transformation is applied to a duplicate of S.
75 -- Use the function Shape to access the result.
76 -- Note: this framework can be reused to apply the same
77 -- geometric transformation to other shapes. You only
78 -- need to specify them by calling the function Perform again.
79
80 is static;
81
82 ModifiedShape(me; S: Shape from TopoDS)
83 returns Shape from TopoDS
84 ---Purpose: Returns the modified shape corresponding to <S>.
7fd59977 85 raises NoSuchObject from Standard
86 -- if S is not the initial shape or a sub-shape
87 -- of the initial shape.
88 is redefined virtual;
89
90 Modified (me: in out; S : Shape from TopoDS)
91 ---Purpose: Returns the list of shapes modified from the shape
92 -- <S>.
93 ---C++: return const &
94 ---Level: Public
95 returns ListOfShape from TopTools
96 is redefined virtual;
97
98
99fields
100
101 myTrsf : Trsf from gp;
102 myLocation : Location from TopLoc;
103 myUseModif : Boolean from Standard;
104
105end Transform;