X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMImpl%2FGEOMImpl_I3DPrimOperations.hxx;h=a65ac384a654fc5a6d8c7f9ae553198a257b2e28;hb=7a3c2d25cc85b5c75acf2c8df92e4373af480d42;hp=21040faa4a2325f2c408d00d811ec2f7ee636fda;hpb=ff7fc4d6c2f5e6de741fd7f0b9ebf01de04d0e10;p=modules%2Fgeom.git diff --git a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx index 21040faa4..a65ac384a 100644 --- a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -29,6 +29,10 @@ #include "GEOM_Object.hxx" #include #include +#include + +class GEOMImpl_IGroupOperations; +class GEOMImpl_IPipe; class GEOMImpl_I3DPrimOperations : public GEOM_IOperations { public: @@ -96,10 +100,12 @@ class GEOMImpl_I3DPrimOperations : public GEOM_IOperations { double theDX, double theDY, double theDZ); Standard_EXPORT Handle(GEOM_Object) MakeDraftPrism (Handle(GEOM_Object) theInitShape, Handle(GEOM_Object) theBase, - double theHeight, double theAngle, bool theFuse); + double theHeight, double theAngle, bool theFuse, bool theInvert = false ); - Standard_EXPORT Handle(GEOM_Object) MakePipe (Handle(GEOM_Object) theBase, - Handle(GEOM_Object) thePath); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakePipe + (const Handle(GEOM_Object) &theBase, + const Handle(GEOM_Object) &thePath, + const bool IsGenerateGroups); Standard_EXPORT Handle(GEOM_Object) MakeRevolutionAxisAngle (Handle(GEOM_Object) theBase, Handle(GEOM_Object) theAxis, @@ -121,32 +127,42 @@ class GEOMImpl_I3DPrimOperations : public GEOM_IOperations { double thePreci, bool theRuled); - Standard_EXPORT Handle(GEOM_Object) MakePipeWithDifferentSections( - const Handle(TColStd_HSequenceOfTransient)& theBases, - const Handle(TColStd_HSequenceOfTransient)& theLocations, - const Handle(GEOM_Object)& thePath, - bool theWithContact, - bool theWithCorrections); - - Standard_EXPORT Handle(GEOM_Object) MakePipeWithShellSections( - const Handle(TColStd_HSequenceOfTransient)& theBases, - const Handle(TColStd_HSequenceOfTransient)& theSubBases, - const Handle(TColStd_HSequenceOfTransient)& theLocations, - const Handle(GEOM_Object)& thePath, - bool theWithContact, - bool theWithCorrections); - - Standard_EXPORT Handle(GEOM_Object) MakePipeShellsWithoutPath - (const Handle(TColStd_HSequenceOfTransient)& theBases, - const Handle(TColStd_HSequenceOfTransient)& theLocations); - - Standard_EXPORT Handle(GEOM_Object) MakePipeBiNormalAlongVector (Handle(GEOM_Object) theBase, - Handle(GEOM_Object) thePath, - Handle(GEOM_Object) theVec); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) + MakePipeWithDifferentSections + (const Handle(TColStd_HSequenceOfTransient) &theBases, + const Handle(TColStd_HSequenceOfTransient) &theLocations, + const Handle(GEOM_Object) &thePath, + const bool theWithContact, + const bool theWithCorrections, + const bool IsBySteps, + const bool IsGenerateGroups); + + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakePipeWithShellSections + (const Handle(TColStd_HSequenceOfTransient) &theBases, + const Handle(TColStd_HSequenceOfTransient) &theSubBases, + const Handle(TColStd_HSequenceOfTransient) &theLocations, + const Handle(GEOM_Object) &thePath, + const bool theWithContact, + const bool theWithCorrections, + const bool IsGenerateGroups); + + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakePipeShellsWithoutPath + (const Handle(TColStd_HSequenceOfTransient) &theBases, + const Handle(TColStd_HSequenceOfTransient) &theLocations, + const bool IsGenerateGroups); + + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakePipeBiNormalAlongVector + (const Handle(GEOM_Object) &theBase, + const Handle(GEOM_Object) &thePath, + const Handle(GEOM_Object) &theVec, + const bool IsGenerateGroups); - Standard_EXPORT Handle(GEOM_Object) MakeThickening (Handle(GEOM_Object) theObject, - double theOffset, - bool isCopy); + Standard_EXPORT Handle(GEOM_Object) MakeThickening + (Handle(GEOM_Object) theObject, + const Handle(TColStd_HArray1OfInteger) &theFacesIDs, + double theOffset, + bool isCopy, + bool theInside = false); Standard_EXPORT Handle(GEOM_Object) RestorePath (Handle(GEOM_Object) theShape, Handle(GEOM_Object) theBase1, @@ -155,6 +171,23 @@ class GEOMImpl_I3DPrimOperations : public GEOM_IOperations { Standard_EXPORT Handle(GEOM_Object) RestorePath (Handle(GEOM_Object) theShape, const Handle(TColStd_HSequenceOfTransient)& theBase1, const Handle(TColStd_HSequenceOfTransient)& theBase2); + +private: + + Handle(GEOM_Object) createGroup + (const Handle(GEOM_Object) &theBaseObject, + const Handle(TColStd_HArray1OfInteger) &theGroupIDs, + const TCollection_AsciiString &theName, + const TopTools_IndexedMapOfShape &theIndices); + + void createGroups(const Handle(GEOM_Object) &theBaseObject, + GEOMImpl_IPipe *thePipe, + Handle(TColStd_HSequenceOfTransient) &theSequence); + +private: + + GEOMImpl_IGroupOperations *myGroupOperations; + }; #endif