From ccaa4673b9493057cce545295f1d9023024eb72d Mon Sep 17 00:00:00 2001 From: jfa Date: Thu, 17 Jun 2010 07:24:36 +0000 Subject: [PATCH] Mantis issue 0020894: EDF 1421 GEOM: Partition Bug with big geometrical objects. A patch by PKV. --- src/GEOMAlgo/GEOMAlgo.cdl | 78 ++--- ...pIteratorOfDataMapOfOrientedShapeShape.hxx | 114 ++++++++ ...teratorOfDataMapOfOrientedShapeShape_0.cxx | 56 ++++ ...taMapNodeOfDataMapOfOrientedShapeShape.hxx | 131 +++++++++ ...MapNodeOfDataMapOfOrientedShapeShape_0.cxx | 102 +++++++ .../GEOMAlgo_DataMapOfOrientedShapeShape.hxx | 156 ++++++++++ ...GEOMAlgo_DataMapOfOrientedShapeShape_0.cxx | 59 ++++ src/GEOMAlgo/GEOMAlgo_Tools_1.cxx | 3 +- src/GEOMAlgo/GEOMAlgo_WESCorrector.cxx | 166 ++++++++--- src/GEOMAlgo/GEOMAlgo_WESScaler.cdl | 123 ++++++++ src/GEOMAlgo/GEOMAlgo_WESScaler.cxx | 270 ++++++++++++++++++ src/GEOMAlgo/GEOMAlgo_WESScaler.hxx | 168 +++++++++++ src/GEOMAlgo/GEOMAlgo_WESScaler.ixx | 26 ++ src/GEOMAlgo/GEOMAlgo_WESScaler.jxx | 15 + ...taMapNodeOfDataMapOfOrientedShapeShape.hxx | 74 +++++ src/GEOMAlgo/Makefile.am | 130 +++++---- 16 files changed, 1529 insertions(+), 142 deletions(-) create mode 100644 src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape.hxx create mode 100644 src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_0.cxx create mode 100644 src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx create mode 100644 src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_0.cxx create mode 100644 src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape.hxx create mode 100644 src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape_0.cxx create mode 100644 src/GEOMAlgo/GEOMAlgo_WESScaler.cdl create mode 100644 src/GEOMAlgo/GEOMAlgo_WESScaler.cxx create mode 100644 src/GEOMAlgo/GEOMAlgo_WESScaler.hxx create mode 100644 src/GEOMAlgo/GEOMAlgo_WESScaler.ixx create mode 100644 src/GEOMAlgo/GEOMAlgo_WESScaler.jxx create mode 100644 src/GEOMAlgo/Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx diff --git a/src/GEOMAlgo/GEOMAlgo.cdl b/src/GEOMAlgo/GEOMAlgo.cdl index a9349ecab..fc40c3f6e 100755 --- a/src/GEOMAlgo/GEOMAlgo.cdl +++ b/src/GEOMAlgo/GEOMAlgo.cdl @@ -1,30 +1,27 @@ --- Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +-- Copyright (C) 2005 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. -- --- Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, --- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +-- 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 -- --- 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. +-- See http:--www.salome-platform.org/ or email : webmaster.salome@opencascade.com -- --- 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 --- - -- File: GEOMAlgo.cdl -- Created: Sat Dec 04 12:36:22 2004 -- Author: Peter KURNEV -- --- + package GEOMAlgo ---Purpose: @@ -117,7 +114,7 @@ is deferred class Clsf; class ClsfSurf; class ClsfBox; - class FinderShapeOn2; + --class FinderShapeOn2; class PassKeyShapeMapHasher; -- -- classes @@ -131,7 +128,8 @@ is -- gluer class Gluer; class Gluer1; - class GlueAnalyser; + class GlueAnalyser; + class CoupleOfShapes; class PassKey; class PassKeyMapHasher; @@ -146,20 +144,14 @@ is class ShellSolid; class VertexSolid; class SolidSolid; - class FinderShapeOn; + --class FinderShapeOn; -- - class FinderShapeOn1; + --class FinderShapeOn1; class StateCollector; - -- adds - deferred class HAlgo; - deferred class Clsf; - class ClsfSurf; - class ClsfBox; - --modified by NIZNHY-PKV Mon Jan 29 10:27:44 2007f + class ClsfSolid; - --modified by NIZNHY-PKV Mon Jan 29 10:27:46 2007t - class FinderShapeOn2; - class PassKeyShapeMapHasher; +-- class FinderShapeOn2; +-- class PassKeyShapeMapHasher; -- -- Builder/Splitter deferred class BuilderShape; @@ -177,6 +169,7 @@ is class WireSplitter; class WireEdgeSet; class WESCorrector; + class WESScaler; -- -- Pointers -- @@ -243,20 +236,9 @@ is Shape from TopoDS, PassKeyShapeMapHasher from GEOMAlgo); - class DataMapOfShapeShapeSet instantiates - DataMap from TCollection(Shape from TopoDS, - ShapeSet from GEOMAlgo, - ShapeMapHasher from TopTools); - - class DataMapOfShapeReal instantiates - DataMap from TCollection(Shape from TopoDS, - Real from Standard, - ShapeMapHasher from TopTools); - - - class DataMapOfRealListOfShape instantiates - DataMap from TCollection(Real from Standard, - ListOfShape from TopTools, - MapRealHasher from TColStd); + class DataMapOfOrientedShapeShape instantiates + DataMap from TCollection (Shape from TopoDS, + Shape from TopoDS, + OrientedShapeMapHasher from TopTools); end GEOMAlgo; diff --git a/src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape.hxx b/src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape.hxx new file mode 100644 index 000000000..29af23aca --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape.hxx @@ -0,0 +1,114 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_HeaderFile +#define _GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_HeaderFile + +#ifndef _TCollection_BasicMapIterator_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif +class Standard_NoSuchObject; +class TopoDS_Shape; +class TopTools_OrientedShapeMapHasher; +class GEOMAlgo_DataMapOfOrientedShapeShape; +class GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + + +class GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape : public TCollection_BasicMapIterator { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // + + +Standard_EXPORT GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape(); + + +Standard_EXPORT GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape(const GEOMAlgo_DataMapOfOrientedShapeShape& aMap); + + +Standard_EXPORT void Initialize(const GEOMAlgo_DataMapOfOrientedShapeShape& aMap) ; + + +Standard_EXPORT const TopoDS_Shape& Key() const; + + +Standard_EXPORT const TopoDS_Shape& Value() const; + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_0.cxx new file mode 100644 index 000000000..93d1b11ff --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_0.cxx @@ -0,0 +1,56 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_NoSuchObject_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TopTools_OrientedShapeMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif + + +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TopTools_OrientedShapeMapHasher +#define Hasher_hxx +#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_hxx +#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape +#define TCollection_DataMapIterator_hxx +#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_Type_() +#define TCollection_DataMap GEOMAlgo_DataMapOfOrientedShapeShape +#define TCollection_DataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx b/src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx new file mode 100644 index 000000000..e952b7d3b --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx @@ -0,0 +1,131 @@ +// File generated by CPPExt (Transient) +// +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#define _GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif + +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TCollection_MapNode_HeaderFile +#include +#endif +#ifndef _TCollection_MapNodePtr_HeaderFile +#include +#endif +class TopoDS_Shape; +class TopTools_OrientedShapeMapHasher; +class GEOMAlgo_DataMapOfOrientedShapeShape; +class GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape; + + + +class GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape : public TCollection_MapNode { + +public: + // Methods PUBLIC + // + +GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape(const TopoDS_Shape& K,const TopoDS_Shape& I,const TCollection_MapNodePtr& n); + + TopoDS_Shape& Key() const; + + TopoDS_Shape& Value() const; +//Standard_EXPORT ~GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape(); + + + + + // Type management + // + Standard_EXPORT const Handle(Standard_Type)& DynamicType() const; + //Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const; + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // +TopoDS_Shape myKey; +TopoDS_Shape myValue; + + +}; + +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TopTools_OrientedShapeMapHasher +#define Hasher_hxx +#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_hxx +#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape +#define TCollection_DataMapIterator_hxx +#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_Type_() +#define TCollection_DataMap GEOMAlgo_DataMapOfOrientedShapeShape +#define TCollection_DataMap_hxx + +#include + +#undef TheKey +#undef TheKey_hxx +#undef TheItem +#undef TheItem_hxx +#undef Hasher +#undef Hasher_hxx +#undef TCollection_DataMapNode +#undef TCollection_DataMapNode_hxx +#undef TCollection_DataMapIterator +#undef TCollection_DataMapIterator_hxx +#undef Handle_TCollection_DataMapNode +#undef TCollection_DataMapNode_Type_ +#undef TCollection_DataMap +#undef TCollection_DataMap_hxx + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_0.cxx new file mode 100644 index 000000000..9835b0179 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_0.cxx @@ -0,0 +1,102 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_TypeMismatch_HeaderFile +#include +#endif + +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TopTools_OrientedShapeMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif +//GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape::~GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape() {} + + + +Standard_EXPORT Handle_Standard_Type& GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_Type_() +{ + + static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode); + static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared); + static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient); + + + static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL}; + static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape", + sizeof(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape), + 1, + (Standard_Address)_Ancestors, + (Standard_Address)NULL); + + return _aType; +} + + +// DownCast method +// allow safe downcasting +// +const Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape) Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)::DownCast(const Handle(Standard_Transient)& AnObject) +{ + Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape) _anOtherObject; + + if (!AnObject.IsNull()) { + if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape))) { + _anOtherObject = Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)((Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)&)AnObject); + } + } + + return _anOtherObject ; +} +const Handle(Standard_Type)& GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape::DynamicType() const +{ + return STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape) ; +} +//Standard_Boolean GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape::IsKind(const Handle(Standard_Type)& AType) const +//{ +// return (STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape) == AType || TCollection_MapNode::IsKind(AType)); +//} +//Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape::~Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape() {} +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TopTools_OrientedShapeMapHasher +#define Hasher_hxx +#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_hxx +#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape +#define TCollection_DataMapIterator_hxx +#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_Type_() +#define TCollection_DataMap GEOMAlgo_DataMapOfOrientedShapeShape +#define TCollection_DataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape.hxx b/src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape.hxx new file mode 100644 index 000000000..f07e4f7bf --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape.hxx @@ -0,0 +1,156 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile +#define _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile + +#ifndef _TCollection_BasicMap_HeaderFile +#include +#endif +#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif +#ifndef _Standard_Integer_HeaderFile +#include +#endif +#ifndef _Standard_Boolean_HeaderFile +#include +#endif +class Standard_DomainError; +class Standard_NoSuchObject; +class TopoDS_Shape; +class TopTools_OrientedShapeMapHasher; +class GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape; +class GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + + +class GEOMAlgo_DataMapOfOrientedShapeShape : public TCollection_BasicMap { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // + + +Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape(const Standard_Integer NbBuckets = 1); + + +Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape& Assign(const GEOMAlgo_DataMapOfOrientedShapeShape& Other) ; + GEOMAlgo_DataMapOfOrientedShapeShape& operator =(const GEOMAlgo_DataMapOfOrientedShapeShape& Other) +{ + return Assign(Other); +} + + + +Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; + + +Standard_EXPORT void Clear() ; +~GEOMAlgo_DataMapOfOrientedShapeShape() +{ + Clear(); +} + + + +Standard_EXPORT Standard_Boolean Bind(const TopoDS_Shape& K,const TopoDS_Shape& I) ; + + +Standard_EXPORT Standard_Boolean IsBound(const TopoDS_Shape& K) const; + + +Standard_EXPORT Standard_Boolean UnBind(const TopoDS_Shape& K) ; + + +Standard_EXPORT const TopoDS_Shape& Find(const TopoDS_Shape& K) const; + const TopoDS_Shape& operator()(const TopoDS_Shape& K) const +{ + return Find(K); +} + + + +Standard_EXPORT TopoDS_Shape& ChangeFind(const TopoDS_Shape& K) ; + TopoDS_Shape& operator()(const TopoDS_Shape& K) +{ + return ChangeFind(K); +} + + + + + + +protected: + + // Methods PROTECTED + // + + + // Fields PROTECTED + // + + +private: + + // Methods PRIVATE + // + + +Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape(const GEOMAlgo_DataMapOfOrientedShapeShape& Other); + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape_0.cxx b/src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape_0.cxx new file mode 100644 index 000000000..9ddbf34fc --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_DataMapOfOrientedShapeShape_0.cxx @@ -0,0 +1,59 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + +#ifndef _Standard_DomainError_HeaderFile +#include +#endif +#ifndef _Standard_NoSuchObject_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _TopTools_OrientedShapeMapHasher_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_HeaderFile +#include +#endif + + +#define TheKey TopoDS_Shape +#define TheKey_hxx +#define TheItem TopoDS_Shape +#define TheItem_hxx +#define Hasher TopTools_OrientedShapeMapHasher +#define Hasher_hxx +#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_hxx +#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape +#define TCollection_DataMapIterator_hxx +#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape +#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_Type_() +#define TCollection_DataMap GEOMAlgo_DataMapOfOrientedShapeShape +#define TCollection_DataMap_hxx +#include + diff --git a/src/GEOMAlgo/GEOMAlgo_Tools_1.cxx b/src/GEOMAlgo/GEOMAlgo_Tools_1.cxx index 992c8af4c..32bbfd59d 100644 --- a/src/GEOMAlgo/GEOMAlgo_Tools_1.cxx +++ b/src/GEOMAlgo/GEOMAlgo_Tools_1.cxx @@ -38,6 +38,7 @@ #include #include #include +#include static inline Standard_Boolean IsEqual(const TopoDS_Shape& aS1, @@ -72,7 +73,7 @@ static const Handle(Geom_Surface)& aS=BRep_Tool::Surface(aF, aLoc); aGAS.Load(aS); aTS=aGAS.GetType(); - if (aTS==GeomAbs_Cylinder) { + if (aTS==GeomAbs_Cylinder || aTS==GeomAbs_Plane) { aItF.Initialize(aF); for (; aItF.More(); aItF.Next()) { const TopoDS_Wire& aW=*((TopoDS_Wire*)&aItF.Value()); diff --git a/src/GEOMAlgo/GEOMAlgo_WESCorrector.cxx b/src/GEOMAlgo/GEOMAlgo_WESCorrector.cxx index e033ad244..c9ca04b24 100755 --- a/src/GEOMAlgo/GEOMAlgo_WESCorrector.cxx +++ b/src/GEOMAlgo/GEOMAlgo_WESCorrector.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +// 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 @@ -19,7 +19,6 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // - // File: NMTAlgo_WESCorrector.cxx // Created: // Author: Peter KURNEV @@ -53,12 +52,18 @@ #include #include #include +#include static void MakeWire(const TopTools_ListOfShape& aLE, TopoDS_Wire& newWire); +//modified by NIZNHY-PKV Thu Jun 10 11:26:55 2010f +static + Standard_Boolean IsToScale(const TopoDS_Face& aF, + Standard_Real& aScale); +//modified by NIZNHY-PKV Thu Jun 10 11:27:02 2010t //======================================================================= // function: // purpose: @@ -215,12 +220,7 @@ static aER.Orientation(TopAbs_REVERSED); aLEC.Append(aER); // - //modified by NIZNHY-PKV Tue Nov 28 12:02:29 2006f - //bClosed=BRep_Tool::IsClosed(TopoDS::Edge(aER), myWES->Face()); - //if (!bClosed) { - bRegular=Standard_False; - //} - //modified by NIZNHY-PKV Tue Nov 28 12:02:33 2006t + bRegular=Standard_False; } else { aLEC.Append(aER); @@ -266,21 +266,25 @@ static //======================================================================= void GEOMAlgo_WESCorrector::DoCorrections() { - Standard_Boolean bIsRegular, bIsNothingToDo; + Standard_Boolean bIsRegular, bIsNothingToDo, bToScale; Standard_Integer iErr; + Standard_Real aScale; TopoDS_Wire aW; BOP_ListIteratorOfListOfConnexityBlock aCBIt; + GEOMAlgo_WESScaler aWSC; // const TopoDS_Face& aF=myWES->Face(); + //modified by NIZNHY-PKV Thu Jun 10 11:27:45 2010f + bToScale=IsToScale(aF, aScale); + //modified by NIZNHY-PKV Thu Jun 10 11:27:49 2010t // myNewWES.SetFace(aF); aCBIt.Initialize(myConnexityBlocks); for (; aCBIt.More(); aCBIt.Next()) { const BOP_ConnexityBlock& aCB=aCBIt.Value(); const TopTools_ListOfShape& aLE=aCB.Shapes(); - + // bIsRegular=aCB.IsRegular(); - if (bIsRegular) { MakeWire(aLE, aW); myNewWES.AddShape (aW); @@ -289,30 +293,86 @@ static // GEOMAlgo_WireSplitter aWS; // - aWS.SetFace(aF); - aWS.SetEdges(aLE); - // - aWS.Perform(); - iErr=aWS.ErrorStatus(); - if (iErr) { - continue; - } - bIsNothingToDo=aWS.IsNothingToDo(); - if (bIsNothingToDo) { - MakeWire(aLE, aW); - myNewWES.AddShape (aW); - continue; - } - // - const BOPTColStd_ListOfListOfShape& aSSS=aWS.Shapes(); - - BOPTColStd_ListIteratorOfListOfListOfShape aWireIt(aSSS); - for (; aWireIt.More(); aWireIt.Next()) { - const TopTools_ListOfShape& aLEx=aWireIt.Value(); + //modified by NIZNHY-PKV Thu Jun 10 10:40:43 2010f + if(bToScale) { + TopoDS_Shape aE; + TopTools_ListIteratorOfListOfShape aIt; + BOPTColStd_ListIteratorOfListOfListOfShape aItLLSS; // - MakeWire(aLEx, aW); - myNewWES.AddShape (aW); - } + aWSC.SetScale(aScale); + aWSC.SetFace(aF); + aWSC.SetEdges(aLE); + // + aWSC.Perform(); + iErr=aWSC.ErrorStatus(); + if (iErr) { + return; + } + // + const TopoDS_Face& aFS=aWSC.FaceScaled(); + const TopTools_ListOfShape& aLES=aWSC.EdgesScaled(); + // + aWS.SetFace(aFS); + aWS.SetEdges(aLES); + // + aWS.Perform(); + iErr=aWS.ErrorStatus(); + if (iErr) { + continue; + } + // + bIsNothingToDo=aWS.IsNothingToDo(); + if (bIsNothingToDo) { + MakeWire(aLE, aW); + myNewWES.AddShape (aW); + continue; + } + // + const BOPTColStd_ListOfListOfShape& aLLSS=aWS.Shapes(); + aItLLSS.Initialize(aLLSS); + for (; aItLLSS.More(); aItLLSS.Next()) { + TopTools_ListOfShape aLS; + // + const TopTools_ListOfShape& aLSS=aItLLSS.Value(); + aIt.Initialize(aLSS); + for (; aIt.More(); aIt.Next()) { + const TopoDS_Shape& aES=aIt.Value(); + aE=aWSC.Origin(aES); + aLS.Append(aE); + } + // + MakeWire(aLS, aW); + myNewWES.AddShape (aW); + } + }//if(bToScale) + //modified by NIZNHY-PKV Thu Jun 10 10:40:48 2010t + // + else { + aWS.SetFace(aF); + aWS.SetEdges(aLE); + // + aWS.Perform(); + iErr=aWS.ErrorStatus(); + if (iErr) { + continue; + } + bIsNothingToDo=aWS.IsNothingToDo(); + if (bIsNothingToDo) { + MakeWire(aLE, aW); + myNewWES.AddShape (aW); + continue; + } + // + const BOPTColStd_ListOfListOfShape& aSSS=aWS.Shapes(); + + BOPTColStd_ListIteratorOfListOfListOfShape aWireIt(aSSS); + for (; aWireIt.More(); aWireIt.Next()) { + const TopTools_ListOfShape& aLEx=aWireIt.Value(); + // + MakeWire(aLEx, aW); + myNewWES.AddShape (aW); + } + }// else } } //======================================================================= @@ -331,3 +391,41 @@ static aBB.Add(newWire, aE); } } +// +//modified by NIZNHY-PKV Thu Jun 10 11:14:09 2010f + +#include +#include +#include + +//======================================================================= +//function : IsToScale +//purpose : +//======================================================================= +Standard_Boolean IsToScale(const TopoDS_Face& aF, + Standard_Real& aScale) +{ + Standard_Boolean bRet; + Standard_Real aV1, aV2, dV, aTr; + GeomAbs_SurfaceType aType; + BRepAdaptor_Surface aBAS; + // + bRet=Standard_False; + aScale=1.; + // + aBAS.Initialize(aF); + aType=aBAS.GetType(); + if (aType==GeomAbs_Cylinder) { + aTr=1.e5; + aV1=aBAS.FirstVParameter(); + aV2=aBAS.LastVParameter(); + dV=aV2-aV1; + if (dV>aTr) { + bRet=!bRet; + aScale=1./aTr; + } + } + return bRet; +} +//modified by NIZNHY-PKV Thu Jun 10 11:14:12 2010t + diff --git a/src/GEOMAlgo/GEOMAlgo_WESScaler.cdl b/src/GEOMAlgo/GEOMAlgo_WESScaler.cdl new file mode 100644 index 000000000..efc566175 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_WESScaler.cdl @@ -0,0 +1,123 @@ +-- 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 +-- File: GEOMAlgo_WESScaler.cdl +-- Created: +-- Author: +-- + + +class WESScaler from GEOMAlgo + inherits Algo from GEOMAlgo + + ---Purpose: + +uses + Face from TopoDS, + Shape from TopoDS, + ListOfShape from TopTools, + DataMapOfOrientedShapeShape from GEOMAlgo, + WireEdgeSet from GEOMAlgo, + PWireEdgeSet from GEOMAlgo + +--raises + +is + Create + ---Purpose: Empty constructor + returns WESScaler from GEOMAlgo; + ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_WESScaler();" + + SetScale (me:out; + aWES: Real from Standard); + ---Purpose: + -- Modifier + + Scale(me) + returns Real from Standard; + ---Purpose: + -- Selector + + SetFace (me:out; + aF: Face from TopoDS); + + Face (me) + returns Face from TopoDS; + ---C++: return const & + + SetEdges (me:out; + aLE:ListOfShape from TopTools); + + Edges (me) + returns ListOfShape from TopTools; + ---C++: return const & + + Perform(me:out) + ---Purpose: Performs the algorithm + is redefined; + + FaceScaled (me) + returns Face from TopoDS; + ---C++: return const & + + EdgesScaled (me) + returns ListOfShape from TopTools; + ---C++: return const & + + Image(me; + aS:Shape from TopoDS) + returns Shape from TopoDS; + ---C++: return const & + ---Purpose: + + Origin(me; + aS:Shape from TopoDS) + returns Shape from TopoDS; + ---C++: return const & + + ---Purpose: + Images(me) + returns DataMapOfOrientedShapeShape from GEOMAlgo; + ---C++: return const & + ---Purpose: + --- Selector + + Origins(me) + returns DataMapOfOrientedShapeShape from GEOMAlgo; + ---C++: return const & + ---Purpose: + --- Selector + + CheckData(me:out) + ---Purpose: Performs the algorithm + is redefined protected; + +fields + myScale : Real from Standard is protected; + myFace : Face from TopoDS is protected; + + myEdges : ListOfShape from TopTools is protected; + myFaceScaled : Face from TopoDS is protected; + myEdgesScaled : ListOfShape from TopTools is protected; + myImages : DataMapOfOrientedShapeShape from GEOMAlgo is protected; + myOrigins : DataMapOfOrientedShapeShape from GEOMAlgo is protected; + myShapeTmp : Shape from TopoDS is protected; +end WESScaler; + diff --git a/src/GEOMAlgo/GEOMAlgo_WESScaler.cxx b/src/GEOMAlgo/GEOMAlgo_WESScaler.cxx new file mode 100644 index 000000000..f8a98e2b7 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_WESScaler.cxx @@ -0,0 +1,270 @@ +// 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 +// +// File: GEOMAlgo_WESScaler.cxx +// Created: +// Author: +// + + +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include + + +//======================================================================= +//function : +//purpose : +//======================================================================= + GEOMAlgo_WESScaler::GEOMAlgo_WESScaler() +: + GEOMAlgo_Algo() +{ + myScale=1.; +} +//======================================================================= +//function : ~ +//purpose : +//======================================================================= + GEOMAlgo_WESScaler::~GEOMAlgo_WESScaler() +{ +} +//======================================================================= +// function: SetScale +// purpose: +//======================================================================= + void GEOMAlgo_WESScaler::SetScale (const Standard_Real aScale) +{ + myScale=aScale; +} +//======================================================================= +// function: Scale +// purpose: +//======================================================================= + Standard_Real GEOMAlgo_WESScaler::Scale()const +{ + return myScale; +} +//======================================================================= +// function: SetFace +// purpose: +//======================================================================= + void GEOMAlgo_WESScaler::SetFace(const TopoDS_Face& aF) +{ + myFace=aF; +} +//======================================================================= +// function: Face +// purpose: +//======================================================================= + const TopoDS_Face& GEOMAlgo_WESScaler::Face()const +{ + return myFace; +} +//======================================================================= +// function: SetEdges +// purpose: +//======================================================================= + void GEOMAlgo_WESScaler::SetEdges(const TopTools_ListOfShape& aLE) +{ + myEdges=aLE; +} +//======================================================================= +// function: Edges +// purpose: +//======================================================================= + const TopTools_ListOfShape& GEOMAlgo_WESScaler::Edges()const +{ + return myEdges; +} +//======================================================================= +// function: FaceScaled +// purpose: +//======================================================================= + const TopoDS_Face& GEOMAlgo_WESScaler::FaceScaled()const +{ + return myFaceScaled; +} +//======================================================================= +// function: EdgesScaled +// purpose: +//======================================================================= + const TopTools_ListOfShape& GEOMAlgo_WESScaler::EdgesScaled()const +{ + return myEdgesScaled; +} +//======================================================================= +// function: Image +// purpose: +//======================================================================= + const TopoDS_Shape& GEOMAlgo_WESScaler::Image (const TopoDS_Shape& aS) const +{ + if (myImages.IsBound(aS)) { + return myImages.Find(aS); + } + return myShapeTmp; +} +//======================================================================= +// function: Origin +// purpose: +//======================================================================= + const TopoDS_Shape& GEOMAlgo_WESScaler::Origin (const TopoDS_Shape& aS) const +{ + if (myOrigins.IsBound(aS)) { + return myOrigins.Find(aS); + } + return myShapeTmp; +} +//======================================================================= +// function: Images +// purpose: +//======================================================================= + const GEOMAlgo_DataMapOfOrientedShapeShape& GEOMAlgo_WESScaler::Images () const +{ + return myImages; +} +//======================================================================= +// function: Origins +// purpose: +//======================================================================= + const GEOMAlgo_DataMapOfOrientedShapeShape& GEOMAlgo_WESScaler::Origins () const +{ + return myOrigins; +} +//======================================================================= +// function: CheckData +// purpose: +//======================================================================= + void GEOMAlgo_WESScaler::CheckData() +{ + myErrorStatus=0; + // + if(myFace.IsNull()) { + myErrorStatus=2; + return; + } + if(!myEdges.Extent()) { + myErrorStatus=3; + return; + } + if (myScale<=0.){ + myErrorStatus=4; + } +} +//======================================================================= +// function: Perform +// purpose: +//======================================================================= + void GEOMAlgo_WESScaler::Perform() +{ + Standard_Boolean bIsDone; + Standard_Integer i; + gp_Pnt aP; + gp_Trsf aTrsf; + TopAbs_Orientation aOr; + TopoDS_Shape aFC, aFR, aER; + TopoDS_Wire aWE; + TopoDS_Iterator aItS; + BRep_Builder aBB; + TopTools_ListIteratorOfListOfShape aIt; + // + // 0. CheckData + CheckData(); + if(myErrorStatus) { + return; + } + // + myImages.Clear(); + myOrigins.Clear(); + myEdgesScaled.Clear(); + // + // 1. aFC + aFC=myFace.EmptyCopied(); + // + aBB.MakeWire(aWE); + aIt.Initialize(myEdges); + for (; aIt.More(); aIt.Next()) { + const TopoDS_Shape& aE=aIt.Value(); + aBB.Add(aWE, aE); + } + aBB.Add(aFC, aWE); + // + aItS.Initialize(myFace); + for (; aItS.More(); aItS.Next()) { + const TopoDS_Shape& aW=aItS.Value(); + aBB.Add(aFC, aW); + } + // + // 2. Scale aFC + aP.SetCoord(0.,0.,0.); + aTrsf.SetScale(aP, myScale); + // + BRepBuilderAPI_Transform aBT(aTrsf); + aBT.Perform(aFC); + bIsDone=aBT.IsDone(); + if (!bIsDone) { + myErrorStatus=10; + return; + } + // + const TopoDS_Shape& aSR=aBT.Shape(); + // + // Refined image face FR + aFR=aSR.EmptyCopied(); + aItS.Initialize(aSR); + for (i=0; aItS.More(); aItS.Next(),++i) { + const TopoDS_Shape& aWR=aItS.Value(); + if (i) { + aBB.Add(aFR, aWR); + } + } + myFaceScaled=*((TopoDS_Face*)&aFR); + // + // 3. Fill Images, Origins, EdgesScaled + aIt.Initialize(myEdges); + for (; aIt.More(); aIt.Next()) { + const TopoDS_Shape& aE=aIt.Value(); + aOr=aE.Orientation(); + // + aER=aBT.ModifiedShape(aE); + if(aER.IsNull()) { + myErrorStatus=11; + return; + } + // + aER.Orientation(aOr); + myImages.Bind(aE, aER); + myOrigins.Bind(aER, aE); + // + myEdgesScaled.Append(aER); + } +} diff --git a/src/GEOMAlgo/GEOMAlgo_WESScaler.hxx b/src/GEOMAlgo/GEOMAlgo_WESScaler.hxx new file mode 100644 index 000000000..3609c6c52 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_WESScaler.hxx @@ -0,0 +1,168 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _GEOMAlgo_WESScaler_HeaderFile +#define _GEOMAlgo_WESScaler_HeaderFile + +#ifndef _Standard_Real_HeaderFile +#include +#endif +#ifndef _TopoDS_Face_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_Algo_HeaderFile +#include +#endif +class TopoDS_Face; +class TopTools_ListOfShape; +class TopoDS_Shape; +class GEOMAlgo_DataMapOfOrientedShapeShape; + + +#ifndef _Standard_HeaderFile +#include +#endif +#ifndef _Standard_Macro_HeaderFile +#include +#endif + + +class GEOMAlgo_WESScaler : public GEOMAlgo_Algo { + +public: + + void* operator new(size_t,void* anAddress) + { + return anAddress; + } + void* operator new(size_t size) + { + return Standard::Allocate(size); + } + void operator delete(void *anAddress) + { + if (anAddress) Standard::Free((Standard_Address&)anAddress); + } + // Methods PUBLIC + // + +//! Empty constructor
+Standard_EXPORT GEOMAlgo_WESScaler(); +Standard_EXPORT virtual ~GEOMAlgo_WESScaler(); + + +//! Modifier
+Standard_EXPORT void SetScale(const Standard_Real aWES) ; + + +//! Selector
+Standard_EXPORT Standard_Real Scale() const; + + +Standard_EXPORT void SetFace(const TopoDS_Face& aF) ; + + +Standard_EXPORT const TopoDS_Face& Face() const; + + +Standard_EXPORT void SetEdges(const TopTools_ListOfShape& aLE) ; + + +Standard_EXPORT const TopTools_ListOfShape& Edges() const; + +//! Performs the algorithm
+Standard_EXPORT virtual void Perform() ; + + +Standard_EXPORT const TopoDS_Face& FaceScaled() const; + + +Standard_EXPORT const TopTools_ListOfShape& EdgesScaled() const; + + +Standard_EXPORT const TopoDS_Shape& Image(const TopoDS_Shape& aS) const; + + +Standard_EXPORT const TopoDS_Shape& Origin(const TopoDS_Shape& aS) const; + + +//! Selector
+Standard_EXPORT const GEOMAlgo_DataMapOfOrientedShapeShape& Images() const; + + +//! Selector
+Standard_EXPORT const GEOMAlgo_DataMapOfOrientedShapeShape& Origins() const; + + + + + +protected: + + // Methods PROTECTED + // + +//! Performs the algorithm
+Standard_EXPORT virtual void CheckData() ; + + + // Fields PROTECTED + // +Standard_Real myScale; +TopoDS_Face myFace; +TopTools_ListOfShape myEdges; +TopoDS_Face myFaceScaled; +TopTools_ListOfShape myEdgesScaled; +GEOMAlgo_DataMapOfOrientedShapeShape myImages; +GEOMAlgo_DataMapOfOrientedShapeShape myOrigins; +TopoDS_Shape myShapeTmp; + + +private: + + // Methods PRIVATE + // + + + // Fields PRIVATE + // + + +}; + + + + + +// other Inline functions and methods (like "C++: function call" methods) +// + + +#endif diff --git a/src/GEOMAlgo/GEOMAlgo_WESScaler.ixx b/src/GEOMAlgo/GEOMAlgo_WESScaler.ixx new file mode 100644 index 000000000..c30f28ef9 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_WESScaler.ixx @@ -0,0 +1,26 @@ +// File generated by CPPExt (Value) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#include + + + + diff --git a/src/GEOMAlgo/GEOMAlgo_WESScaler.jxx b/src/GEOMAlgo/GEOMAlgo_WESScaler.jxx new file mode 100644 index 000000000..65dba52a5 --- /dev/null +++ b/src/GEOMAlgo/GEOMAlgo_WESScaler.jxx @@ -0,0 +1,15 @@ +#ifndef _TopoDS_Face_HeaderFile +#include +#endif +#ifndef _TopTools_ListOfShape_HeaderFile +#include +#endif +#ifndef _TopoDS_Shape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile +#include +#endif +#ifndef _GEOMAlgo_WESScaler_HeaderFile +#include +#endif diff --git a/src/GEOMAlgo/Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx b/src/GEOMAlgo/Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx new file mode 100644 index 000000000..fea0e613a --- /dev/null +++ b/src/GEOMAlgo/Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx @@ -0,0 +1,74 @@ +// File generated by CPPExt (Transient) +// +// Copyright (C) 1991 - 2000 by +// Matra Datavision SA. All rights reserved. +// +// Copyright (C) 2001 - 2004 by +// Open CASCADE SA. All rights reserved. +// +// This file is part of the Open CASCADE Technology software. +// +// This software may be distributed and/or modified under the terms and +// conditions of the Open CASCADE Public License as defined by Open CASCADE SA +// and appearing in the file LICENSE included in the packaging of this file. +// +// This software is distributed on an "AS IS" basis, without warranty of any +// kind, and Open CASCADE SA hereby disclaims all such warranties, +// including without limitation, any warranties of merchantability, fitness +// for a particular purpose or non-infringement. Please see the License for +// the specific terms and conditions governing rights and limitations under the +// License. + +#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile +#define _Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_HeaderFile + +#ifndef _Standard_Macro_HeaderFile +#include +#endif +#ifndef _Standard_HeaderFile +#include +#endif + +#ifndef _Handle_TCollection_MapNode_HeaderFile +#include +#endif + +class Standard_Transient; +class Handle_Standard_Type; +class Handle(TCollection_MapNode); +class GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape; +Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape); + +class Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape) : public Handle(TCollection_MapNode) { + public: + Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)():Handle(TCollection_MapNode)() {} + Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)(const Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)& aHandle) : Handle(TCollection_MapNode)(aHandle) + { + } + + Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)(const GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) + { + } + + Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)& operator=(const Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)& aHandle) + { + Assign(aHandle.Access()); + return *this; + } + + Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)& operator=(const GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape* anItem) + { + Assign((Standard_Transient *)anItem); + return *this; + } + + GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape* operator->() const + { + return (GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape *)ControlAccess(); + } + +// Standard_EXPORT ~Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape)(); + + Standard_EXPORT static const Handle(GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape) DownCast(const Handle(Standard_Transient)& AnObject); +}; +#endif diff --git a/src/GEOMAlgo/Makefile.am b/src/GEOMAlgo/Makefile.am index 597d6d5c6..3372a1ed3 100644 --- a/src/GEOMAlgo/Makefile.am +++ b/src/GEOMAlgo/Makefile.am @@ -16,14 +16,14 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # - +# # GEOM GEOMAlgo : tools for Glue Faces algorithm # File : Makefile.in # Author : Julia DOROVSKIKH # Modified by : Alexander BORODIN (OCN) - autotools usage # Module : GEOM # $Header$ -# + include $(top_srcdir)/adm_local/unix/make_common_starter.am # Libraries targets @@ -51,20 +51,27 @@ dist_libGEOMAlgo_la_SOURCES = \ GEOMAlgo_BuilderTools.cxx \ GEOMAlgo_ClsfBox.cxx \ GEOMAlgo_Clsf.cxx \ + GEOMAlgo_ClsfSolid.cxx \ GEOMAlgo_ClsfSurf.cxx \ GEOMAlgo_CoupleOfShapes.cxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape_0.cxx \ GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger_0.cxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape_0.cxx \ GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape_0.cxx \ GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal_0.cxx \ GEOMAlgo_DataMapIteratorOfDataMapOfShapeShapeSet_0.cxx \ + GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape_0.cxx \ GEOMAlgo_DataMapNodeOfDataMapOfPassKeyInteger_0.cxx \ + GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_0.cxx \ GEOMAlgo_DataMapNodeOfDataMapOfRealListOfShape_0.cxx \ GEOMAlgo_DataMapNodeOfDataMapOfShapeReal_0.cxx \ GEOMAlgo_DataMapNodeOfDataMapOfShapeShapeSet_0.cxx \ - GEOMAlgo_DataMapOfPassKeyInteger_0.cxx \ - GEOMAlgo_DataMapOfRealListOfShape_0.cxx \ - GEOMAlgo_DataMapOfShapeReal_0.cxx \ - GEOMAlgo_DataMapOfShapeShapeSet_0.cxx \ + GEOMAlgo_DataMapOfOrientedShapeShape_0.cxx \ + GEOMAlgo_DataMapOfPassKeyInteger_0.cxx \ + GEOMAlgo_DataMapOfPassKeyShapeShape_0.cxx \ + GEOMAlgo_DataMapOfRealListOfShape_0.cxx \ + GEOMAlgo_DataMapOfShapeReal_0.cxx \ + GEOMAlgo_DataMapOfShapeShapeSet_0.cxx \ GEOMAlgo_FinderShapeOn1.cxx \ GEOMAlgo_FinderShapeOn2.cxx \ GEOMAlgo_FinderShapeOn.cxx \ @@ -76,13 +83,15 @@ dist_libGEOMAlgo_la_SOURCES = \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape_0.cxx \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyShapeListOfShape_0.cxx \ - GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx \ - GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeState_0.cxx \ - GEOMAlgo_IndexedDataMapOfIntegerShape_0.cxx \ - GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_0.cxx \ - GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape_0.cxx \ - GEOMAlgo_IndexedDataMapOfShapeBox_0.cxx \ - GEOMAlgo_IndexedDataMapOfShapeState_0.cxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_0.cxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeState_0.cxx \ + GEOMAlgo_IndexedDataMapOfIntegerShape_0.cxx \ + GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_0.cxx \ + GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape_0.cxx \ + GEOMAlgo_IndexedDataMapOfShapeBox_0.cxx \ + GEOMAlgo_IndexedDataMapOfShapeShapeInfo_0.cxx \ + GEOMAlgo_IndexedDataMapOfShapeState_0.cxx \ GEOMAlgo_ListIteratorOfListOfCoupleOfShapes_0.cxx \ GEOMAlgo_ListIteratorOfListOfPnt_0.cxx \ GEOMAlgo_ListNodeOfListOfCoupleOfShapes_0.cxx \ @@ -94,6 +103,9 @@ dist_libGEOMAlgo_la_SOURCES = \ GEOMAlgo_PassKeyShape.cxx \ GEOMAlgo_PassKeyShapeMapHasher.cxx \ GEOMAlgo_ShapeAlgo.cxx \ + GEOMAlgo_ShapeInfo.cxx \ + GEOMAlgo_ShapeInfoFiller.cxx \ + GEOMAlgo_ShapeInfoFiller_1.cxx \ GEOMAlgo_ShapeSet.cxx \ GEOMAlgo_ShapeSolid.cxx \ GEOMAlgo_ShellSolid.cxx \ @@ -106,18 +118,10 @@ dist_libGEOMAlgo_la_SOURCES = \ GEOMAlgo_Tools_1.cxx \ GEOMAlgo_VertexSolid.cxx \ GEOMAlgo_WESCorrector.cxx \ + GEOMAlgo_WESScaler.cxx \ GEOMAlgo_WireEdgeSet.cxx \ GEOMAlgo_WireSolid.cxx \ - GEOMAlgo_WireSplitter.cxx \ - GEOMAlgo_ClsfSolid.cxx \ - GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_0.cxx \ - GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape_0.cxx \ - GEOMAlgo_DataMapOfPassKeyShapeShape_0.cxx \ - GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_0.cxx \ - GEOMAlgo_ShapeInfoFiller_1.cxx \ - GEOMAlgo_IndexedDataMapOfShapeShapeInfo_0.cxx \ - GEOMAlgo_ShapeInfo.cxx \ - GEOMAlgo_ShapeInfoFiller.cxx + GEOMAlgo_WireSplitter.cxx # header files salomeinclude_HEADERS = \ @@ -173,24 +177,33 @@ salomeinclude_HEADERS = \ GEOMAlgo_Clsf.hxx \ GEOMAlgo_Clsf.ixx \ GEOMAlgo_Clsf.jxx \ + GEOMAlgo_ClsfSolid.hxx \ + GEOMAlgo_ClsfSolid.ixx \ + GEOMAlgo_ClsfSolid.jxx \ GEOMAlgo_ClsfSurf.hxx \ GEOMAlgo_ClsfSurf.ixx \ GEOMAlgo_ClsfSurf.jxx \ GEOMAlgo_CoupleOfShapes.hxx \ GEOMAlgo_CoupleOfShapes.ixx \ GEOMAlgo_CoupleOfShapes.jxx \ - GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger.hxx \ - GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape.hxx \ - GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal.hxx \ - GEOMAlgo_DataMapIteratorOfDataMapOfShapeShapeSet.hxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape.hxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger.hxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape.hxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal.hxx \ + GEOMAlgo_DataMapIteratorOfDataMapOfShapeShapeSet.hxx \ + GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx \ GEOMAlgo_DataMapNodeOfDataMapOfPassKeyInteger.hxx \ + GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx \ GEOMAlgo_DataMapNodeOfDataMapOfRealListOfShape.hxx \ GEOMAlgo_DataMapNodeOfDataMapOfShapeReal.hxx \ GEOMAlgo_DataMapNodeOfDataMapOfShapeShapeSet.hxx \ - GEOMAlgo_DataMapOfPassKeyInteger.hxx \ - GEOMAlgo_DataMapOfRealListOfShape.hxx \ - GEOMAlgo_DataMapOfShapeReal.hxx \ - GEOMAlgo_DataMapOfShapeShapeSet.hxx \ + GEOMAlgo_DataMapOfOrientedShapeShape.hxx \ + GEOMAlgo_DataMapOfPassKeyInteger.hxx \ + GEOMAlgo_DataMapOfPassKeyShapeShape.hxx \ + GEOMAlgo_DataMapOfRealListOfShape.hxx \ + GEOMAlgo_DataMapOfShapeReal.hxx \ + GEOMAlgo_DataMapOfShapeShapeSet.hxx \ GEOMAlgo_FinderShapeOn1.ixx \ GEOMAlgo_FinderShapeOn1.hxx \ GEOMAlgo_FinderShapeOn1.jxx \ @@ -217,18 +230,24 @@ salomeinclude_HEADERS = \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyShapeListOfShape.hxx \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx \ + GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx \ GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeState.hxx \ GEOMAlgo_IndexedDataMapOfIntegerShape.hxx \ GEOMAlgo_IndexedDataMapOfPassKeyListOfShape.hxx \ GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape.hxx \ GEOMAlgo_IndexedDataMapOfShapeBox.hxx \ + GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx \ GEOMAlgo_IndexedDataMapOfShapeState.hxx \ - GEOMAlgo_ListIteratorOfListOfCoupleOfShapes.hxx \ - GEOMAlgo_ListIteratorOfListOfPnt.hxx \ - GEOMAlgo_ListNodeOfListOfCoupleOfShapes.hxx \ - GEOMAlgo_ListNodeOfListOfPnt.hxx \ - GEOMAlgo_ListOfCoupleOfShapes.hxx \ - GEOMAlgo_ListOfPnt.hxx \ + GEOMAlgo_KindOfBounds.hxx \ + GEOMAlgo_KindOfClosed.hxx \ + GEOMAlgo_KindOfName.hxx \ + GEOMAlgo_KindOfShape.hxx \ + GEOMAlgo_ListIteratorOfListOfCoupleOfShapes.hxx \ + GEOMAlgo_ListIteratorOfListOfPnt.hxx \ + GEOMAlgo_ListNodeOfListOfCoupleOfShapes.hxx \ + GEOMAlgo_ListNodeOfListOfPnt.hxx \ + GEOMAlgo_ListOfCoupleOfShapes.hxx \ + GEOMAlgo_ListOfPnt.hxx \ GEOMAlgo_PassKey.hxx \ GEOMAlgo_PassKey.ixx \ GEOMAlgo_PassKey.jxx \ @@ -245,6 +264,12 @@ salomeinclude_HEADERS = \ GEOMAlgo_ShapeAlgo.hxx \ GEOMAlgo_ShapeAlgo.ixx \ GEOMAlgo_ShapeAlgo.jxx \ + GEOMAlgo_ShapeInfo.hxx \ + GEOMAlgo_ShapeInfo.ixx \ + GEOMAlgo_ShapeInfo.jxx \ + GEOMAlgo_ShapeInfoFiller.hxx \ + GEOMAlgo_ShapeInfoFiller.ixx \ + GEOMAlgo_ShapeInfoFiller.jxx \ GEOMAlgo_ShapeSet.hxx \ GEOMAlgo_ShapeSet.ixx \ GEOMAlgo_ShapeSet.jxx \ @@ -279,6 +304,9 @@ salomeinclude_HEADERS = \ GEOMAlgo_WESCorrector.hxx \ GEOMAlgo_WESCorrector.ixx \ GEOMAlgo_WESCorrector.jxx \ + GEOMAlgo_WESScaler.hxx \ + GEOMAlgo_WESScaler.ixx \ + GEOMAlgo_WESScaler.jxx \ GEOMAlgo_WireEdgeSet.hxx \ GEOMAlgo_WireEdgeSet.ixx \ GEOMAlgo_WireEdgeSet.jxx \ @@ -290,8 +318,11 @@ salomeinclude_HEADERS = \ GEOMAlgo_WireSplitter.jxx \ Handle_GEOMAlgo_ClsfBox.hxx \ Handle_GEOMAlgo_Clsf.hxx \ + Handle_GEOMAlgo_ClsfSolid.hxx \ Handle_GEOMAlgo_ClsfSurf.hxx \ + Handle_GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape.hxx \ Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyInteger.hxx \ + Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx \ Handle_GEOMAlgo_DataMapNodeOfDataMapOfRealListOfShape.hxx \ Handle_GEOMAlgo_DataMapNodeOfDataMapOfShapeReal.hxx \ Handle_GEOMAlgo_DataMapNodeOfDataMapOfShapeShapeSet.hxx \ @@ -300,30 +331,10 @@ salomeinclude_HEADERS = \ Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape.hxx \ Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyShapeListOfShape.hxx \ Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx \ + Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx \ Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeState.hxx \ Handle_GEOMAlgo_ListNodeOfListOfCoupleOfShapes.hxx \ - Handle_GEOMAlgo_ListNodeOfListOfPnt.hxx \ - GEOMAlgo_ClsfSolid.hxx \ - GEOMAlgo_ClsfSolid.ixx \ - GEOMAlgo_ClsfSolid.jxx \ - GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx \ - GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx \ - GEOMAlgo_DataMapOfPassKeyShapeShape.hxx \ - GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx \ - GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx \ - GEOMAlgo_KindOfBounds.hxx \ - GEOMAlgo_KindOfClosed.hxx \ - GEOMAlgo_KindOfName.hxx \ - GEOMAlgo_KindOfShape.hxx \ - GEOMAlgo_ShapeInfo.hxx \ - GEOMAlgo_ShapeInfo.ixx \ - GEOMAlgo_ShapeInfo.jxx \ - GEOMAlgo_ShapeInfoFiller.hxx \ - GEOMAlgo_ShapeInfoFiller.ixx \ - GEOMAlgo_ShapeInfoFiller.jxx \ - Handle_GEOMAlgo_ClsfSolid.hxx \ - Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx \ - Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx + Handle_GEOMAlgo_ListNodeOfListOfPnt.hxx libGEOMAlgo_la_CPPFLAGS = \ $(CAS_CPPFLAGS) \ @@ -384,6 +395,7 @@ CDL_FILES = \ GEOMAlgo_Tools3D.cdl \ GEOMAlgo_VertexSolid.cdl \ GEOMAlgo_WESCorrector.cdl \ + GEOMAlgo_WESScaler.cdl \ GEOMAlgo_WireEdgeSet.cdl \ GEOMAlgo_WireSolid.cdl \ GEOMAlgo_WireSplitter.cdl