1 // This file is generated by WOK (CPPExt).
2 // Please do not edit this file; modify original file instead.
3 // The copyright and license terms as defined for the original file apply to
4 // this header file considered to be the "object code" form of the original source.
6 #ifndef _BRepBuilderAPI_GTransform_21423_HeaderFile
7 #define _BRepBuilderAPI_GTransform_21423_HeaderFile
9 #ifndef _Standard_HeaderFile
10 #include <Standard.hxx>
12 #ifndef _Standard_Macro_HeaderFile
13 #include <Standard_Macro.hxx>
16 #ifndef _gp_GTrsf_HeaderFile
17 #include <gp_GTrsf.hxx>
19 #ifndef _Standard_Boolean_HeaderFile
20 #include <Standard_Boolean.hxx>
22 #ifndef _BRepBuilderAPI_Collect_HeaderFile
23 #include <BRepBuilderAPI_Collect.hxx>
25 #ifndef _BRepBuilderAPI_ModifyShape_21423_HeaderFile
26 #include <BRepBuilderAPI_ModifyShape_21423.hxx>
28 class Standard_NoSuchObject;
31 class TopTools_ListOfShape;
34 //! Geometric transformation on a shape. <br>
35 //! The transformation to be applied is defined as a gp_GTrsf <br>
36 //! transformation. It may be: <br>
37 //! - a transformation equivalent to a gp_Trsf transformation, the <br>
38 //! most common case: you should , however, use a BRepAPI_Transform <br>
39 //! object to perform this kind of transformation; or <br>
40 //! - an affinity, or <br>
41 //! - more generally, any type of point transformation which may <br>
42 //! be defined by a three row, four column matrix of transformation. <br>
43 //! In the last two cases, the underlying geometry of the <br>
44 //! following shapes may change: <br>
45 //! - a curve which supports an edge of the shape, or <br>
46 //! - a surface which supports a face of the shape; <br>
47 //! For example, a circle may be transformed into an ellipse when <br>
48 //! applying an affinity transformation. <br>
49 //! The transformation is applied to: <br>
50 //! - all the curves which support edges of the shape, and <br>
51 //! - all the surfaces which support faces of the shape. <br>
52 //! A GTransform object provides a framework for: <br>
53 //! - defining the geometric transformation to be applied, <br>
54 //! - implementing the transformation algorithm, and <br>
55 //! - consulting the result. <br>
56 class BRepBuilderAPI_GTransform_21423 : public BRepBuilderAPI_ModifyShape_21423 {
59 void* operator new(size_t,void* anAddress)
63 void* operator new(size_t size)
65 return Standard::Allocate(size);
67 void operator delete(void *anAddress)
69 if (anAddress) Standard::Free((Standard_Address&)anAddress);
72 //! Constructs a framework for applying the geometric <br>
73 //! transformation T to a shape. Use the function <br>
74 //! Perform to define the shape to transform. <br>
75 Standard_EXPORT BRepBuilderAPI_GTransform_21423(const gp_GTrsf& T);
76 //! Constructs a framework for applying the geometric <br>
77 //! transformation T to a shape, and applies it to the shape S. <br>
78 //! - If the transformation T is direct and isometric (i.e. if <br>
79 //! the determinant of the vectorial part of T is equal to <br>
80 //! 1.), and if Copy equals false (default value), the <br>
81 //! resulting shape is the same as the original but with <br>
82 //! a new location assigned to it. <br>
83 //! - In all other cases, the transformation is applied to <br>
84 //! a duplicate of S. <br>
85 //! Use the function Shape to access the result. <br>
86 //! Note: the constructed framework can be reused to <br>
87 //! apply the same geometric transformation to other <br>
88 //! shapes: just specify them with the function Perform. <br>
89 Standard_EXPORT BRepBuilderAPI_GTransform_21423(const TopoDS_Shape& S,const gp_GTrsf& T,const Standard_Boolean Copy = Standard_False);
90 //! Applies the geometric transformation defined at the <br>
91 //! time of construction of this framework to the shape S. <br>
92 //! - If the transformation T is direct and isometric (i.e. if <br>
93 //! the determinant of the vectorial part of T is equal to <br>
94 //! 1.), and if Copy equals false (default value), the <br>
95 //! resulting shape is the same as the original but with <br>
96 //! a new location assigned to it. <br>
97 //! - In all other cases, the transformation is applied to a duplicate of S. <br>
98 //! Use the function Shape to access the result. <br>
99 //! Note: this framework can be reused to apply the same <br>
100 //! geometric transformation to other shapes: just specify <br>
101 //! them by calling the function Perform again. <br>
102 Standard_EXPORT void Perform(const TopoDS_Shape& S,const Standard_Boolean Copy = Standard_False) ;
103 //! Returns the list of shapes modified from the shape <br>
105 Standard_EXPORT virtual const TopTools_ListOfShape& Modified(const TopoDS_Shape& S) ;
106 //! Returns the modified shape corresponding to <S>. <br>
107 Standard_EXPORT virtual const TopoDS_Shape& ModifiedShape(const TopoDS_Shape& S) const;
124 Standard_Boolean myUseModif;
125 BRepBuilderAPI_Collect myHist;
134 // other Inline functions and methods (like "C++: function call" methods)