00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GEOMImpl_ITransformOperations_HXX_
00024 #define _GEOMImpl_ITransformOperations_HXX_
00025
00026 #include "Utils_SALOME_Exception.hxx"
00027 #include "GEOM_IOperations.hxx"
00028 #include "GEOM_Engine.hxx"
00029 #include "GEOM_Object.hxx"
00030
00031 #include <TDocStd_Document.hxx>
00032 #include <TopoDS_Shape.hxx>
00033
00034 class GEOMImpl_ITranslate;
00035 class GEOMImpl_IRotate;
00036
00037 class GEOMImpl_ITransformOperations : public GEOM_IOperations
00038 {
00039 public:
00040 Standard_EXPORT GEOMImpl_ITransformOperations(GEOM_Engine* theEngine, int theDocID);
00041 Standard_EXPORT ~GEOMImpl_ITransformOperations();
00042
00043 Standard_EXPORT Handle(GEOM_Object) TranslateTwoPoints (Handle(GEOM_Object) theObject,
00044 Handle(GEOM_Object) thePoint1,
00045 Handle(GEOM_Object) thePoint2);
00046
00047 Standard_EXPORT Handle(GEOM_Object) TranslateTwoPointsCopy (Handle(GEOM_Object) theObject,
00048 Handle(GEOM_Object) thePoint1,
00049 Handle(GEOM_Object) thePoint2);
00050
00051 Standard_EXPORT Handle(GEOM_Object) TranslateDXDYDZ (Handle(GEOM_Object) theObject,
00052 double theX, double theY, double theZ);
00053
00054 Standard_EXPORT Handle(GEOM_Object) TranslateDXDYDZCopy (Handle(GEOM_Object) theObject,
00055 double theX, double theY, double theZ);
00056
00057 Standard_EXPORT Handle(GEOM_Object) TranslateVector (Handle(GEOM_Object) theObject,
00058 Handle(GEOM_Object) theVector);
00059
00060 Standard_EXPORT Handle(GEOM_Object) TranslateVectorCopy (Handle(GEOM_Object) theObject,
00061 Handle(GEOM_Object) theVector);
00062
00063 Standard_EXPORT Handle(GEOM_Object) TranslateVectorDistance (Handle(GEOM_Object) theObject,
00064 Handle(GEOM_Object) theVector,
00065 double theDistance,
00066 bool theCopy);
00067
00068 Standard_EXPORT Handle(GEOM_Object) Translate1D (Handle(GEOM_Object) theObject,
00069 Handle(GEOM_Object) theVector,
00070 double theStep,
00071 Standard_Integer theNbTimes);
00072
00073 Standard_EXPORT Handle(GEOM_Object) Translate2D (Handle(GEOM_Object) theObject,
00074 Handle(GEOM_Object) theVector,
00075 double theStep1,
00076 Standard_Integer theNbTimes1,
00077 Handle(GEOM_Object) theVector2,
00078 double theStep2,
00079 Standard_Integer theNbTimes2);
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089 Standard_EXPORT Handle(GEOM_Object) MirrorPlane (Handle(GEOM_Object) theObject,
00090 Handle(GEOM_Object) thePlane);
00091
00092 Standard_EXPORT Handle(GEOM_Object) MirrorPlaneCopy (Handle(GEOM_Object) theObject,
00093 Handle(GEOM_Object) thePlane);
00094
00095 Standard_EXPORT Handle(GEOM_Object) MirrorAxis (Handle(GEOM_Object) theObject,
00096 Handle(GEOM_Object) theAxis);
00097
00098 Standard_EXPORT Handle(GEOM_Object) MirrorAxisCopy (Handle(GEOM_Object) theObject,
00099 Handle(GEOM_Object) theAxis);
00100
00101 Standard_EXPORT Handle(GEOM_Object) MirrorPoint (Handle(GEOM_Object) theObject,
00102 Handle(GEOM_Object) thePoint);
00103
00104 Standard_EXPORT Handle(GEOM_Object) MirrorPointCopy (Handle(GEOM_Object) theObject,
00105 Handle(GEOM_Object) thePoint);
00106
00107 Standard_EXPORT Handle(GEOM_Object) OffsetShape (Handle(GEOM_Object) theObject,
00108 double theOffset);
00109
00110 Standard_EXPORT Handle(GEOM_Object) OffsetShapeCopy (Handle(GEOM_Object) theObject,
00111 double theOffset);
00112
00113 Standard_EXPORT Handle(GEOM_Object) ProjectShapeCopy (Handle(GEOM_Object) theSource,
00114 Handle(GEOM_Object) theTarget);
00115
00116 Standard_EXPORT Handle(GEOM_Object) ScaleShape (Handle(GEOM_Object) theObject,
00117 Handle(GEOM_Object) thePoint,
00118 double theFactor);
00119
00120 Standard_EXPORT Handle(GEOM_Object) ScaleShapeCopy (Handle(GEOM_Object) theObject,
00121 Handle(GEOM_Object) thePoint,
00122 double theFactor);
00123
00124 Standard_EXPORT Handle(GEOM_Object) ScaleShapeAlongAxes (Handle(GEOM_Object) theObject,
00125 Handle(GEOM_Object) thePoint,
00126 double theFactorX,
00127 double theFactorY,
00128 double theFactorZ,
00129 bool doCopy);
00130
00131 Standard_EXPORT Handle(GEOM_Object) PositionShape (Handle(GEOM_Object) theObject,
00132 Handle(GEOM_Object) theStartLCS,
00133 Handle(GEOM_Object) theEndLCS);
00134
00135 Standard_EXPORT Handle(GEOM_Object) PositionShapeCopy (Handle(GEOM_Object) theObject,
00136 Handle(GEOM_Object) theStartLCS,
00137 Handle(GEOM_Object) theEndLCS);
00138
00139 Standard_EXPORT Handle(GEOM_Object) PositionAlongPath (Handle(GEOM_Object) theObject,
00140 Handle(GEOM_Object) thePath,
00141 double theDistance,
00142 bool theCopy,
00143 bool theReverse);
00144
00145 Standard_EXPORT Handle(GEOM_Object) Rotate (Handle(GEOM_Object) theObject,
00146 Handle(GEOM_Object) theAxis,
00147 double theAngle);
00148
00149 Standard_EXPORT Handle(GEOM_Object) RotateCopy (Handle(GEOM_Object) theObject,
00150 Handle(GEOM_Object) theAxis,
00151 double theAngle);
00152
00153 Standard_EXPORT Handle(GEOM_Object) Rotate1D (Handle(GEOM_Object) theObject,
00154 Handle(GEOM_Object) theAxis,
00155 Standard_Integer theNbTimes);
00156
00157 Standard_EXPORT Handle(GEOM_Object) Rotate2D (Handle(GEOM_Object) theObject,
00158 Handle(GEOM_Object) theAxis,
00159 double theAngle,
00160 Standard_Integer theNbTimes1,
00161 double theStep,
00162 Standard_Integer theNbTimes2);
00163
00164 Standard_EXPORT Handle(GEOM_Object) RotateThreePoints (Handle(GEOM_Object) theObject,
00165 Handle(GEOM_Object) theCentPoint,
00166 Handle(GEOM_Object) thePoint1,
00167 Handle(GEOM_Object) thePoint2);
00168
00169 Standard_EXPORT Handle(GEOM_Object) RotateThreePointsCopy (Handle(GEOM_Object) theObject,
00170 Handle(GEOM_Object) theCentPoint,
00171 Handle(GEOM_Object) thePoint1,
00172 Handle(GEOM_Object) thePoint2);
00173
00174 Standard_EXPORT Handle(GEOM_Object) TransformLikeOtherCopy (Handle(GEOM_Object) theObject,
00175 Handle(GEOM_Object) theSample);
00176
00177 };
00178
00179 #endif