Salome HOME
Mantis issue 0020998: EDF 1572 GEOM: Some limitations to the PipeTShape. V5_1_5rc1
authorjfa <jfa@opencascade.com>
Mon, 25 Oct 2010 13:20:21 +0000 (13:20 +0000)
committerjfa <jfa@opencascade.com>
Mon, 25 Oct 2010 13:20:21 +0000 (13:20 +0000)
src/GEOMImpl/GEOMImpl_IAdvancedOperations.cxx
src/GEOMImpl/GEOMImpl_IAdvancedOperations.hxx

index 82a56be6acbd36dbd961bed274afd912afcbd5d7..9a86c59fe1eb4e5b44d9ef32831932ad031b5f59 100644 (file)
@@ -90,6 +90,7 @@ GEOMImpl_IAdvancedOperations::GEOMImpl_IAdvancedOperations(GEOM_Engine* theEngin
   myBlocksOperations    = new GEOMImpl_IBlocksOperations(GetEngine(), GetDocID());
   my3DPrimOperations    = new GEOMImpl_I3DPrimOperations(GetEngine(), GetDocID());
   myLocalOperations     = new GEOMImpl_ILocalOperations(GetEngine(), GetDocID());
+  myHealingOperations   = new GEOMImpl_IHealingOperations(GetEngine(), GetDocID());
 }
 
 //=============================================================================
@@ -107,6 +108,7 @@ GEOMImpl_IAdvancedOperations::~GEOMImpl_IAdvancedOperations()
   delete myBlocksOperations;
   delete my3DPrimOperations;
   delete myLocalOperations;
+  delete myHealingOperations;
 }
 
 //=============================================================================
@@ -1884,9 +1886,7 @@ GEOMImpl_IAdvancedOperations::MakePipeTShapeFillet(double theR1, double theW1, d
   // END of fillet
 
   // BEGIN: Limit tolerances (debug)
-  GEOMImpl_IHealingOperations myHealingOperations (GetEngine(), GetDocID());
-
-  Handle(GEOM_Object) aCorr1 = myHealingOperations.LimitTolerance(aShape, 1e-07);
+  Handle(GEOM_Object) aCorr1 = myHealingOperations->LimitTolerance(aShape, 1e-07);
   TopoDS_Shape aCorr1Shape = aCorr1->GetValue();
   aShape->GetLastFunction()->SetValue(aCorr1Shape);
   aCorr1->GetLastFunction()->SetDescription("");
@@ -2086,9 +2086,7 @@ GEOMImpl_IAdvancedOperations::MakePipeTShapeFilletWithPosition(double theR1, dou
   // END of fillet
 
   // BEGIN: Limit tolerances (debug)
-  GEOMImpl_IHealingOperations myHealingOperations (GetEngine(), GetDocID());
-
-  Handle(GEOM_Object) aCorr1 = myHealingOperations.LimitTolerance(aShape, 1e-07);
+  Handle(GEOM_Object) aCorr1 = myHealingOperations->LimitTolerance(aShape, 1e-07);
   TopoDS_Shape aCorr1Shape = aCorr1->GetValue();
   aShape->GetLastFunction()->SetValue(aCorr1Shape);
   aCorr1->GetLastFunction()->SetDescription("");
index 2b7b91892d446d83d6fb315784fcd9a6a4438030..ee5e5347df274d72de5f8cfb9ef2545c71c6dfc6 100644 (file)
 //
 //  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_
 
@@ -35,31 +34,32 @@ class GEOMImpl_ITransformOperations;
 class GEOMImpl_IBlocksOperations;
 class GEOMImpl_I3DPrimOperations;
 class GEOMImpl_ILocalOperations;
+class GEOMImpl_IHealingOperations;
 
 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);
+                               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);
+                                   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);
+                  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);
+                          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);
+                               Handle(GEOM_Object) theP1, 
+                               Handle(GEOM_Object) theP2,
+                               Handle(GEOM_Object) theP3,
+                               double theTolerance);
 private:
   GEOMImpl_IBasicOperations*     myBasicOperations;
   GEOMImpl_IBooleanOperations*   myBooleanOperations;
@@ -68,6 +68,7 @@ private:
   GEOMImpl_IBlocksOperations*    myBlocksOperations;
   GEOMImpl_I3DPrimOperations*    my3DPrimOperations;
   GEOMImpl_ILocalOperations*     myLocalOperations;
+  GEOMImpl_IHealingOperations*   myHealingOperations;
 
 public:
   Standard_EXPORT GEOMImpl_IAdvancedOperations(GEOM_Engine* theEngine, int theDocID);
@@ -75,39 +76,39 @@ public:
 
   Standard_EXPORT Handle(TColStd_HSequenceOfTransient) 
                   MakePipeTShape(double theR1, double theW1, double theL1,
-                                double theR2, double theW2, double theL2,
-                                bool theHexMesh = true);
+                                 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);
+                                             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);
+                                        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);
+                                                    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);
+                                       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);
+                                                   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