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_I3DPrimOperations_HXX_
00024 #define _GEOMImpl_I3DPrimOperations_HXX_
00025
00026 #include "Utils_SALOME_Exception.hxx"
00027 #include "GEOM_IOperations.hxx"
00028 #include "GEOM_Engine.hxx"
00029 #include "GEOM_Object.hxx"
00030 #include <TDocStd_Document.hxx>
00031 #include <TColStd_HSequenceOfTransient.hxx>
00032
00033 class GEOMImpl_I3DPrimOperations : public GEOM_IOperations {
00034 public:
00035 Standard_EXPORT GEOMImpl_I3DPrimOperations(GEOM_Engine* theEngine, int theDocID);
00036 Standard_EXPORT ~GEOMImpl_I3DPrimOperations();
00037
00038 Standard_EXPORT Handle(GEOM_Object) MakeBoxDXDYDZ (double theDX, double theDY, double theDZ);
00039 Standard_EXPORT Handle(GEOM_Object) MakeBoxTwoPnt (Handle(GEOM_Object) thePnt1,
00040 Handle(GEOM_Object) thePnt2);
00041 Standard_EXPORT Handle(GEOM_Object) MakeFaceHW (double theH, double theW, int theOrientation);
00042 Standard_EXPORT Handle(GEOM_Object) MakeFaceObjHW (Handle(GEOM_Object) theObj,
00043 double theH, double theW);
00044 Standard_EXPORT Handle(GEOM_Object) MakeDiskThreePnt (Handle(GEOM_Object) thePnt1,
00045 Handle(GEOM_Object) thePnt2,
00046 Handle(GEOM_Object) thePnt3);
00047 Standard_EXPORT Handle(GEOM_Object) MakeDiskPntVecR (Handle(GEOM_Object) thePnt1,
00048 Handle(GEOM_Object) theVec,
00049 double theR);
00050 Standard_EXPORT Handle(GEOM_Object) MakeDiskR (double theR, int theOrientation);
00051 Standard_EXPORT Handle(GEOM_Object) MakeCylinderRH (double theR, double theH);
00052 Standard_EXPORT Handle(GEOM_Object) MakeCylinderPntVecRH (Handle(GEOM_Object) thePnt,
00053 Handle(GEOM_Object) theVec,
00054 double theR, double theH);
00055
00056 Standard_EXPORT Handle(GEOM_Object) MakeConeR1R2H (double theR1, double theR2, double theH);
00057 Standard_EXPORT Handle(GEOM_Object) MakeConePntVecR1R2H (Handle(GEOM_Object) thePnt,
00058 Handle(GEOM_Object) theVec,
00059 double theR1, double theR2, double theH);
00060
00061 Standard_EXPORT Handle(GEOM_Object) MakeSphereR (double theR);
00062 Standard_EXPORT Handle(GEOM_Object) MakeSpherePntR (Handle(GEOM_Object) thePnt, double theR);
00063
00064 Standard_EXPORT Handle(GEOM_Object) MakeTorusRR (double theRMajor, double theRMinor);
00065
00066 Standard_EXPORT Handle(GEOM_Object) MakeTorusPntVecRR (Handle(GEOM_Object) thePnt,
00067 Handle(GEOM_Object) theVec,
00068 double theRMajor, double theRMinor);
00069
00070 Standard_EXPORT Handle(GEOM_Object) MakePrismVecH (Handle(GEOM_Object) theBase,
00071 Handle(GEOM_Object) theVec,
00072 double theH, double theScaleFactor = -1.0);
00073
00074 Standard_EXPORT Handle(GEOM_Object) MakePrismVecH2Ways (Handle(GEOM_Object) theBase,
00075 Handle(GEOM_Object) theVec, double theH);
00076
00077 Standard_EXPORT Handle(GEOM_Object) MakePrismTwoPnt (Handle(GEOM_Object) theBase,
00078 Handle(GEOM_Object) thePoint1,
00079 Handle(GEOM_Object) thePoint2,
00080 double theScaleFactor = -1.0);
00081
00082 Standard_EXPORT Handle(GEOM_Object) MakePrismTwoPnt2Ways (Handle(GEOM_Object) theBase,
00083 Handle(GEOM_Object) thePoint1,
00084 Handle(GEOM_Object) thePoint2);
00085
00086 Standard_EXPORT Handle(GEOM_Object) MakePrismDXDYDZ (Handle(GEOM_Object) theBase,
00087 double theDX, double theDY, double theDZ,
00088 double theScaleFactor = -1.0);
00089
00090 Standard_EXPORT Handle(GEOM_Object) MakePrismDXDYDZ2Ways (Handle(GEOM_Object) theBase,
00091 double theDX, double theDY, double theDZ);
00092
00093 Standard_EXPORT Handle(GEOM_Object) MakePipe (Handle(GEOM_Object) theBase,
00094 Handle(GEOM_Object) thePath);
00095
00096 Standard_EXPORT Handle(GEOM_Object) MakeRevolutionAxisAngle (Handle(GEOM_Object) theBase,
00097 Handle(GEOM_Object) theAxis,
00098 double theAngle);
00099
00100 Standard_EXPORT Handle(GEOM_Object) MakeRevolutionAxisAngle2Ways (Handle(GEOM_Object) theBase,
00101 Handle(GEOM_Object) theAxis,
00102 double theAngle);
00103
00104 Standard_EXPORT Handle(GEOM_Object) MakeFilling (Handle(GEOM_Object) theShape,
00105 int theMinDeg, int theMaxDeg,
00106 double theTol2D, double theTol3D,
00107 int theNbIter, int theMethod,
00108 bool isApprox);
00109
00110 Standard_EXPORT Handle(GEOM_Object) MakeThruSections
00111 (const Handle(TColStd_HSequenceOfTransient)& theSeqSections,
00112 bool theModeSolid,
00113 double thePreci,
00114 bool theRuled);
00115
00116 Standard_EXPORT Handle(GEOM_Object) MakePipeWithDifferentSections(
00117 const Handle(TColStd_HSequenceOfTransient)& theBases,
00118 const Handle(TColStd_HSequenceOfTransient)& theLocations,
00119 const Handle(GEOM_Object)& thePath,
00120 bool theWithContact,
00121 bool theWithCorrections);
00122
00123 Standard_EXPORT Handle(GEOM_Object) MakePipeWithShellSections(
00124 const Handle(TColStd_HSequenceOfTransient)& theBases,
00125 const Handle(TColStd_HSequenceOfTransient)& theSubBases,
00126 const Handle(TColStd_HSequenceOfTransient)& theLocations,
00127 const Handle(GEOM_Object)& thePath,
00128 bool theWithContact,
00129 bool theWithCorrections);
00130
00131 Standard_EXPORT Handle(GEOM_Object) MakePipeShellsWithoutPath(
00132 const Handle(TColStd_HSequenceOfTransient)& theBases,
00133 const Handle(TColStd_HSequenceOfTransient)& theLocations);
00134
00135 Standard_EXPORT Handle(GEOM_Object) MakePipeBiNormalAlongVector (Handle(GEOM_Object) theBase,
00136 Handle(GEOM_Object) thePath,
00137 Handle(GEOM_Object) theVec);
00138
00139 };
00140
00141 #endif