X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMImpl%2FGEOMImpl_IAdvancedOperations.hxx;h=2b7b91892d446d83d6fb315784fcd9a6a4438030;hb=90dda39995ebbd4c4de8184fd89f528fafc45474;hp=997023edceddbccb300305e8539f71599709d2ac;hpb=ece47f8e463bab875187bc77b95cb161aee2dcbb;p=modules%2Fgeom.git diff --git a/src/GEOMImpl/GEOMImpl_IAdvancedOperations.hxx b/src/GEOMImpl/GEOMImpl_IAdvancedOperations.hxx index 997023edc..2b7b91892 100644 --- a/src/GEOMImpl/GEOMImpl_IAdvancedOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_IAdvancedOperations.hxx @@ -1,7 +1,4 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -19,10 +16,10 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : GEOMImpl_IAdvancedOperations.hxx // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) // - #ifndef _GEOMImpl_IAdvancedOperations_HXX_ #define _GEOMImpl_IAdvancedOperations_HXX_ @@ -31,13 +28,86 @@ #include "GEOM_Engine.hxx" #include "GEOM_Object.hxx" -class GEOMImpl_IAdvancedOperations : public GEOM_IOperations -{ +class GEOMImpl_IBasicOperations; +class GEOMImpl_IBooleanOperations; +class GEOMImpl_IShapesOperations; +class GEOMImpl_ITransformOperations; +class GEOMImpl_IBlocksOperations; +class GEOMImpl_I3DPrimOperations; +class GEOMImpl_ILocalOperations; + +class GEOMImpl_IAdvancedOperations: public GEOM_IOperations { +private: + bool MakePipeTShapePartition(Handle(GEOM_Object) theShape, + double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + double theH = 0, double theW = 0, + double theRF = 0, bool isNormal = true); + bool MakePipeTShapeMirrorAndGlue(Handle(GEOM_Object) theShape, + double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2); + bool MakeGroups(Handle(GEOM_Object) theShape, int shapType, + double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + Handle(TColStd_HSequenceOfTransient) theSeq, + gp_Trsf aTrsf); + gp_Trsf GetPositionTrsf(double theL1, double theL2, + Handle(GEOM_Object) P1 = 0, + Handle(GEOM_Object) P2 = 0, + Handle(GEOM_Object) P3 = 0); + bool CheckCompatiblePosition(double& theL1, double& theL2, + Handle(GEOM_Object) theP1, + Handle(GEOM_Object) theP2, + Handle(GEOM_Object) theP3, + double theTolerance); +private: + GEOMImpl_IBasicOperations* myBasicOperations; + GEOMImpl_IBooleanOperations* myBooleanOperations; + GEOMImpl_IShapesOperations* myShapesOperations; + GEOMImpl_ITransformOperations* myTransformOperations; + GEOMImpl_IBlocksOperations* myBlocksOperations; + GEOMImpl_I3DPrimOperations* my3DPrimOperations; + GEOMImpl_ILocalOperations* myLocalOperations; + public: Standard_EXPORT GEOMImpl_IAdvancedOperations(GEOM_Engine* theEngine, int theDocID); Standard_EXPORT ~GEOMImpl_IAdvancedOperations(); - /*@@ insert new functions before this line @@*/ + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeTShape(double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + bool theHexMesh = true); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeTShapeWithPosition(double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + bool theHexMesh = true, + Handle(GEOM_Object) P1 = 0, + Handle(GEOM_Object) P2 = 0, + Handle(GEOM_Object) P3 = 0); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeTShapeChamfer(double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + double theH, double theW, + bool theHexMesh = true); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeTShapeChamferWithPosition(double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + double theH, double theW, + bool theHexMesh = true, + Handle(GEOM_Object) P1 = 0, + Handle(GEOM_Object) P2 = 0, + Handle(GEOM_Object) P3 = 0); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeTShapeFillet(double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + double theRF, bool theHexMesh = true); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeTShapeFilletWithPosition(double theR1, double theW1, double theL1, + double theR2, double theW2, double theL2, + double theRF, bool theHexMesh = true, + Handle(GEOM_Object) P1 = 0, + Handle(GEOM_Object) P2 = 0, + Handle(GEOM_Object) P3 = 0); + /*@@ insert new functions before this line @@ do not remove this line @@*/ }; - #endif