X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMImpl%2FGEOMImpl_IBlocksOperations.hxx;h=491a606130447dfe2a49da58bbca897be6b3b6da;hb=04e48a49077a1dbdffb320370fd97927e935950b;hp=9c7010594e18fbc389474af8a5541b4ad7fea340;hpb=ca429d817a18d6acc571443f6a596575dee03c2f;p=modules%2Fgeom.git diff --git a/src/GEOMImpl/GEOMImpl_IBlocksOperations.hxx b/src/GEOMImpl/GEOMImpl_IBlocksOperations.hxx index 9c7010594..491a60613 100644 --- a/src/GEOMImpl/GEOMImpl_IBlocksOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_IBlocksOperations.hxx @@ -1,3 +1,23 @@ +// 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 +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com #ifndef _GEOMImpl_IBlocksOperations_HXX_ #define _GEOMImpl_IBlocksOperations_HXX_ @@ -15,70 +35,70 @@ class Handle(TColStd_HArray1OfInteger); class GEOMImpl_IBlocksOperations : public GEOM_IOperations { public: - GEOMImpl_IBlocksOperations(GEOM_Engine* theEngine, int theDocID); - ~GEOMImpl_IBlocksOperations(); + Standard_EXPORT GEOMImpl_IBlocksOperations(GEOM_Engine* theEngine, int theDocID); + Standard_EXPORT ~GEOMImpl_IBlocksOperations(); // Creation of blocks and block faces - Handle(GEOM_Object) MakeQuad (Handle(GEOM_Object) theEdge1, + Standard_EXPORT Handle(GEOM_Object) MakeQuad (Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2, Handle(GEOM_Object) theEdge3, Handle(GEOM_Object) theEdge4); - Handle(GEOM_Object) MakeQuad2Edges (Handle(GEOM_Object) theEdge1, + Standard_EXPORT Handle(GEOM_Object) MakeQuad2Edges (Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2); - Handle(GEOM_Object) MakeQuad4Vertices (Handle(GEOM_Object) thePoint1, + Standard_EXPORT Handle(GEOM_Object) MakeQuad4Vertices (Handle(GEOM_Object) thePoint1, Handle(GEOM_Object) thePoint2, Handle(GEOM_Object) thePoint3, Handle(GEOM_Object) thePoint4); - Handle(GEOM_Object) MakeHexa (Handle(GEOM_Object) theFace1, + Standard_EXPORT Handle(GEOM_Object) MakeHexa (Handle(GEOM_Object) theFace1, Handle(GEOM_Object) theFace2, Handle(GEOM_Object) theFace3, Handle(GEOM_Object) theFace4, Handle(GEOM_Object) theFace5, Handle(GEOM_Object) theFace6); - Handle(GEOM_Object) MakeHexa2Faces (Handle(GEOM_Object) theFace1, + Standard_EXPORT Handle(GEOM_Object) MakeHexa2Faces (Handle(GEOM_Object) theFace1, Handle(GEOM_Object) theFace2); - Handle(GEOM_Object) MakeBlockCompound (Handle(GEOM_Object) theCompound); + Standard_EXPORT Handle(GEOM_Object) MakeBlockCompound (Handle(GEOM_Object) theCompound); // Extract elements of blocks and blocks compounds - Handle(GEOM_Object) GetPoint (Handle(GEOM_Object) theShape, + Standard_EXPORT Handle(GEOM_Object) GetPoint (Handle(GEOM_Object) theShape, const Standard_Real theX, const Standard_Real theY, const Standard_Real theZ, const Standard_Real theEpsilon); - Handle(GEOM_Object) GetEdge (Handle(GEOM_Object) theShape, + Standard_EXPORT Handle(GEOM_Object) GetEdge (Handle(GEOM_Object) theShape, Handle(GEOM_Object) thePoint1, Handle(GEOM_Object) thePoint2); - Handle(GEOM_Object) GetEdgeNearPoint (Handle(GEOM_Object) theBlock, + Standard_EXPORT Handle(GEOM_Object) GetEdgeNearPoint (Handle(GEOM_Object) theBlock, Handle(GEOM_Object) thePoint); - Handle(GEOM_Object) GetFaceByPoints (Handle(GEOM_Object) theShape, + Standard_EXPORT Handle(GEOM_Object) GetFaceByPoints (Handle(GEOM_Object) theShape, Handle(GEOM_Object) thePoint1, Handle(GEOM_Object) thePoint2, Handle(GEOM_Object) thePoint3, Handle(GEOM_Object) thePoint4); - Handle(GEOM_Object) GetFaceByEdges (Handle(GEOM_Object) theShape, + Standard_EXPORT Handle(GEOM_Object) GetFaceByEdges (Handle(GEOM_Object) theShape, Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2); - Handle(GEOM_Object) GetOppositeFace (Handle(GEOM_Object) theBlock, + Standard_EXPORT Handle(GEOM_Object) GetOppositeFace (Handle(GEOM_Object) theBlock, Handle(GEOM_Object) theFace); - Handle(GEOM_Object) GetFaceNearPoint (Handle(GEOM_Object) theBlock, + Standard_EXPORT Handle(GEOM_Object) GetFaceNearPoint (Handle(GEOM_Object) theBlock, Handle(GEOM_Object) thePoint); - Handle(GEOM_Object) GetFaceByNormale (Handle(GEOM_Object) theBlock, + Standard_EXPORT Handle(GEOM_Object) GetFaceByNormale (Handle(GEOM_Object) theBlock, Handle(GEOM_Object) theVector); // Check blocks compounds - Standard_Boolean IsCompoundOfBlocks (Handle(GEOM_Object) theCompound, + Standard_EXPORT Standard_Boolean IsCompoundOfBlocks (Handle(GEOM_Object) theCompound, const Standard_Integer theMinNbFaces, const Standard_Integer theMaxNbFaces, Standard_Integer& theNbBlocks); @@ -93,51 +113,52 @@ class GEOMImpl_IBlocksOperations : public GEOM_IOperations { struct BCError { BCErrorType error; - list incriminated; + std::list incriminated; }; - Standard_Boolean CheckCompoundOfBlocksOld (Handle(GEOM_Object) theCompound, - list& theErrors); + Standard_EXPORT Standard_Boolean CheckCompoundOfBlocksOld (Handle(GEOM_Object) theCompound, + std::list& theErrors); - Standard_Boolean CheckCompoundOfBlocks (Handle(GEOM_Object) theCompound, - list& theErrors); + Standard_EXPORT Standard_Boolean CheckCompoundOfBlocks (Handle(GEOM_Object) theCompound, + std::list& theErrors); - TCollection_AsciiString PrintBCErrors (Handle(GEOM_Object) theCompound, - const list& theErrors); + Standard_EXPORT TCollection_AsciiString PrintBCErrors (Handle(GEOM_Object) theCompound, + const std::list& theErrors); - Handle(GEOM_Object) RemoveExtraEdges (Handle(GEOM_Object) theShape); + Standard_EXPORT Handle(GEOM_Object) RemoveExtraEdges (Handle(GEOM_Object) theShape, + const Standard_Integer theOptimumNbFaces = 6); - Handle(GEOM_Object) CheckAndImprove (Handle(GEOM_Object) theCompound); + Standard_EXPORT Handle(GEOM_Object) CheckAndImprove (Handle(GEOM_Object) theCompound); - static void AddBlocksFrom (const TopoDS_Shape& theShape, + Standard_EXPORT static void AddBlocksFrom (const TopoDS_Shape& theShape, TopTools_ListOfShape& BLO, TopTools_ListOfShape& NOT, TopTools_ListOfShape& EXT); // Extract blocks from blocks compounds - Handle(TColStd_HSequenceOfTransient) ExplodeCompoundOfBlocks + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) ExplodeCompoundOfBlocks (Handle(GEOM_Object) theCompound, const Standard_Integer theMinNbFaces, const Standard_Integer theMaxNbFaces); - Handle(GEOM_Object) GetBlockNearPoint (Handle(GEOM_Object) theCompound, + Standard_EXPORT Handle(GEOM_Object) GetBlockNearPoint (Handle(GEOM_Object) theCompound, Handle(GEOM_Object) thePoint); - Handle(GEOM_Object) GetBlockByParts + Standard_EXPORT Handle(GEOM_Object) GetBlockByParts (Handle(GEOM_Object) theCompound, const Handle(TColStd_HSequenceOfTransient)& theParts); - Handle(TColStd_HSequenceOfTransient) GetBlocksByParts + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetBlocksByParts (Handle(GEOM_Object) theCompound, const Handle(TColStd_HSequenceOfTransient)& theParts); // Operations on blocks with gluing of result - Handle(GEOM_Object) MakeMultiTransformation1D (Handle(GEOM_Object) theBlock, + Standard_EXPORT Handle(GEOM_Object) MakeMultiTransformation1D (Handle(GEOM_Object) theBlock, const Standard_Integer theDirFace1, const Standard_Integer theDirFace2, const Standard_Integer theNbTimes); - Handle(GEOM_Object) MakeMultiTransformation2D (Handle(GEOM_Object) theBlock, + Standard_EXPORT Handle(GEOM_Object) MakeMultiTransformation2D (Handle(GEOM_Object) theBlock, const Standard_Integer theDirFace1U, const Standard_Integer theDirFace2U, const Standard_Integer theNbTimesU, @@ -146,7 +167,7 @@ class GEOMImpl_IBlocksOperations : public GEOM_IOperations { const Standard_Integer theNbTimesV); // Build groups for Propagation of 1D hypotheses - Handle(TColStd_HSequenceOfTransient) Propagate (Handle(GEOM_Object) theShape); + Standard_EXPORT Handle(TColStd_HSequenceOfTransient) Propagate (Handle(GEOM_Object) theShape); }; #endif