Merge from V6_main

This commit is contained in:
gdd 2011-11-08 13:24:03 +00:00
parent c4cd1a87aa
commit 4d912ec8d7
63 changed files with 1214 additions and 1103 deletions

View File

@ -21,4 +21,5 @@ include $(top_srcdir)/adm_local/unix/make_common_starter.am
dist_admlocalm4_DATA = \ dist_admlocalm4_DATA = \
check_GEOM.m4 \ check_GEOM.m4 \
check_GUI.m4 check_GUI.m4 \
check_OpenCV.m4

View File

@ -477,6 +477,7 @@ AC_OUTPUT([ \
resources/Makefile \ resources/Makefile \
resources/GEOMCatalog.xml \ resources/GEOMCatalog.xml \
resources/SalomeApp.xml \ resources/SalomeApp.xml \
resources/Plugin \
idl/Makefile \ idl/Makefile \
Makefile \ Makefile \
]) ])

View File

@ -23,6 +23,7 @@
# Modified by : Alexander BORODIN (OCN) - autotools usage # Modified by : Alexander BORODIN (OCN) - autotools usage
# #
SUBDIRS = salome docutils SUBDIRS = salome docutils
#SUBDIRS = salome
usr_docs: usr_docs:
(cd salome && $(MAKE) $(AM_MAKEFLAGS) usr_docs) (cd salome && $(MAKE) $(AM_MAKEFLAGS) usr_docs)

View File

@ -38,9 +38,17 @@ SPHINXBUILD = sphinx-build
PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_a4 = -D latex_paper_size=a4
ALLSPHINXOPTS = -d doctrees $(PAPEROPT_a4) $(SPHINXOPTS) $(SOURCEDIR) ALLSPHINXOPTS = -d doctrees $(PAPEROPT_a4) $(SPHINXOPTS) $(SOURCEDIR)
if GEOM_ENABLE_GUI
SPHINX_PYTHONPATH = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(prefix)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(GUI_ROOT_DIR)/lib/salome:$(GUI_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(GUI_ROOT_DIR)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(OMNIORB_ROOT)/lib/python$(PYTHON_VERSION)/site-packages:$(OMNIORB_ROOT)/lib64/python$(PYTHON_VERSION)/site-packages
else !GEOM_ENABLE_GUI
SPHINX_PYTHONPATH = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(prefix)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(OMNIORB_ROOT)/lib/python$(PYTHON_VERSION)/site-packages:$(OMNIORB_ROOT)/lib64/python$(PYTHON_VERSION)/site-packages SPHINX_PYTHONPATH = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(prefix)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/lib64/python$(PYTHON_VERSION)/site-packages/salome:$(OMNIORB_ROOT)/lib/python$(PYTHON_VERSION)/site-packages:$(OMNIORB_ROOT)/lib64/python$(PYTHON_VERSION)/site-packages
endif
if GEOM_ENABLE_GUI
SPHINX_LD_LIBRARY_PATH = $(GUI_ROOT_DIR)/lib/salome:$(KERNEL_ROOT_DIR)/lib/salome:$(OMNIORB_ROOT)/lib
else !GEOM_ENABLE_GUI
SPHINX_LD_LIBRARY_PATH = $(KERNEL_ROOT_DIR)/lib/salome:$(OMNIORB_ROOT)/lib SPHINX_LD_LIBRARY_PATH = $(KERNEL_ROOT_DIR)/lib/salome:$(OMNIORB_ROOT)/lib
endif
.PHONY: latex .PHONY: latex

View File

@ -28,8 +28,6 @@ dist_salomeres_DATA = \
GEOM_en.xml \ GEOM_en.xml \
GEOM_fr.xml \ GEOM_fr.xml \
GEOM.config \ GEOM.config \
$(top_builddir)/resources/SalomeApp.xml \
Plugin \
GEOMDS_Resources \ GEOMDS_Resources \
ImportExport \ ImportExport \
ShHealing \ ShHealing \
@ -248,4 +246,4 @@ ADVANCED_RESOURCES += dlg_pipetshapefilletrf.png
dist_salomeres_DATA += $(ADVANCED_RESOURCES) dist_salomeres_DATA += $(ADVANCED_RESOURCES)
# VSR: little trick to avoid putting if GEOMCatalog.xml to the distribution archive # VSR: little trick to avoid putting if GEOMCatalog.xml to the distribution archive
nodist_salomeres_SCRIPTS = GEOMCatalog.xml nodist_salomeres_SCRIPTS = GEOMCatalog.xml SalomeApp.xml Plugin

View File

@ -1,10 +0,0 @@
! Description of available plugins
! ********************************
!
a148e300-5740-11d1-a904-080036aaa103.Location: FWOSPlugin
!
! standard attribute drivers plugin
!
ad696000-5b34-11d1-b5ba-00a0c9064368.Location: StdPlugin
ad696001-5b34-11d1-b5ba-00a0c9064368.Location: StdPlugin
ad696002-5b34-11d1-b5ba-00a0c9064368.Location: StdPlugin

10
resources/Plugin.in Normal file
View File

@ -0,0 +1,10 @@
! Description of available plugins
! ********************************
!
a148e300-5740-11d1-a904-080036aaa103.Location: FWOSPlugin
!
! standard attribute drivers plugin
!
ad696000-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
ad696001-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@
ad696002-5b34-11d1-b5ba-00a0c9064368.Location: @CAS_STDPLUGIN@

View File

@ -27,16 +27,16 @@
<parameter name="name" value="Geometry"/> <parameter name="name" value="Geometry"/>
<parameter name="icon" value="ModuleGeom.png"/> <parameter name="icon" value="ModuleGeom.png"/>
<parameter name="documentation" value="geom_help"/> <parameter name="documentation" value="geom_help"/>
<parameter name="GEOM_VERSION" value="@VERSION@"/> <parameter name="version" value="@VERSION@"/>
</section> </section>
<section name="geom_help" > <section name="geom_help" >
<parameter name="sub_menu" value="%1 module"/> <parameter name="sub_menu" value="%1 module"/>
<parameter name="User's Guide" value="${GEOM_ROOT_DIR}/share/doc/salome/gui/GEOM/index.html"/> <parameter name="User's Guide" value="%GEOM_ROOT_DIR%/share/doc/salome/gui/GEOM/index.html"/>
<parameter name="Developer's Guide" value="${GEOM_ROOT_DIR}/share/doc/salome/tui/GEOM/index.html"/> <parameter name="Developer's Guide" value="%GEOM_ROOT_DIR%/share/doc/salome/tui/GEOM/index.html"/>
</section> </section>
<section name="resources"> <section name="resources">
<!-- Module resources --> <!-- Module resources -->
<parameter name="GEOM" value="${GEOM_ROOT_DIR}/share/salome/resources/geom"/> <parameter name="GEOM" value="%GEOM_ROOT_DIR%/share/salome/resources/geom"/>
</section> </section>
<section name="Geometry" > <section name="Geometry" >
<!-- Other module preferences --> <!-- Other module preferences -->

View File

@ -91,7 +91,7 @@ EntityGUI_SketcherDlg::EntityGUI_SketcherDlg( GeometryGUI* GUI, QWidget* parent,
topLayout->setMargin( 9 ); topLayout->setSpacing( 6 ); topLayout->setMargin( 9 ); topLayout->setSpacing( 6 );
MainWidget->buttonCancel->setText( tr( "GEOM_BUT_CANCEL" ) ); MainWidget->buttonCancel->setText( tr( "GEOM_BUT_CANCEL" ) );
MainWidget->buttonEnd->setText( tr( "GEOM_BUT_END_SKETCH" ) ); MainWidget->buttonEnd->setText( tr( "GEOM_BUT_CLOSE" ) );
MainWidget->buttonClose->setText( tr( "GEOM_BUT_CLOSE_SKETCH" ) ); MainWidget->buttonClose->setText( tr( "GEOM_BUT_CLOSE_SKETCH" ) );
MainWidget->buttonHelp->setText( tr( "GEOM_BUT_HELP" ) ); MainWidget->buttonHelp->setText( tr( "GEOM_BUT_HELP" ) );
@ -978,7 +978,7 @@ void EntityGUI_SketcherDlg::ClickOnEnd()
myCommand.append( ":WW" ); myCommand.append( ":WW" );
} }
else { else {
// PAL16008 (Sketcher Validation should be equal to Apply&Close) /*// PAL16008 (Sketcher Validation should be equal to Apply&Close)
if ( ( Group1Spin->buttonApply->isEnabled() && Group1Spin->isVisible() ) || if ( ( Group1Spin->buttonApply->isEnabled() && Group1Spin->isVisible() ) ||
( Group2Spin->buttonApply->isEnabled() && Group2Spin->isVisible() ) || ( Group2Spin->buttonApply->isEnabled() && Group2Spin->isVisible() ) ||
( Group3Spin->buttonApply->isEnabled() && Group3Spin->isVisible() ) || ( Group3Spin->buttonApply->isEnabled() && Group3Spin->isVisible() ) ||
@ -987,7 +987,7 @@ void EntityGUI_SketcherDlg::ClickOnEnd()
( Group2Sel->buttonApply->isEnabled() && Group2Sel->isVisible() ) || ( Group2Sel->buttonApply->isEnabled() && Group2Sel->isVisible() ) ||
( Group1Sel1Spin->buttonApply->isEnabled() && Group1Sel1Spin->isVisible() ) ) { ( Group1Sel1Spin->buttonApply->isEnabled() && Group1Sel1Spin->isVisible() ) ) {
ClickOnApply(); ClickOnApply();
} }*/
myIsAllAdded = true; myIsAllAdded = true;
} }

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOM_DataMapOfAsciiStringTransient_HeaderFile #ifndef _GEOM_DataMapOfAsciiStringTransient_HeaderFile
#define _GEOM_DataMapOfAsciiStringTransient_HeaderFile #define _GEOM_DataMapOfAsciiStringTransient_HeaderFile
@ -38,6 +37,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TCollection_AsciiString; class TCollection_AsciiString;
@ -45,7 +45,6 @@ class Standard_Transient;
class GEOM_DataMapNodeOfDataMapOfAsciiStringTransient; class GEOM_DataMapNodeOfDataMapOfAsciiStringTransient;
class GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient; class GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -53,6 +52,8 @@ class GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOM_DataMapOfAsciiStringTransient : public TCollection_BasicMap { class GEOM_DataMapOfAsciiStringTransient : public TCollection_BasicMap {
public: public:
@ -69,6 +70,7 @@ public:
{ {
if (anAddress) Standard::Free((Standard_Address&)anAddress); if (anAddress) Standard::Free((Standard_Address&)anAddress);
} }
// Methods PUBLIC // Methods PUBLIC
// //
Standard_EXPORT GEOM_DataMapOfAsciiStringTransient(const Standard_Integer NbBuckets = 1); Standard_EXPORT GEOM_DataMapOfAsciiStringTransient(const Standard_Integer NbBuckets = 1);
@ -100,40 +102,18 @@ Standard_EXPORT Handle_Standard_Transient& ChangeFind(const TCollection_AsciiS
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const TCollection_AsciiString& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const TCollection_AsciiString& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT GEOM_DataMapOfAsciiStringTransient(const GEOM_DataMapOfAsciiStringTransient& Other); Standard_EXPORT GEOM_DataMapOfAsciiStringTransient(const GEOM_DataMapOfAsciiStringTransient& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -522,7 +522,11 @@ bool GEOM_Engine::Save(int theDocID, char* theFileName)
bool GEOM_Engine::Load(int theDocID, char* theFileName) bool GEOM_Engine::Load(int theDocID, char* theFileName)
{ {
Handle(TDocStd_Document) aDoc; Handle(TDocStd_Document) aDoc;
#if OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
if (_OCAFApp->Open(theFileName, aDoc) != PCDM_RS_OK) {
#else
if (_OCAFApp->Open(theFileName, aDoc) != CDF_RS_OK) { if (_OCAFApp->Open(theFileName, aDoc) != CDF_RS_OK) {
#endif
return false; return false;
} }
@ -1254,6 +1258,12 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
else else
aEndParamPos = aSection.Length() + 1; aEndParamPos = aSection.Length() + 1;
if(MYDEBUG)
cout<<"aParamIndex: "<<aParamIndex<<" aStartParamPos: " <<aStartParamPos<<" aEndParamPos: "<<aEndParamPos<<endl;
if ( aStartParamPos == aEndParamPos)
continue;
aParameter = aSection.SubString(aStartParamPos, aEndParamPos-1); aParameter = aSection.SubString(aStartParamPos, aEndParamPos-1);
if(MYDEBUG) if(MYDEBUG)
cout<<"aParameter: "<<aParameter<<endl; cout<<"aParameter: "<<aParameter<<endl;

View File

@ -18,15 +18,14 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File: GEOMAlgo_BuilderTools.cxx // File: GEOMAlgo_BuilderTools.cxx
// Created:
// Author: Peter KURNEV // Author: Peter KURNEV
// <pkv@irinox>
//
#include <GEOMAlgo_BuilderTools.ixx> #include <GEOMAlgo_BuilderTools.ixx>
#include <Basics_OCCTVersion.hxx>
#include <TColStd_Array1OfReal.hxx> #include <TColStd_Array1OfReal.hxx>
#include <gp_Pnt2d.hxx> #include <gp_Pnt2d.hxx>
@ -53,6 +52,11 @@
#include <TopoDS_Edge.hxx> #include <TopoDS_Edge.hxx>
#include <TopExp_Explorer.hxx> #include <TopExp_Explorer.hxx>
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
#include <TopExp.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#endif
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
#include <BRepBndLib.hxx> #include <BRepBndLib.hxx>
#include <BRepMesh_FastDiscret.hxx> #include <BRepMesh_FastDiscret.hxx>
@ -276,5 +280,12 @@ void BuildTriangulation(const TopoDS_Face& aF)
Standard_True, Standard_True,
Standard_False, Standard_False,
Standard_True); Standard_True);
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
TopTools_IndexedDataMapOfShapeListOfShape anAncestors;
TopExp::MapShapesAndAncestors(aF, TopAbs_EDGE, TopAbs_FACE, anAncestors);
aMesher.Add(aF, anAncestors);
#else
aMesher.Add(aF); aMesher.Add(aF);
#endif
} }

View File

@ -95,12 +95,14 @@
#include <TopTools_DataMapOfIntegerShape.hxx> #include <TopTools_DataMapOfIntegerShape.hxx>
#include <TColStd_ListOfInteger.hxx> #include <TColStd_ListOfInteger.hxx>
#include <TColStd_ListIteratorOfListOfInteger.hxx> #include <TColStd_ListIteratorOfListOfInteger.hxx>
#include <TopTools_DataMapOfShapeInteger.hxx>
static static
void UpdateCandidates(const Standard_Integer , void UpdateCandidates(const Standard_Integer ,
const Standard_Integer , const Standard_Integer ,
NMTTools_IndexedDataMapOfIndexedMapOfInteger& ); NMTTools_IndexedDataMapOfIndexedMapOfInteger& );
//======================================================================= //=======================================================================
//function : FillImagesFaces //function : FillImagesFaces
//purpose : //purpose :
@ -153,6 +155,19 @@ static
aLSpIn.Clear(); aLSpIn.Clear();
// //
// 1. In Parts // 1. In Parts
//modified by NIZNHY-PKV Fri Oct 14 13:58:00 2011f
BOPTools_ListOfPaveBlock aLPBIn;
//
pPF->RealSplitsInFace(nF, aLPBIn);
//
aItPB.Initialize(aLPBIn);
for (; aItPB.More(); aItPB.Next()) {
const BOPTools_PaveBlock& aPB1=aItPB.Value();
nSpIn=aPB1.Edge();
const TopoDS_Shape& aSpIn=aDS.Shape(nSpIn);
aLSpIn.Append(aSpIn);
}
/*
for (j=1; j<=aNbCBP; ++j) { for (j=1; j<=aNbCBP; ++j) {
NMTTools_ListOfCommonBlock& aLCB=aCBP(j); NMTTools_ListOfCommonBlock& aLCB=aCBP(j);
aItCB.Initialize(aLCB); aItCB.Initialize(aLCB);
@ -168,6 +183,8 @@ static
} }
} }
} }
*/
//modified by NIZNHY-PKV Fri Oct 14 13:58:08 2011t
// //
// 2. Section Parts // 2. Section Parts
for (j=1; j<=aNbFFs; ++j) { for (j=1; j<=aNbFFs; ++j) {
@ -586,17 +603,71 @@ static
// //
NMTTools_Tools::FindChains(aLCS, aMC); NMTTools_Tools::FindChains(aLCS, aMC);
// //
//modified by NIZNHY-PKV Wed Oct 12 13:33:59 2011f
Standard_Boolean bIsImage;
Standard_Integer aIx, aIxMin, aNbMSDF, k, aNbMFj;
TopoDS_Shape aFOld, aFSDmin;
TopTools_IndexedMapOfShape aMFj;
TopTools_DataMapOfShapeInteger aDMSI;
//
aItF1.Initialize(myShapes);
for (j=1; aItF1.More(); aItF1.Next(), ++j) {
const TopoDS_Shape& aSj=aItF1.Value();
aMFj.Clear();
TopExp::MapShapes(aSj, TopAbs_FACE, aMFj);
aNbMFj=aMFj.Extent();
for (k=1; k<=aNbMFj; ++k) {
const TopoDS_Shape& aFk=aMFj(k);
if (!aDMSI.IsBound(aFk)) {
aDMSI.Bind(aFk, j);
}
}
}
//
//modified by NIZNHY-PKV Wed Oct 12 13:34:01 2011t
//
// 3. Fill the map of SDF mySameDomainFaces // 3. Fill the map of SDF mySameDomainFaces
aNbC=aMC.Extent(); aNbC=aMC.Extent();
for (i=1; i<=aNbC; ++i) { for (i=1; i<=aNbC; ++i) {
const TopoDS_Shape& aF=aMC.FindKey(i); // const TopoDS_Shape& aF=aMC.FindKey(i);
const TopTools_IndexedMapOfShape& aMSDF=aMC(i); const TopTools_IndexedMapOfShape& aMSDF=aMC(i);
// //
//modified by NIZNHY-PKV Wed Oct 12 13:25:16 2011f
aNbMSDF=aMSDF.Extent();
for (j=1; j<=aNbMSDF; ++j) {
const TopoDS_Shape& aFSD=aMSDF(j);
bIsImage=mySplitFaces.IsImage(aFSD);
aFOld=aFSD;
if (bIsImage) {
aFOld=mySplitFaces.ImageFrom(aFSD);
}
//
aIx=aDMSI.Find(aFOld);
if (j==1) {
aIxMin=aIx;
aFSDmin=aFSD;
continue;
}
else {
if (aIx<aIxMin) {
aIxMin=aIx;
aFSDmin=aFSD;
}
}
}
//
for (j=1; j<=aNbMSDF; ++j) {
const TopoDS_Shape& aFSD=aMSDF(j);
mySameDomainShapes.Add(aFSD, aFSDmin);
}
/*
aNbFF=aMSDF.Extent(); aNbFF=aMSDF.Extent();
for (j=1; j<=aNbFF; ++j) { for (j=1; j<=aNbFF; ++j) {
const TopoDS_Shape& aFSD=aMSDF(j); const TopoDS_Shape& aFSD=aMSDF(j);
mySameDomainShapes.Add(aFSD, aF); mySameDomainShapes.Add(aFSD, aF);
} }
*/
//modified by NIZNHY-PKV Wed Oct 12 13:25:18 2011t
} }
// //
} }

View File

@ -15,7 +15,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile #ifndef _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile
#define _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile #define _GEOMAlgo_DataMapOfOrientedShapeShape_HeaderFile
@ -32,6 +31,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TopoDS_Shape; class TopoDS_Shape;
@ -39,7 +39,6 @@ class TopTools_OrientedShapeMapHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape; class GEOMAlgo_DataMapNodeOfDataMapOfOrientedShapeShape;
class GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape; class GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -47,9 +46,10 @@ class GEOMAlgo_DataMapIteratorOfDataMapOfOrientedShapeShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfOrientedShapeShape : public TCollection_BasicMap { class GEOMAlgo_DataMapOfOrientedShapeShape : public TCollection_BasicMap
{
public: public:
void* operator new(size_t,void* anAddress) void* operator new(size_t,void* anAddress)
@ -64,91 +64,56 @@ public:
{ {
if (anAddress) Standard::Free((Standard_Address&)anAddress); if (anAddress) Standard::Free((Standard_Address&)anAddress);
} }
// Methods PUBLIC // Methods PUBLIC
// //
Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape(const Standard_Integer NbBuckets = 1); Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape(const Standard_Integer NbBuckets = 1);
Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape& Assign(const GEOMAlgo_DataMapOfOrientedShapeShape& Other) ; Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape& Assign(const GEOMAlgo_DataMapOfOrientedShapeShape& Other) ;
GEOMAlgo_DataMapOfOrientedShapeShape& operator =(const GEOMAlgo_DataMapOfOrientedShapeShape& Other) GEOMAlgo_DataMapOfOrientedShapeShape& operator =(const GEOMAlgo_DataMapOfOrientedShapeShape& Other)
{ {
return Assign(Other); return Assign(Other);
} }
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
Standard_EXPORT void Clear() ; Standard_EXPORT void Clear() ;
~GEOMAlgo_DataMapOfOrientedShapeShape() ~GEOMAlgo_DataMapOfOrientedShapeShape()
{ {
Clear(); Clear();
} }
Standard_EXPORT Standard_Boolean Bind(const TopoDS_Shape& K,const TopoDS_Shape& I) ; 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 IsBound(const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Boolean UnBind(const TopoDS_Shape& K) ; Standard_EXPORT Standard_Boolean UnBind(const TopoDS_Shape& K) ;
Standard_EXPORT const TopoDS_Shape& Find(const TopoDS_Shape& K) const; Standard_EXPORT const TopoDS_Shape& Find(const TopoDS_Shape& K) const;
const TopoDS_Shape& operator()(const TopoDS_Shape& K) const const TopoDS_Shape& operator()(const TopoDS_Shape& K) const
{ {
return Find(K); return Find(K);
} }
Standard_EXPORT TopoDS_Shape& ChangeFind(const TopoDS_Shape& K) ; Standard_EXPORT TopoDS_Shape& ChangeFind(const TopoDS_Shape& K) ;
TopoDS_Shape& operator()(const TopoDS_Shape& K) TopoDS_Shape& operator()(const TopoDS_Shape& K)
{ {
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const TopoDS_Shape& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape(const GEOMAlgo_DataMapOfOrientedShapeShape& Other); Standard_EXPORT GEOMAlgo_DataMapOfOrientedShapeShape(const GEOMAlgo_DataMapOfOrientedShapeShape& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_DataMapOfPassKeyInteger_HeaderFile #ifndef _GEOMAlgo_DataMapOfPassKeyInteger_HeaderFile
#define _GEOMAlgo_DataMapOfPassKeyInteger_HeaderFile #define _GEOMAlgo_DataMapOfPassKeyInteger_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class GEOMAlgo_PassKey; class GEOMAlgo_PassKey;
@ -42,7 +42,6 @@ class GEOMAlgo_PassKeyMapHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyInteger; class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyInteger;
class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger; class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyInteger;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfPassKeyInteger : public TCollection_BasicMap { class GEOMAlgo_DataMapOfPassKeyInteger : public TCollection_BasicMap {
@ -67,91 +67,56 @@ public:
{ {
if (anAddress) Standard::Free((Standard_Address&)anAddress); if (anAddress) Standard::Free((Standard_Address&)anAddress);
} }
// Methods PUBLIC // Methods PUBLIC
// //
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyInteger(const Standard_Integer NbBuckets = 1); Standard_EXPORT GEOMAlgo_DataMapOfPassKeyInteger(const Standard_Integer NbBuckets = 1);
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyInteger& Assign(const GEOMAlgo_DataMapOfPassKeyInteger& Other) ; Standard_EXPORT GEOMAlgo_DataMapOfPassKeyInteger& Assign(const GEOMAlgo_DataMapOfPassKeyInteger& Other) ;
GEOMAlgo_DataMapOfPassKeyInteger& operator =(const GEOMAlgo_DataMapOfPassKeyInteger& Other) GEOMAlgo_DataMapOfPassKeyInteger& operator =(const GEOMAlgo_DataMapOfPassKeyInteger& Other)
{ {
return Assign(Other); return Assign(Other);
} }
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
Standard_EXPORT void Clear() ; Standard_EXPORT void Clear() ;
~GEOMAlgo_DataMapOfPassKeyInteger() ~GEOMAlgo_DataMapOfPassKeyInteger()
{ {
Clear(); Clear();
} }
Standard_EXPORT Standard_Boolean Bind(const GEOMAlgo_PassKey& K,const Standard_Integer& I) ; Standard_EXPORT Standard_Boolean Bind(const GEOMAlgo_PassKey& K,const Standard_Integer& I) ;
Standard_EXPORT Standard_Boolean IsBound(const GEOMAlgo_PassKey& K) const; Standard_EXPORT Standard_Boolean IsBound(const GEOMAlgo_PassKey& K) const;
Standard_EXPORT Standard_Boolean UnBind(const GEOMAlgo_PassKey& K) ; Standard_EXPORT Standard_Boolean UnBind(const GEOMAlgo_PassKey& K) ;
Standard_EXPORT const Standard_Integer& Find(const GEOMAlgo_PassKey& K) const; Standard_EXPORT const Standard_Integer& Find(const GEOMAlgo_PassKey& K) const;
const Standard_Integer& operator()(const GEOMAlgo_PassKey& K) const const Standard_Integer& operator()(const GEOMAlgo_PassKey& K) const
{ {
return Find(K); return Find(K);
} }
Standard_EXPORT Standard_Integer& ChangeFind(const GEOMAlgo_PassKey& K) ; Standard_EXPORT Standard_Integer& ChangeFind(const GEOMAlgo_PassKey& K) ;
Standard_Integer& operator()(const GEOMAlgo_PassKey& K) Standard_Integer& operator()(const GEOMAlgo_PassKey& K)
{ {
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const GEOMAlgo_PassKey& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const GEOMAlgo_PassKey& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyInteger(const GEOMAlgo_DataMapOfPassKeyInteger& Other); Standard_EXPORT GEOMAlgo_DataMapOfPassKeyInteger(const GEOMAlgo_DataMapOfPassKeyInteger& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -15,7 +15,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile #ifndef _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
#define _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile #define _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
@ -32,6 +31,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class GEOMAlgo_PassKeyShape; class GEOMAlgo_PassKeyShape;
@ -40,7 +40,6 @@ class GEOMAlgo_PassKeyShapeMapHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape; class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape;
class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape; class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -48,6 +47,7 @@ class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfPassKeyShapeShape : public TCollection_BasicMap { class GEOMAlgo_DataMapOfPassKeyShapeShape : public TCollection_BasicMap {
@ -65,91 +65,56 @@ public:
{ {
if (anAddress) Standard::Free((Standard_Address&)anAddress); if (anAddress) Standard::Free((Standard_Address&)anAddress);
} }
// Methods PUBLIC // Methods PUBLIC
// //
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape(const Standard_Integer NbBuckets = 1); Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape(const Standard_Integer NbBuckets = 1);
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape& Assign(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other) ; Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape& Assign(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other) ;
GEOMAlgo_DataMapOfPassKeyShapeShape& operator =(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other) GEOMAlgo_DataMapOfPassKeyShapeShape& operator =(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other)
{ {
return Assign(Other); return Assign(Other);
} }
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
Standard_EXPORT void Clear() ; Standard_EXPORT void Clear() ;
~GEOMAlgo_DataMapOfPassKeyShapeShape() ~GEOMAlgo_DataMapOfPassKeyShapeShape()
{ {
Clear(); Clear();
} }
Standard_EXPORT Standard_Boolean Bind(const GEOMAlgo_PassKeyShape& K,const TopoDS_Shape& I) ; Standard_EXPORT Standard_Boolean Bind(const GEOMAlgo_PassKeyShape& K,const TopoDS_Shape& I) ;
Standard_EXPORT Standard_Boolean IsBound(const GEOMAlgo_PassKeyShape& K) const; Standard_EXPORT Standard_Boolean IsBound(const GEOMAlgo_PassKeyShape& K) const;
Standard_EXPORT Standard_Boolean UnBind(const GEOMAlgo_PassKeyShape& K) ; Standard_EXPORT Standard_Boolean UnBind(const GEOMAlgo_PassKeyShape& K) ;
Standard_EXPORT const TopoDS_Shape& Find(const GEOMAlgo_PassKeyShape& K) const; Standard_EXPORT const TopoDS_Shape& Find(const GEOMAlgo_PassKeyShape& K) const;
const TopoDS_Shape& operator()(const GEOMAlgo_PassKeyShape& K) const const TopoDS_Shape& operator()(const GEOMAlgo_PassKeyShape& K) const
{ {
return Find(K); return Find(K);
} }
Standard_EXPORT TopoDS_Shape& ChangeFind(const GEOMAlgo_PassKeyShape& K) ; Standard_EXPORT TopoDS_Shape& ChangeFind(const GEOMAlgo_PassKeyShape& K) ;
TopoDS_Shape& operator()(const GEOMAlgo_PassKeyShape& K) TopoDS_Shape& operator()(const GEOMAlgo_PassKeyShape& K)
{ {
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const GEOMAlgo_PassKeyShape& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const GEOMAlgo_PassKeyShape& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other); Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_DataMapOfRealListOfShape_HeaderFile #ifndef _GEOMAlgo_DataMapOfRealListOfShape_HeaderFile
#define _GEOMAlgo_DataMapOfRealListOfShape_HeaderFile #define _GEOMAlgo_DataMapOfRealListOfShape_HeaderFile
@ -38,6 +37,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TopTools_ListOfShape; class TopTools_ListOfShape;
@ -45,7 +45,6 @@ class TColStd_MapRealHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfRealListOfShape; class GEOMAlgo_DataMapNodeOfDataMapOfRealListOfShape;
class GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape; class GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -53,6 +52,7 @@ class GEOMAlgo_DataMapIteratorOfDataMapOfRealListOfShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfRealListOfShape : public TCollection_BasicMap { class GEOMAlgo_DataMapOfRealListOfShape : public TCollection_BasicMap {
@ -83,8 +83,6 @@ Standard_EXPORT GEOMAlgo_DataMapOfRealListOfShape& Assign(const GEOMAlgo_DataM
return Assign(Other); return Assign(Other);
} }
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
@ -94,67 +92,36 @@ Standard_EXPORT void Clear() ;
Clear(); Clear();
} }
Standard_EXPORT Standard_Boolean Bind(const Standard_Real& K,const TopTools_ListOfShape& I) ; Standard_EXPORT Standard_Boolean Bind(const Standard_Real& K,const TopTools_ListOfShape& I) ;
Standard_EXPORT Standard_Boolean IsBound(const Standard_Real& K) const; Standard_EXPORT Standard_Boolean IsBound(const Standard_Real& K) const;
Standard_EXPORT Standard_Boolean UnBind(const Standard_Real& K) ; Standard_EXPORT Standard_Boolean UnBind(const Standard_Real& K) ;
Standard_EXPORT const TopTools_ListOfShape& Find(const Standard_Real& K) const; Standard_EXPORT const TopTools_ListOfShape& Find(const Standard_Real& K) const;
const TopTools_ListOfShape& operator()(const Standard_Real& K) const const TopTools_ListOfShape& operator()(const Standard_Real& K) const
{ {
return Find(K); return Find(K);
} }
Standard_EXPORT TopTools_ListOfShape& ChangeFind(const Standard_Real& K) ; Standard_EXPORT TopTools_ListOfShape& ChangeFind(const Standard_Real& K) ;
TopTools_ListOfShape& operator()(const Standard_Real& K) TopTools_ListOfShape& operator()(const Standard_Real& K)
{ {
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const Standard_Real& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const Standard_Real& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT GEOMAlgo_DataMapOfRealListOfShape(const GEOMAlgo_DataMapOfRealListOfShape& Other); Standard_EXPORT GEOMAlgo_DataMapOfRealListOfShape(const GEOMAlgo_DataMapOfRealListOfShape& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -41,6 +41,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TopoDS_Shape; class TopoDS_Shape;
@ -49,7 +50,7 @@ class TopTools_ShapeMapHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfShapeMapOfShape; class GEOMAlgo_DataMapNodeOfDataMapOfShapeMapOfShape;
class GEOMAlgo_DataMapIteratorOfDataMapOfShapeMapOfShape; class GEOMAlgo_DataMapIteratorOfDataMapOfShapeMapOfShape;
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfShapeMapOfShape : public TCollection_BasicMap { class GEOMAlgo_DataMapOfShapeMapOfShape : public TCollection_BasicMap {
public: public:
@ -102,31 +103,17 @@ public:
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const TopoDS_Shape& K);
#endif
protected:
private: private:
Standard_EXPORT GEOMAlgo_DataMapOfShapeMapOfShape(const GEOMAlgo_DataMapOfShapeMapOfShape& Other); Standard_EXPORT GEOMAlgo_DataMapOfShapeMapOfShape(const GEOMAlgo_DataMapOfShapeMapOfShape& Other);
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
#endif #endif

View File

@ -41,6 +41,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TopoDS_Shape; class TopoDS_Shape;
@ -49,7 +50,7 @@ class TopTools_ShapeMapHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfShapePnt; class GEOMAlgo_DataMapNodeOfDataMapOfShapePnt;
class GEOMAlgo_DataMapIteratorOfDataMapOfShapePnt; class GEOMAlgo_DataMapIteratorOfDataMapOfShapePnt;
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfShapePnt : public TCollection_BasicMap { class GEOMAlgo_DataMapOfShapePnt : public TCollection_BasicMap {
public: public:
@ -102,31 +103,17 @@ public:
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const TopoDS_Shape& K);
#endif
protected:
private: private:
Standard_EXPORT GEOMAlgo_DataMapOfShapePnt(const GEOMAlgo_DataMapOfShapePnt& Other); Standard_EXPORT GEOMAlgo_DataMapOfShapePnt(const GEOMAlgo_DataMapOfShapePnt& Other);
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_DataMapOfShapeReal_HeaderFile #ifndef _GEOMAlgo_DataMapOfShapeReal_HeaderFile
#define _GEOMAlgo_DataMapOfShapeReal_HeaderFile #define _GEOMAlgo_DataMapOfShapeReal_HeaderFile
@ -38,6 +37,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TopoDS_Shape; class TopoDS_Shape;
@ -45,7 +45,6 @@ class TopTools_ShapeMapHasher;
class GEOMAlgo_DataMapNodeOfDataMapOfShapeReal; class GEOMAlgo_DataMapNodeOfDataMapOfShapeReal;
class GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal; class GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -53,6 +52,7 @@ class GEOMAlgo_DataMapIteratorOfDataMapOfShapeReal;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfShapeReal : public TCollection_BasicMap { class GEOMAlgo_DataMapOfShapeReal : public TCollection_BasicMap {
@ -119,20 +119,10 @@ Standard_EXPORT Standard_Real& ChangeFind(const TopoDS_Shape& K) ;
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const TopoDS_Shape& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
@ -149,10 +139,6 @@ Standard_EXPORT GEOMAlgo_DataMapOfShapeReal(const GEOMAlgo_DataMapOfShapeReal& O
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //

View File

@ -50,6 +50,8 @@ class GEOMAlgo_DataMapIteratorOfDataMapOfShapeShapeSet;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_DataMapOfShapeShapeSet : public TCollection_BasicMap { class GEOMAlgo_DataMapOfShapeShapeSet : public TCollection_BasicMap {
public: public:
@ -102,6 +104,11 @@ public:
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const TopoDS_Shape& K);
#endif
private: private:
Standard_EXPORT GEOMAlgo_DataMapOfShapeShapeSet(const GEOMAlgo_DataMapOfShapeShapeSet& Other); Standard_EXPORT GEOMAlgo_DataMapOfShapeShapeSet(const GEOMAlgo_DataMapOfShapeShapeSet& Other);
}; };

View File

@ -18,15 +18,19 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File: GEOMAlgo_FinderShapeOn.cxx // File: GEOMAlgo_FinderShapeOn.cxx
// Created: Tue Jan 11 14:44:31 2005 // Created: Tue Jan 11 14:44:31 2005
// Author: Peter KURNEV // Author: Peter KURNEV
// <pkv@irinox>
//
#include <GEOMAlgo_FinderShapeOn.ixx> #include <GEOMAlgo_FinderShapeOn.ixx>
#include <Basics_OCCTVersion.hxx>
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
#include <Precision.hxx>
#endif
#include <gp_Pnt.hxx> #include <gp_Pnt.hxx>
#include <TopAbs_ShapeEnum.hxx> #include <TopAbs_ShapeEnum.hxx>
@ -383,7 +387,11 @@ void GEOMAlgo_FinderShapeOn::MakeArgument1()
// //
// Argument 1 // Argument 1
if (!myIsAnalytic) { if (!myIsAnalytic) {
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
aMF.Init(mySurface, Standard_True, Precision::Confusion());
#else
aMF.Init(mySurface, Standard_True); aMF.Init(mySurface, Standard_True);
#endif
aFErr=aMF.Error(); aFErr=aMF.Error();
if (aFErr!=BRepLib_FaceDone) { if (aFErr!=BRepLib_FaceDone) {
myErrorStatus=20; // can not build the face myErrorStatus=20; // can not build the face

View File

@ -18,9 +18,8 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File: GEOMAlgo_GetInPlace_1.cxx // File: GEOMAlgo_GetInPlace_1.cxx
// Created:
// Author: Peter KURNEV // Author: Peter KURNEV
#include <GEOMAlgo_GetInPlace.hxx> #include <GEOMAlgo_GetInPlace.hxx>
@ -91,9 +90,9 @@ static
Standard_Boolean GEOMAlgo_GetInPlace::CheckCoincidence(const TopoDS_Shape& aS1, Standard_Boolean GEOMAlgo_GetInPlace::CheckCoincidence(const TopoDS_Shape& aS1,
const TopoDS_Shape& aS2) const TopoDS_Shape& aS2)
{ {
Standard_Boolean bOk, bIsDone; Standard_Boolean bOk;
Standard_Integer iErr; Standard_Integer iErr;
Standard_Real aTol2, aD2; Standard_Real aTol2;
TopAbs_ShapeEnum aType1, aType2; TopAbs_ShapeEnum aType1, aType2;
TopAbs_State aState; TopAbs_State aState;
gp_Pnt aP1, aP2; gp_Pnt aP1, aP2;

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile #ifndef _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile
#define _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile #define _GEOMAlgo_IndexedDataMapOfIntegerShape_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -42,7 +42,6 @@ class TopoDS_Shape;
class TColStd_MapIntegerHasher; class TColStd_MapIntegerHasher;
class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape; class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_IndexedDataMapOfIntegerShape : public TCollection_BasicMap { class GEOMAlgo_IndexedDataMapOfIntegerShape : public TCollection_BasicMap {
@ -67,106 +67,65 @@ public:
{ {
if (anAddress) Standard::Free((Standard_Address&)anAddress); if (anAddress) Standard::Free((Standard_Address&)anAddress);
} }
// Methods PUBLIC // Methods PUBLIC
// //
Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape(const Standard_Integer NbBuckets = 1); Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape(const Standard_Integer NbBuckets = 1);
Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape& Assign(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other) ; Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape& Assign(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other) ;
GEOMAlgo_IndexedDataMapOfIntegerShape& operator =(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other) GEOMAlgo_IndexedDataMapOfIntegerShape& operator =(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other)
{ {
return Assign(Other); return Assign(Other);
} }
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ; Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
Standard_EXPORT void Clear() ; Standard_EXPORT void Clear() ;
~GEOMAlgo_IndexedDataMapOfIntegerShape() ~GEOMAlgo_IndexedDataMapOfIntegerShape()
{ {
Clear(); Clear();
} }
Standard_EXPORT Standard_Integer Add(const Standard_Integer& K,const TopoDS_Shape& I) ; Standard_EXPORT Standard_Integer Add(const Standard_Integer& K,const TopoDS_Shape& I) ;
Standard_EXPORT void Substitute(const Standard_Integer I,const Standard_Integer& K,const TopoDS_Shape& T) ; Standard_EXPORT void Substitute(const Standard_Integer I,const Standard_Integer& K,const TopoDS_Shape& T) ;
Standard_EXPORT void RemoveLast() ; Standard_EXPORT void RemoveLast() ;
Standard_EXPORT Standard_Boolean Contains(const Standard_Integer& K) const; Standard_EXPORT Standard_Boolean Contains(const Standard_Integer& K) const;
Standard_EXPORT const Standard_Integer& FindKey(const Standard_Integer I) const; Standard_EXPORT const Standard_Integer& FindKey(const Standard_Integer I) const;
Standard_EXPORT const TopoDS_Shape& FindFromIndex(const Standard_Integer I) const; Standard_EXPORT const TopoDS_Shape& FindFromIndex(const Standard_Integer I) const;
const TopoDS_Shape& operator ()(const Standard_Integer I) const const TopoDS_Shape& operator ()(const Standard_Integer I) const
{ {
return FindFromIndex(I); return FindFromIndex(I);
} }
Standard_EXPORT TopoDS_Shape& ChangeFromIndex(const Standard_Integer I) ; Standard_EXPORT TopoDS_Shape& ChangeFromIndex(const Standard_Integer I) ;
TopoDS_Shape& operator ()(const Standard_Integer I) TopoDS_Shape& operator ()(const Standard_Integer I)
{ {
return ChangeFromIndex(I); return ChangeFromIndex(I);
} }
Standard_EXPORT Standard_Integer FindIndex(const Standard_Integer& K) const; Standard_EXPORT Standard_Integer FindIndex(const Standard_Integer& K) const;
Standard_EXPORT const TopoDS_Shape& FindFromKey(const Standard_Integer& K) const; Standard_EXPORT const TopoDS_Shape& FindFromKey(const Standard_Integer& K) const;
Standard_EXPORT TopoDS_Shape& ChangeFromKey(const Standard_Integer& K) ; Standard_EXPORT TopoDS_Shape& ChangeFromKey(const Standard_Integer& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const Standard_Integer& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other); Standard_EXPORT GEOMAlgo_IndexedDataMapOfIntegerShape(const GEOMAlgo_IndexedDataMapOfIntegerShape& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile #ifndef _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile
#define _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile #define _GEOMAlgo_IndexedDataMapOfPassKeyListOfShape_HeaderFile
@ -51,6 +50,8 @@ class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyListOfShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_IndexedDataMapOfPassKeyListOfShape : public TCollection_BasicMap { class GEOMAlgo_IndexedDataMapOfPassKeyListOfShape : public TCollection_BasicMap {
public: public:
@ -104,6 +105,10 @@ Standard_EXPORT Standard_Integer FindIndex(const GEOMAlgo_PassKey& K) const;
Standard_EXPORT const TopTools_ListOfShape& FindFromKey(const GEOMAlgo_PassKey& K) const; Standard_EXPORT const TopTools_ListOfShape& FindFromKey(const GEOMAlgo_PassKey& K) const;
Standard_EXPORT TopTools_ListOfShape& ChangeFromKey(const GEOMAlgo_PassKey& K) ; Standard_EXPORT TopTools_ListOfShape& ChangeFromKey(const GEOMAlgo_PassKey& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const GEOMAlgo_PassKey& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const GEOMAlgo_PassKey& K);
#endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape_HeaderFile #ifndef _GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape_HeaderFile
#define _GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape_HeaderFile #define _GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape_HeaderFile
@ -51,6 +50,7 @@ class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfPassKeyShapeListOfShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape : public TCollection_BasicMap { class GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape : public TCollection_BasicMap {
@ -133,9 +133,10 @@ Standard_EXPORT const TopTools_ListOfShape& FindFromKey(const GEOMAlgo_PassKeyS
Standard_EXPORT TopTools_ListOfShape& ChangeFromKey(const GEOMAlgo_PassKeyShape& K) ; Standard_EXPORT TopTools_ListOfShape& ChangeFromKey(const GEOMAlgo_PassKeyShape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const GEOMAlgo_PassKeyShape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const GEOMAlgo_PassKeyShape& K);
#endif
protected: protected:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile #ifndef _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile
#define _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile #define _GEOMAlgo_IndexedDataMapOfShapeBox_HeaderFile
@ -51,6 +50,7 @@ class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_IndexedDataMapOfShapeBox : public TCollection_BasicMap { class GEOMAlgo_IndexedDataMapOfShapeBox : public TCollection_BasicMap {
@ -129,13 +129,12 @@ Standard_EXPORT Standard_Integer FindIndex(const TopoDS_Shape& K) const;
Standard_EXPORT const Bnd_Box& FindFromKey(const TopoDS_Shape& K) const; Standard_EXPORT const Bnd_Box& FindFromKey(const TopoDS_Shape& K) const;
Standard_EXPORT Bnd_Box& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT Bnd_Box& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected: protected:

View File

@ -15,7 +15,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile #ifndef _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
#define _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile #define _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
@ -48,6 +47,7 @@ class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_IndexedDataMapOfShapeShapeInfo : public TCollection_BasicMap { class GEOMAlgo_IndexedDataMapOfShapeShapeInfo : public TCollection_BasicMap {
@ -130,9 +130,10 @@ Standard_EXPORT const GEOMAlgo_ShapeInfo& FindFromKey(const TopoDS_Shape& K) co
Standard_EXPORT GEOMAlgo_ShapeInfo& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT GEOMAlgo_ShapeInfo& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected: protected:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _GEOMAlgo_IndexedDataMapOfShapeState_HeaderFile #ifndef _GEOMAlgo_IndexedDataMapOfShapeState_HeaderFile
#define _GEOMAlgo_IndexedDataMapOfShapeState_HeaderFile #define _GEOMAlgo_IndexedDataMapOfShapeState_HeaderFile
@ -53,6 +52,7 @@ class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeState;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class GEOMAlgo_IndexedDataMapOfShapeState : public TCollection_BasicMap { class GEOMAlgo_IndexedDataMapOfShapeState : public TCollection_BasicMap {
@ -131,13 +131,12 @@ Standard_EXPORT Standard_Integer FindIndex(const TopoDS_Shape& K) const;
Standard_EXPORT const TopAbs_State& FindFromKey(const TopoDS_Shape& K) const; Standard_EXPORT const TopAbs_State& FindFromKey(const TopoDS_Shape& K) const;
Standard_EXPORT TopAbs_State& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT TopAbs_State& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected: protected:

View File

@ -90,6 +90,8 @@
#include <Prs3d_ShadingAspect.hxx> #include <Prs3d_ShadingAspect.hxx>
#include <BRepMesh_IncrementalMesh.hxx>
// VTK Includes // VTK Includes
#include <vtkActorCollection.h> #include <vtkActorCollection.h>
#include <vtkProperty.h> #include <vtkProperty.h>
@ -323,6 +325,17 @@ GEOM_Displayer::GEOM_Displayer( SalomeApp_Study* st )
myToActivate = true; myToActivate = true;
// This parameter is used for activisation/deactivisation of objects to be displayed // This parameter is used for activisation/deactivisation of objects to be displayed
#if OCC_VERSION_LARGE > 0x06050100 // Functionnality available only in OCCT 6.5.2
// Activate parallel vizualisation only for testing purpose
// and if the corresponding env variable is set to 1
char* parallel_visu = getenv("PARALLEL_VISU");
if (parallel_visu && atoi(parallel_visu))
{
MESSAGE("Parallel visualisation on");
BRepMesh_IncrementalMesh::SetParallelDefault(Standard_True);
}
#endif
myViewFrame = 0; myViewFrame = 0;
} }

View File

@ -2375,7 +2375,7 @@ Choisissez une face, une coque ou un solide et essayez de nouveau</translation>
</message> </message>
<message> <message>
<source>MEN_GROUP_CREATE</source> <source>MEN_GROUP_CREATE</source>
<translation>Créer une groupe</translation> <translation>Créer un groupe</translation>
</message> </message>
<message> <message>
<source>MEN_GROUP_EDIT</source> <source>MEN_GROUP_EDIT</source>

View File

@ -109,7 +109,7 @@ extern "C" {
} }
Standard_EXPORT char* getModuleVersion() { Standard_EXPORT char* getModuleVersion() {
return GEOM_VERSION_STR; return (char*)GEOM_VERSION_STR;
} }
} }

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include "GEOMImpl_ArchimedeDriver.hxx" #include "GEOMImpl_ArchimedeDriver.hxx"
#include "GEOMImpl_IArchimede.hxx" #include "GEOMImpl_IArchimede.hxx"
@ -26,6 +25,8 @@
#include "Archimede_VolumeSection.hxx" #include "Archimede_VolumeSection.hxx"
#include <Basics_OCCTVersion.hxx>
#include <stdio.h> #include <stdio.h>
#include <BRepBuilderAPI_MakeFace.hxx> #include <BRepBuilderAPI_MakeFace.hxx>
@ -128,7 +129,11 @@ Standard_Integer GEOMImpl_ArchimedeDriver::Execute(TFunction_Logbook& log) const
Standard_Real u1,u2,v1,v2; Standard_Real u1,u2,v1,v2;
SurfaceTrimmee->Bounds(u1,u2,v1,v2); SurfaceTrimmee->Bounds(u1,u2,v1,v2);
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
TopoDS_Face tirant = BRepBuilderAPI_MakeFace(SurfaceTrimmee, u1, u2, v1, v2, Precision::Confusion());
#else
TopoDS_Face tirant = BRepBuilderAPI_MakeFace(SurfaceTrimmee, u1, u2, v1, v2); TopoDS_Face tirant = BRepBuilderAPI_MakeFace(SurfaceTrimmee, u1, u2, v1, v2);
#endif
if (tirant.IsNull()) { if (tirant.IsNull()) {
StdFail_NotDone::Raise("Failed to build secant face"); StdFail_NotDone::Raise("Failed to build secant face");
@ -184,5 +189,3 @@ const Handle(GEOMImpl_ArchimedeDriver) Handle(GEOMImpl_ArchimedeDriver)::DownCas
return _anOtherObject; return _anOtherObject;
} }

View File

@ -373,6 +373,11 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute (TFunction_Logbook& log) const
// we obtain BSpline curve of degree 1 (C0), which is slowly // we obtain BSpline curve of degree 1 (C0), which is slowly
// processed by some algorithms (Partition for example). // processed by some algorithms (Partition for example).
BO.Approximation(Standard_True); BO.Approximation(Standard_True);
//modified by NIZNHY-PKV Tue Oct 18 14:34:16 2011f
BO.ComputePCurveOn1(Standard_True);
BO.ComputePCurveOn2(Standard_True);
//modified by NIZNHY-PKV Tue Oct 18 14:34:18 2011t
BO.Build(); BO.Build();
if (!BO.IsDone()) { if (!BO.IsDone()) {
StdFail_NotDone::Raise("Section operation can not be performed on the given shapes"); StdFail_NotDone::Raise("Section operation can not be performed on the given shapes");

View File

@ -37,6 +37,10 @@
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>
#include <Precision.hxx>
#include<cmath>
//======================================================================= //=======================================================================
//function : GetID //function : GetID
//purpose : //purpose :
@ -89,8 +93,10 @@ Standard_Integer GEOMImpl_BoxDriver::Execute(TFunction_Logbook& log) const
gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1)); gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1));
gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2)); gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2));
if (P1.X() == P2.X() || P1.Y() == P2.Y() || P1.Z() == P2.Z()) { if (std::abs(P1.X() - P2.X()) < Precision::Confusion() ||
StdFail_NotDone::Raise("Box can not be created, the points belong to the same plane"); std::abs(P1.Y() - P2.Y()) < Precision::Confusion() ||
std::abs(P1.Z() - P2.Z()) < Precision::Confusion() ) {
StdFail_NotDone::Raise("Box can not be created, the points belong both to one of the OXY, OYZ or OZX planes");
return 0; return 0;
} }

View File

@ -18,28 +18,32 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <Standard_Stream.hxx> #include <Standard_Stream.hxx>
#include <GEOMImpl_FillingDriver.hxx> #include <GEOMImpl_FillingDriver.hxx>
#include <GEOM_Function.hxx>
#include <GEOMImpl_IFilling.hxx> #include <GEOMImpl_IFilling.hxx>
#include <GEOMImpl_Types.hxx> #include <GEOMImpl_Types.hxx>
#include <GEOM_Function.hxx>
#include <Basics_OCCTVersion.hxx>
#include <ShapeFix_Face.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
#include <BRepAlgo.hxx> #include <BRepAlgo.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRep_Builder.hxx> #include <BRep_Builder.hxx>
#include <BRepBuilderAPI_MakeFace.hxx>
#include <BRepBuilderAPI_Copy.hxx> #include <BRepBuilderAPI_Copy.hxx>
#include <TopAbs.hxx> #include <TopAbs.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx> #include <TopoDS.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Compound.hxx> #include <TopoDS_Compound.hxx>
#include <TopoDS_Edge.hxx> #include <TopoDS_Edge.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Vertex.hxx> #include <TopoDS_Vertex.hxx>
#include <TopExp_Explorer.hxx>
#include <Geom_Curve.hxx> #include <Geom_Curve.hxx>
#include <Geom_Surface.hxx> #include <Geom_Surface.hxx>
@ -48,25 +52,22 @@
#include <Geom_Circle.hxx> #include <Geom_Circle.hxx>
#include <Geom_Ellipse.hxx> #include <Geom_Ellipse.hxx>
#include <Geom_BezierCurve.hxx> #include <Geom_BezierCurve.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_BSplineSurface.hxx> #include <Geom_BSplineSurface.hxx>
#include <GeomFill_Line.hxx> #include <GeomFill_Line.hxx>
#include <GeomFill_AppSurf.hxx> #include <GeomFill_AppSurf.hxx>
#include <GeomFill_SectionGenerator.hxx> #include <GeomFill_SectionGenerator.hxx>
#include <GeomAPI_PointsToBSplineSurface.hxx>
#include <Precision.hxx> #include <GeomAPI_PointsToBSpline.hxx>
#include <Standard_ConstructionError.hxx>
#include <TColGeom_SequenceOfCurve.hxx> #include <TColGeom_SequenceOfCurve.hxx>
#include <ShapeFix_Face.hxx>
#include <GeomAPI_PointsToBSplineSurface.hxx>
#include <Geom_BSplineCurve.hxx>
#include <GeomAPI_PointsToBSpline.hxx>
#include <TColgp_SequenceOfPnt.hxx> #include <TColgp_SequenceOfPnt.hxx>
#include <TColgp_Array1OfPnt.hxx> #include <TColgp_Array1OfPnt.hxx>
//#include <BRepTools.hxx> #include <Precision.hxx>
#include <Standard_ConstructionError.hxx>
//======================================================================= //=======================================================================
//function : GetID //function : GetID
@ -78,7 +79,6 @@ const Standard_GUID& GEOMImpl_FillingDriver::GetID()
return aFillingDriver; return aFillingDriver;
} }
//======================================================================= //=======================================================================
//function : GEOMImpl_FillingDriver //function : GEOMImpl_FillingDriver
//purpose : //purpose :
@ -290,7 +290,11 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
App.SurfUMults(), App.SurfVMults(), App.UDegree(), App.VDegree()); App.SurfUMults(), App.SurfVMults(), App.UDegree(), App.VDegree());
if (GBS.IsNull()) return 0; if (GBS.IsNull()) return 0;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
aShape = BRepBuilderAPI_MakeFace(GBS, Precision::Confusion());
#else
aShape = BRepBuilderAPI_MakeFace(GBS); aShape = BRepBuilderAPI_MakeFace(GBS);
#endif
} }
else { else {
// implemented by skl 20.03.2008 for bug 16568 // implemented by skl 20.03.2008 for bug 16568
@ -349,7 +353,11 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
} }
GeomAPI_PointsToBSplineSurface PTB(Points,mindeg,maxdeg,GeomAbs_C2,tol3d); GeomAPI_PointsToBSplineSurface PTB(Points,mindeg,maxdeg,GeomAbs_C2,tol3d);
Handle(Geom_BSplineSurface) BS = PTB.Surface(); Handle(Geom_BSplineSurface) BS = PTB.Surface();
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
BRepBuilderAPI_MakeFace BB (BS, Precision::Confusion());
#else
BRepBuilderAPI_MakeFace BB (BS); BRepBuilderAPI_MakeFace BB (BS);
#endif
TopoDS_Face NewF = BB.Face(); TopoDS_Face NewF = BB.Face();
Handle(ShapeFix_Face) sff = new ShapeFix_Face(NewF); Handle(ShapeFix_Face) sff = new ShapeFix_Face(NewF);
sff->Perform(); sff->Perform();

View File

@ -33,6 +33,8 @@
#include <GEOMImpl_HealingDriver.hxx> #include <GEOMImpl_HealingDriver.hxx>
#include <GEOMImpl_Types.hxx> #include <GEOMImpl_Types.hxx>
#include <GEOMImpl_IHealing.hxx> #include <GEOMImpl_IHealing.hxx>
#include <GEOMImpl_IVector.hxx>
#include <GEOMImpl_VectorDriver.hxx>
#include <GEOMImpl_CopyDriver.hxx> #include <GEOMImpl_CopyDriver.hxx>
#include <Basics_OCCTVersion.hxx> #include <Basics_OCCTVersion.hxx>
@ -819,18 +821,30 @@ Handle(GEOM_Object) GEOMImpl_IHealingOperations::ChangeOrientation (Handle(GEOM_
if (aLastFunction.IsNull()) if (aLastFunction.IsNull())
return NULL; //There is no function which creates an object to be processed return NULL; //There is no function which creates an object to be processed
if (theObject->GetType() == GEOM_VECTOR) { // Mantis issue 21066
//Add the function
aFunction = theObject->AddFunction(GEOMImpl_VectorDriver::GetID(), VECTOR_REVERSE);
//Check if the function is set correctly
if (aFunction.IsNull()) return NULL;
if (aFunction->GetDriverGUID() != GEOMImpl_VectorDriver::GetID()) return NULL;
// prepare "data container" class IVector
GEOMImpl_IVector aVI (aFunction);
aVI.SetCurve(aLastFunction);
}
else {
//Add the function //Add the function
aFunction = theObject->AddFunction(GEOMImpl_HealingDriver::GetID(), CHANGE_ORIENTATION); aFunction = theObject->AddFunction(GEOMImpl_HealingDriver::GetID(), CHANGE_ORIENTATION);
if (aFunction.IsNull())
return NULL;
//Check if the function is set correctly //Check if the function is set correctly
if (aFunction.IsNull()) return NULL;
if (aFunction->GetDriverGUID() != GEOMImpl_HealingDriver::GetID()) return NULL; if (aFunction->GetDriverGUID() != GEOMImpl_HealingDriver::GetID()) return NULL;
// prepare "data container" class IHealing // prepare "data container" class IHealing
GEOMImpl_IHealing HI (aFunction); GEOMImpl_IHealing HI (aFunction);
HI.SetOriginal(aLastFunction); HI.SetOriginal(aLastFunction);
}
//Compute the translation //Compute the translation
try { try {
@ -876,20 +890,32 @@ Handle(GEOM_Object) GEOMImpl_IHealingOperations::ChangeOrientationCopy (Handle(G
// Add a new object // Add a new object
Handle(GEOM_Object) aNewObject = GetEngine()->AddObject(GetDocID(), theObject->GetType()); Handle(GEOM_Object) aNewObject = GetEngine()->AddObject(GetDocID(), theObject->GetType());
if (theObject->GetType() == GEOM_VECTOR) { // Mantis issue 21066
//Add the function
aFunction = aNewObject->AddFunction(GEOMImpl_VectorDriver::GetID(), VECTOR_REVERSE);
//Check if the function is set correctly
if (aFunction.IsNull()) return NULL;
if (aFunction->GetDriverGUID() != GEOMImpl_VectorDriver::GetID()) return NULL;
// prepare "data container" class IVector
GEOMImpl_IVector aVI (aFunction);
aVI.SetCurve(aLastFunction);
}
else {
//Add the function //Add the function
aFunction = aNewObject->AddFunction(GEOMImpl_HealingDriver::GetID(), CHANGE_ORIENTATION); aFunction = aNewObject->AddFunction(GEOMImpl_HealingDriver::GetID(), CHANGE_ORIENTATION);
if (aFunction.IsNull())
return NULL;
//Check if the function is set correctly //Check if the function is set correctly
if (aFunction.IsNull()) return NULL;
if (aFunction->GetDriverGUID() != GEOMImpl_HealingDriver::GetID()) return NULL; if (aFunction->GetDriverGUID() != GEOMImpl_HealingDriver::GetID()) return NULL;
// prepare "data container" class IHealing // prepare "data container" class IHealing
GEOMImpl_IHealing HI(aFunction); GEOMImpl_IHealing aHI (aFunction);
HI.SetOriginal( aLastFunction ); aHI.SetOriginal(aLastFunction);
}
//Compute the translation // Compute the result
try { try {
#if OCC_VERSION_LARGE > 0x06010000 #if OCC_VERSION_LARGE > 0x06010000
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;

View File

@ -40,6 +40,9 @@
#include "GEOMImpl_IGlue.hxx" #include "GEOMImpl_IGlue.hxx"
#include "GEOMImpl_Block6Explorer.hxx" #include "GEOMImpl_Block6Explorer.hxx"
#include "GEOMImpl_IHealingOperations.hxx"
#include <GEOMImpl_Gen.hxx>
#include "GEOM_Function.hxx" #include "GEOM_Function.hxx"
#include "GEOM_ISubShape.hxx" #include "GEOM_ISubShape.hxx"
@ -1774,6 +1777,7 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::ReverseShape(Handle(GEOM_Object)
if (theShape.IsNull()) return NULL; if (theShape.IsNull()) return NULL;
/*
//Add a new reversed object //Add a new reversed object
Handle(GEOM_Object) aReversed = GetEngine()->AddObject(GetDocID(), theShape->GetType()); Handle(GEOM_Object) aReversed = GetEngine()->AddObject(GetDocID(), theShape->GetType());
@ -1813,6 +1817,21 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::ReverseShape(Handle(GEOM_Object)
<< " = geompy.ChangeOrientation(" << theShape << ")"; << " = geompy.ChangeOrientation(" << theShape << ")";
SetErrorCode(OK); SetErrorCode(OK);
*/
Handle(GEOM_Object) aReversed;
GEOM_Engine* anEngine = GetEngine();
//GEOMImpl_Gen* aGen = dynamic_cast<GEOMImpl_Gen*>(anEngine);
GEOMImpl_Gen* aGen = (GEOMImpl_Gen*)anEngine;
if (aGen) {
GEOMImpl_IHealingOperations* anIHealingOperations =
aGen->GetIHealingOperations(GetDocID());
aReversed = anIHealingOperations->ChangeOrientationCopy(theShape);
SetErrorCode(anIHealingOperations->GetErrorCode());
}
return aReversed; return aReversed;
} }

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <Standard_Stream.hxx> #include <Standard_Stream.hxx>
@ -29,6 +28,8 @@
#include <GEOMImpl_IMeasureOperations.hxx> #include <GEOMImpl_IMeasureOperations.hxx>
#include <Basics_OCCTVersion.hxx>
// OCCT Includes // OCCT Includes
#include <BRepBuilderAPI_MakeFace.hxx> #include <BRepBuilderAPI_MakeFace.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
@ -125,7 +126,12 @@ Standard_Integer GEOMImpl_PlaneDriver::Execute(TFunction_Logbook& log) const
if (gp_Vec(aP1, aP2).IsParallel(gp_Vec(aP1, aP3), Precision::Angular())) if (gp_Vec(aP1, aP2).IsParallel(gp_Vec(aP1, aP3), Precision::Angular()))
Standard_ConstructionError::Raise("Plane creation aborted: points lay on one line"); Standard_ConstructionError::Raise("Plane creation aborted: points lay on one line");
GC_MakePlane aMakePlane (aP1, aP2, aP3); GC_MakePlane aMakePlane (aP1, aP2, aP3);
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
aShape = BRepBuilderAPI_MakeFace(aMakePlane, -aSize, +aSize, -aSize, +aSize,
Precision::Confusion()).Shape();
#else
aShape = BRepBuilderAPI_MakeFace(aMakePlane, -aSize, +aSize, -aSize, +aSize).Shape(); aShape = BRepBuilderAPI_MakeFace(aMakePlane, -aSize, +aSize, -aSize, +aSize).Shape();
#endif
} else if (aType == PLANE_FACE) { } else if (aType == PLANE_FACE) {
Handle(GEOM_Function) aRef = aPI.GetFace(); Handle(GEOM_Function) aRef = aPI.GetFace();
TopoDS_Shape aRefShape = aRef->GetValue(); TopoDS_Shape aRefShape = aRef->GetValue();

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <GEOMImpl_ShapeDriver.hxx> #include <GEOMImpl_ShapeDriver.hxx>
@ -449,6 +448,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
aShape = C; aShape = C;
} }
/*
else if (aType == REVERSE_ORIENTATION) { else if (aType == REVERSE_ORIENTATION) {
Handle(GEOM_Function) aRefShape = aCI.GetBase(); Handle(GEOM_Function) aRefShape = aCI.GetBase();
TopoDS_Shape aShape_i = aRefShape->GetValue(); TopoDS_Shape aShape_i = aRefShape->GetValue();
@ -471,6 +471,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
aShape = tds; aShape = tds;
} }
} }
*/
else if (aType == EDGE_WIRE) { else if (aType == EDGE_WIRE) {
Handle(GEOM_Function) aRefBase = aCI.GetBase(); Handle(GEOM_Function) aRefBase = aCI.GetBase();
TopoDS_Shape aWire = aRefBase->GetValue(); TopoDS_Shape aWire = aRefBase->GetValue();

View File

@ -18,7 +18,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// GEOM_Object types // GEOM_Object types
@ -113,11 +113,11 @@
#define POINT_SURFACE_COORD 7 #define POINT_SURFACE_COORD 7
#define POINT_CURVE_LENGTH 8 #define POINT_CURVE_LENGTH 8
// Vector
#define VECTOR_TWO_PNT 1 #define VECTOR_TWO_PNT 1
#define VECTOR_DX_DY_DZ 2 #define VECTOR_DX_DY_DZ 2
#define VECTOR_TANGENT_CURVE_PAR 3 #define VECTOR_TANGENT_CURVE_PAR 3
#define VECTOR_FACE_NORMALE 4 #define VECTOR_REVERSE 4
#define VERTEX_BY_INDEX 5
#define PLANE_PNT_VEC 1 #define PLANE_PNT_VEC 1
#define PLANE_FACE 2 #define PLANE_FACE 2
@ -222,15 +222,16 @@
#define POLYLINE_POINTS 1 #define POLYLINE_POINTS 1
#define SPLINE_BEZIER 1
#define SPLINE_INTERPOLATION 2
#define CIRCLE_THREE_PNT 1 #define CIRCLE_THREE_PNT 1
#define CIRCLE_PNT_VEC_R 2 #define CIRCLE_PNT_VEC_R 2
#define CIRCLE_CENTER_TWO_PNT 3 #define CIRCLE_CENTER_TWO_PNT 3
#define SPLINE_BEZIER 1
#define SPLINE_INTERPOLATION 2
#define ELLIPSE_PNT_VEC_RR 1 #define ELLIPSE_PNT_VEC_RR 1
// Arc
#define CIRC_ARC_THREE_PNT 1 #define CIRC_ARC_THREE_PNT 1
#define CIRC_ARC_CENTER 2 #define CIRC_ARC_CENTER 2
#define ELLIPSE_ARC_CENTER_TWO_PNT 3 #define ELLIPSE_ARC_CENTER_TWO_PNT 3
@ -252,6 +253,7 @@
#define CHAMFER_SHAPE_FACES_AD 6 #define CHAMFER_SHAPE_FACES_AD 6
#define CHAMFER_SHAPE_EDGES_AD 7 #define CHAMFER_SHAPE_EDGES_AD 7
// Shape creation
#define WIRE_EDGES 1 #define WIRE_EDGES 1
#define FACE_WIRE 2 #define FACE_WIRE 2
#define SHELL_FACES 3 #define SHELL_FACES 3
@ -261,7 +263,7 @@
#define SUBSHAPE_SORTED 7 #define SUBSHAPE_SORTED 7
#define SUBSHAPE_NOT_SORTED 8 #define SUBSHAPE_NOT_SORTED 8
#define FACE_WIRES 9 #define FACE_WIRES 9
#define REVERSE_ORIENTATION 10 //#define REVERSE_ORIENTATION 10
#define EDGE_WIRE 11 #define EDGE_WIRE 11
#define EDGE_CURVE_LENGTH 12 #define EDGE_CURVE_LENGTH 12
@ -288,7 +290,10 @@
#define SKETCHER_NINE_DOUBLS 1 #define SKETCHER_NINE_DOUBLS 1
#define SKETCHER_PLANE 2 #define SKETCHER_PLANE 2
// Measures
#define CDG_MEASURE 1 #define CDG_MEASURE 1
#define VECTOR_FACE_NORMALE 4
#define VERTEX_BY_INDEX 5
#define GROUP_FUNCTION 1 #define GROUP_FUNCTION 1

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <Standard_Stream.hxx> #include <Standard_Stream.hxx>
@ -31,7 +30,9 @@
#include <BRepBuilderAPI_MakeEdge.hxx> #include <BRepBuilderAPI_MakeEdge.hxx>
#include <TopAbs.hxx> #include <TopAbs.hxx>
#include <TopExp.hxx>
#include <TopoDS.hxx> #include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Shape.hxx> #include <TopoDS_Shape.hxx>
#include <TopoDS_Vertex.hxx> #include <TopoDS_Vertex.hxx>
@ -72,7 +73,8 @@ Standard_Integer GEOMImpl_VectorDriver::Execute(TFunction_Logbook& log) const
GEOMImpl_IVector aPI (aFunction); GEOMImpl_IVector aPI (aFunction);
Standard_Integer aType = aFunction->GetType(); Standard_Integer aType = aFunction->GetType();
if (aType != VECTOR_DX_DY_DZ && aType != VECTOR_TWO_PNT && aType != VECTOR_TANGENT_CURVE_PAR) return 0; if (aType != VECTOR_DX_DY_DZ && aType != VECTOR_TWO_PNT &&
aType != VECTOR_TANGENT_CURVE_PAR && aType != VECTOR_REVERSE) return 0;
TopoDS_Shape aShape; TopoDS_Shape aShape;
@ -85,7 +87,8 @@ Standard_Integer GEOMImpl_VectorDriver::Execute(TFunction_Logbook& log) const
Standard_ConstructionError::Raise(aMsg.ToCString()); Standard_ConstructionError::Raise(aMsg.ToCString());
} }
aShape = BRepBuilderAPI_MakeEdge(P1, P2).Shape(); aShape = BRepBuilderAPI_MakeEdge(P1, P2).Shape();
} else if (aType == VECTOR_TWO_PNT) { }
else if (aType == VECTOR_TWO_PNT) {
Handle(GEOM_Function) aRefPnt1 = aPI.GetPoint1(); Handle(GEOM_Function) aRefPnt1 = aPI.GetPoint1();
Handle(GEOM_Function) aRefPnt2 = aPI.GetPoint2(); Handle(GEOM_Function) aRefPnt2 = aPI.GetPoint2();
TopoDS_Shape aShape1 = aRefPnt1->GetValue(); TopoDS_Shape aShape1 = aRefPnt1->GetValue();
@ -130,6 +133,18 @@ Standard_Integer GEOMImpl_VectorDriver::Execute(TFunction_Logbook& log) const
if(aBuilder.IsDone()) if(aBuilder.IsDone())
aShape = aBuilder.Shape(); aShape = aBuilder.Shape();
} }
else if (aType == VECTOR_REVERSE) {
Handle(GEOM_Function) aRefVec = aPI.GetCurve();
TopoDS_Shape aRefShape = aRefVec->GetValue();
if (aRefShape.ShapeType() != TopAbs_EDGE) {
Standard_TypeMismatch::Raise
("Reversed vector creation aborted : vector shape is not an edge");
}
TopoDS_Edge anE = TopoDS::Edge(aRefShape);
TopoDS_Vertex V1, V2;
TopExp::Vertices(anE, V1, V2, Standard_True);
aShape = BRepBuilderAPI_MakeEdge(V2, V1).Shape();
}
if (aShape.IsNull()) return 0; if (aShape.IsNull()) return 0;

View File

@ -31,6 +31,11 @@ from salome.kernel import termcolor
logger = Logger("salome.geom.geomtools", color = termcolor.RED) logger = Logger("salome.geom.geomtools", color = termcolor.RED)
from salome.kernel.studyedit import getActiveStudyId, getStudyEditor from salome.kernel.studyedit import getActiveStudyId, getStudyEditor
from salome.kernel.services import IDToObject
try:
from salome.gui import helper
except ImportError:
pass
_geompys = {} _geompys = {}
@ -61,6 +66,10 @@ def getGeompy(studyId = None):
return _geompys[studyId] return _geompys[studyId]
ModeWireFrame = 0
ModeShading = 1
DisplayMode=ModeShading
class GeomStudyTools: class GeomStudyTools:
""" """
This class provides several methods to manipulate geom objects in Salome This class provides several methods to manipulate geom objects in Salome
@ -82,7 +91,7 @@ class GeomStudyTools:
if GEOM is None: if GEOM is None:
GEOM = __import__("GEOM") GEOM = __import__("GEOM")
if studyEditor is None: if studyEditor is None:
studyEditor = getStudyEditor() studyEditor = helper.getStudyEditor()
self.editor = studyEditor self.editor = studyEditor
def displayShapeByName(self, shapeName, color = None): def displayShapeByName(self, shapeName, color = None):
@ -108,8 +117,60 @@ class GeomStudyTools:
if shape: if shape:
geomgui = salome.ImportComponentGUI("GEOM") geomgui = salome.ImportComponentGUI("GEOM")
geomgui.createAndDisplayGO(entry) geomgui.createAndDisplayGO(entry)
geomgui.setDisplayMode(entry, 1) geomgui.setDisplayMode(entry, DisplayMode)
if color is not None: if color is not None:
geomgui.setColor(entry, color[0], color[1], color[2]) geomgui.setColor(entry, color[0], color[1], color[2])
return True return True
return False return False
def getGeomObjectSelected(self):
'''
Returns the GEOM object currently selected in the objects browser.
'''
sobject, entry = helper.getSObjectSelected()
geomObject = self.getGeomObjectFromEntry(entry)
return geomObject
def getGeomObjectFromEntry(self,entry):
'''
Returns the GEOM object associated to the specified entry,
(the entry is the identifier of an item in the active study)
'''
if entry is None:
return None
geomObject=IDToObject(entry, self.editor.study)
return geomObject._narrow(GEOM.GEOM_Object)
#
# ==================================================================
# Use cases and demo functions
# ==================================================================
#
# How to test?
# 1. Run a SALOME application including GEOM, and create a new study
# 2. In the console, enter:
# >>> from salome.geom import geomtools
# >>> geomtools.TEST_createBox()
# 3. Select the object named "box" in the browser
# 4. In the console, enter:
# >>> geomtools.TEST_getGeomObjectSelected()
def TEST_createBox():
geompy = getGeompy()
box = geompy.MakeBoxDXDYDZ(200, 200, 200)
geompy.addToStudy( box, 'box' )
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser(1)
def TEST_getGeomObjectSelected():
tool = GeomStudyTools()
myGeomObject = tool.getGeomObjectSelected()
print myGeomObject
if __name__ == "__main__":
TEST_getGeomObjectSelected()

View File

@ -3683,7 +3683,7 @@ class geompyDC(GEOM._objref_GEOM_Gen):
## Get a vertex subshape by index depended with orientation. ## Get a vertex subshape by index depended with orientation.
# @param theShape Shape to find subshape. # @param theShape Shape to find subshape.
# @param theIndex Index to find vertex by this index. # @param theIndex Index to find vertex by this index (starting from zero)
# @return New GEOM_Object, containing the created vertex. # @return New GEOM_Object, containing the created vertex.
# #
# @ref tui_measurement_tools_page "Example" # @ref tui_measurement_tools_page "Example"

View File

@ -617,11 +617,14 @@ void GroupGUI_GroupDlg::showOnlySelected()
GEOM_Displayer* aDisplayer = getDisplayer(); GEOM_Displayer* aDisplayer = getDisplayer();
if (send == myHideSelBtn) { if (send == myHideSelBtn) {
aDisplayer->Erase(aSelList, false, true); aDisplayer->Erase(aSelList, /*forced=*/false, /*updateViewer=*/true);
} }
else { else {
aDisplayer->EraseAll(); aDisplayer->EraseAll(/*forced = false, updateViewer = true*/);
aDisplayer->Display(aSelList, true); aDisplayer->Display(aSelList, true);
// for the case when selected ids were not displayed in the viewer: Mantis issue 0021367
highlightSubShapes();
} }
} }
@ -851,6 +854,7 @@ void GroupGUI_GroupDlg::activateSelection()
SALOME_Prs* aPrs = aDisplayer->buildSubshapePresentation(aSubShape, anEntry, aView); SALOME_Prs* aPrs = aDisplayer->buildSubshapePresentation(aSubShape, anEntry, aView);
if (aPrs) { if (aPrs) {
displayPreview(aPrs, true, false); // append, do not update displayPreview(aPrs, true, false); // append, do not update
// TODO: map or delete Prs
} }
} }
} }
@ -959,16 +963,17 @@ void GroupGUI_GroupDlg::highlightSubShapes()
SALOME_View* aView = dynamic_cast<SALOME_View*>(aViewModel); SALOME_View* aView = dynamic_cast<SALOME_View*>(aViewModel);
if (aView == 0) return; if (aView == 0) return;
// TODO: use here GEOMBase_Helper::myPreview instead of ic->DisplayedObjects() // TODO??: use here GEOMBase_Helper::myPreview instead of ic->DisplayedObjects()
OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)aViewManager)->getOCCViewer(); OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)aViewManager)->getOCCViewer();
Handle(AIS_InteractiveContext) ic = v3d->getAISContext(); Handle(AIS_InteractiveContext) ic = v3d->getAISContext();
AIS_ListOfInteractive List; AIS_ListOfInteractive List;
ic->DisplayedObjects(List); //ic->DisplayedObjects(List);
ic->ObjectsInside(List); // Mantis issue 0021367
SALOME_ListIO aSelList; SALOME_ListIO aSelList;
// To highlight the selected subshape in Object Browser, if it's already pudlished under the main shape // To highlight the selected subshape in Object Browser, if it's already published under the main shape
GEOM::GEOM_ILocalOperations_var aLocOp = getGeomEngine()->GetILocalOperations(getStudyId()); GEOM::GEOM_ILocalOperations_var aLocOp = getGeomEngine()->GetILocalOperations(getStudyId());
QMap<int, QString> childsMap; QMap<int, QString> childsMap;
SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>(app->activeStudy()); SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>(app->activeStudy());

View File

@ -18,13 +18,11 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File: IGESExport.cxx // File: IGESExport.cxx
// Created: Wed May 19 14:49:45 2004 // Created: Wed May 19 14:49:45 2004
// Author: Pavel TELKOV // Author: Pavel TELKOV
// <ptv@mutex.nnov.opencascade.com>
//
#include "utilities.h" #include "utilities.h"
#include <Basics_Utils.hxx> #include <Basics_Utils.hxx>
@ -68,7 +66,9 @@ IGESEXPORT_EXPORT
const TCollection_AsciiString& theFormatName ) const TCollection_AsciiString& theFormatName )
{ {
MESSAGE("Export IGES into file " << theFileName.ToCString()); MESSAGE("Export IGES into file " << theFileName.ToCString());
try // commented for 0021350: Please don't catch exceptions silently and send an
// inappropriate error message instead, it is disturbing for the user and for us
//try
{ {
// define, whether to write only faces (5.1 IGES format) // define, whether to write only faces (5.1 IGES format)
// or shells and solids also (5.3 IGES format) // or shells and solids also (5.3 IGES format)
@ -99,10 +99,10 @@ IGESEXPORT_EXPORT
if ( ok ) if ( ok )
return 1; return 1;
} }
catch(Standard_Failure) //catch(Standard_Failure)
{ //{
//THROW_SALOME_CORBA_EXCEPTION("Exception catched in IGESExport", SALOME::BAD_PARAM); // //THROW_SALOME_CORBA_EXCEPTION("Exception catched in IGESExport", SALOME::BAD_PARAM);
} //}
return 0; return 0;
} }
} }

View File

@ -15,7 +15,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTDS_DataMapOfIntegerMapOfInteger_HeaderFile #ifndef _NMTDS_DataMapOfIntegerMapOfInteger_HeaderFile
#define _NMTDS_DataMapOfIntegerMapOfInteger_HeaderFile #define _NMTDS_DataMapOfIntegerMapOfInteger_HeaderFile
@ -32,6 +31,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class TColStd_MapOfInteger; class TColStd_MapOfInteger;
@ -39,7 +39,6 @@ class TColStd_MapIntegerHasher;
class NMTDS_DataMapNodeOfDataMapOfIntegerMapOfInteger; class NMTDS_DataMapNodeOfDataMapOfIntegerMapOfInteger;
class NMTDS_DataMapIteratorOfDataMapOfIntegerMapOfInteger; class NMTDS_DataMapIteratorOfDataMapOfIntegerMapOfInteger;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -47,108 +46,69 @@ class NMTDS_DataMapIteratorOfDataMapOfIntegerMapOfInteger;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTDS_DataMapOfIntegerMapOfInteger : public TCollection_BasicMap { class NMTDS_DataMapOfIntegerMapOfInteger : public TCollection_BasicMap
{
public: public:
void* operator new(size_t,void* anAddress) void* operator new(size_t,void* anAddress)
{ { return anAddress; }
return anAddress;
}
void* operator new(size_t size) void* operator new(size_t size)
{ { return Standard::Allocate(size); }
return Standard::Allocate(size);
}
void operator delete(void *anAddress) void operator delete(void *anAddress)
{ { if (anAddress) Standard::Free((Standard_Address&)anAddress); }
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
// Methods PUBLIC // Methods PUBLIC
// //
Standard_EXPORT NMTDS_DataMapOfIntegerMapOfInteger(const Standard_Integer NbBuckets = 1); Standard_EXPORT NMTDS_DataMapOfIntegerMapOfInteger(const Standard_Integer NbBuckets = 1);
Standard_EXPORT NMTDS_DataMapOfIntegerMapOfInteger& Assign(const NMTDS_DataMapOfIntegerMapOfInteger& Other); Standard_EXPORT NMTDS_DataMapOfIntegerMapOfInteger& Assign(const NMTDS_DataMapOfIntegerMapOfInteger& Other);
NMTDS_DataMapOfIntegerMapOfInteger& operator =(const NMTDS_DataMapOfIntegerMapOfInteger& Other) NMTDS_DataMapOfIntegerMapOfInteger& operator =(const NMTDS_DataMapOfIntegerMapOfInteger& Other)
{ {
return Assign(Other); return Assign(Other);
} }
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets); Standard_EXPORT void ReSize(const Standard_Integer NbBuckets);
Standard_EXPORT void Clear(); Standard_EXPORT void Clear();
~NMTDS_DataMapOfIntegerMapOfInteger() ~NMTDS_DataMapOfIntegerMapOfInteger()
{ {
Clear(); Clear();
} }
Standard_EXPORT Standard_Boolean Bind (const Standard_Integer& K,const TColStd_MapOfInteger& I); Standard_EXPORT Standard_Boolean Bind (const Standard_Integer& K,const TColStd_MapOfInteger& I);
Standard_EXPORT Standard_Boolean IsBound (const Standard_Integer& K) const; Standard_EXPORT Standard_Boolean IsBound (const Standard_Integer& K) const;
Standard_EXPORT Standard_Boolean UnBind (const Standard_Integer& K); Standard_EXPORT Standard_Boolean UnBind (const Standard_Integer& K);
Standard_EXPORT const TColStd_MapOfInteger& Find (const Standard_Integer& K) const; Standard_EXPORT const TColStd_MapOfInteger& Find (const Standard_Integer& K) const;
const TColStd_MapOfInteger& operator()(const Standard_Integer& K) const const TColStd_MapOfInteger& operator()(const Standard_Integer& K) const
{ {
return Find(K); return Find(K);
} }
Standard_EXPORT TColStd_MapOfInteger& ChangeFind(const Standard_Integer& K); Standard_EXPORT TColStd_MapOfInteger& ChangeFind(const Standard_Integer& K);
TColStd_MapOfInteger& operator()(const Standard_Integer& K) TColStd_MapOfInteger& operator()(const Standard_Integer& K)
{ {
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const Standard_Integer& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT NMTDS_DataMapOfIntegerMapOfInteger(const NMTDS_DataMapOfIntegerMapOfInteger& Other); Standard_EXPORT NMTDS_DataMapOfIntegerMapOfInteger(const NMTDS_DataMapOfIntegerMapOfInteger& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile #ifndef _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile
#define _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile #define _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -42,7 +42,6 @@ class BooleanOperations_IndexedDataMapOfShapeInteger;
class TColStd_MapIntegerHasher; class TColStd_MapIntegerHasher;
class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger; class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInte
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger : public TCollection_BasicMap { class NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger : public TCollection_BasicMap {
@ -132,41 +132,21 @@ Standard_EXPORT const BooleanOperations_IndexedDataMapOfShapeInteger& FindFromK
Standard_EXPORT BooleanOperations_IndexedDataMapOfShapeInteger& ChangeFromKey(const Standard_Integer& K) ; Standard_EXPORT BooleanOperations_IndexedDataMapOfShapeInteger& ChangeFromKey(const Standard_Integer& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const Standard_Integer& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger(const NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& Other); Standard_EXPORT NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger(const NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile #ifndef _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile
#define _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile #define _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -42,7 +42,6 @@ class TopoDS_Shape;
class TColStd_MapIntegerHasher; class TColStd_MapIntegerHasher;
class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape; class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTDS_IndexedDataMapOfIntegerShape : public TCollection_BasicMap { class NMTDS_IndexedDataMapOfIntegerShape : public TCollection_BasicMap {
@ -132,19 +132,10 @@ Standard_EXPORT const TopoDS_Shape& FindFromKey(const Standard_Integer& K) cons
Standard_EXPORT TopoDS_Shape& ChangeFromKey(const Standard_Integer& K) ; Standard_EXPORT TopoDS_Shape& ChangeFromKey(const Standard_Integer& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const Standard_Integer& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:

View File

@ -15,7 +15,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTDS_IndexedDataMapOfShapeBndSphere_HeaderFile #ifndef _NMTDS_IndexedDataMapOfShapeBndSphere_HeaderFile
#define _NMTDS_IndexedDataMapOfShapeBndSphere_HeaderFile #define _NMTDS_IndexedDataMapOfShapeBndSphere_HeaderFile
@ -32,6 +31,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -40,7 +40,6 @@ class NMTDS_BndSphere;
class TopTools_ShapeMapHasher; class TopTools_ShapeMapHasher;
class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBndSphere; class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBndSphere;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -48,6 +47,7 @@ class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBndSphere;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTDS_IndexedDataMapOfShapeBndSphere : public TCollection_BasicMap { class NMTDS_IndexedDataMapOfShapeBndSphere : public TCollection_BasicMap {
@ -130,41 +130,21 @@ Standard_EXPORT const NMTDS_BndSphere& FindFromKey(const TopoDS_Shape& K) const
Standard_EXPORT NMTDS_BndSphere& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT NMTDS_BndSphere& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:
// Methods PRIVATE // Methods PRIVATE
// //
Standard_EXPORT NMTDS_IndexedDataMapOfShapeBndSphere(const NMTDS_IndexedDataMapOfShapeBndSphere& Other); Standard_EXPORT NMTDS_IndexedDataMapOfShapeBndSphere(const NMTDS_IndexedDataMapOfShapeBndSphere& Other);
// Fields PRIVATE
//
}; };
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
// //
#endif #endif

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTDS_IndexedDataMapOfShapeBox_HeaderFile #ifndef _NMTDS_IndexedDataMapOfShapeBox_HeaderFile
#define _NMTDS_IndexedDataMapOfShapeBox_HeaderFile #define _NMTDS_IndexedDataMapOfShapeBox_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -43,7 +43,6 @@ class Bnd_Box;
class TopTools_ShapeMapHasher; class TopTools_ShapeMapHasher;
class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox; class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -51,6 +50,7 @@ class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTDS_IndexedDataMapOfShapeBox : public TCollection_BasicMap { class NMTDS_IndexedDataMapOfShapeBox : public TCollection_BasicMap {
@ -133,9 +133,10 @@ Standard_EXPORT const Bnd_Box& FindFromKey(const TopoDS_Shape& K) const;
Standard_EXPORT Bnd_Box& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT Bnd_Box& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected: protected:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTTools_DataMapOfIntegerFaceInfo_HeaderFile #ifndef _NMTTools_DataMapOfIntegerFaceInfo_HeaderFile
#define _NMTTools_DataMapOfIntegerFaceInfo_HeaderFile #define _NMTTools_DataMapOfIntegerFaceInfo_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class NMTTools_FaceInfo; class NMTTools_FaceInfo;
@ -42,7 +42,6 @@ class TColStd_MapIntegerHasher;
class NMTTools_DataMapNodeOfDataMapOfIntegerFaceInfo; class NMTTools_DataMapNodeOfDataMapOfIntegerFaceInfo;
class NMTTools_DataMapIteratorOfDataMapOfIntegerFaceInfo; class NMTTools_DataMapIteratorOfDataMapOfIntegerFaceInfo;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class NMTTools_DataMapIteratorOfDataMapOfIntegerFaceInfo;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTTools_DataMapOfIntegerFaceInfo : public TCollection_BasicMap { class NMTTools_DataMapOfIntegerFaceInfo : public TCollection_BasicMap {
@ -116,10 +116,10 @@ Standard_EXPORT NMTTools_FaceInfo& ChangeFind(const Standard_Integer& K) ;
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const Standard_Integer& K);
#endif
protected: protected:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile #ifndef _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile
#define _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile #define _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_NoSuchObject; class Standard_NoSuchObject;
class BOPTools_ListOfPaveBlock; class BOPTools_ListOfPaveBlock;
@ -42,7 +42,6 @@ class TColStd_MapIntegerHasher;
class NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock; class NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock;
class NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock; class NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTTools_DataMapOfIntegerListOfPaveBlock : public TCollection_BasicMap { class NMTTools_DataMapOfIntegerListOfPaveBlock : public TCollection_BasicMap {
@ -116,20 +116,10 @@ Standard_EXPORT BOPTools_ListOfPaveBlock& ChangeFind(const Standard_Integer& K
return ChangeFind(K); return ChangeFind(K);
} }
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address Find1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFind1 (const Standard_Integer& K);
#endif
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private: private:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile #ifndef _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile
#define _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile #define _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -42,7 +42,6 @@ class TColStd_IndexedMapOfInteger;
class TColStd_MapIntegerHasher; class TColStd_MapIntegerHasher;
class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger; class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -50,6 +49,7 @@ class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTTools_IndexedDataMapOfIndexedMapOfInteger : public TCollection_BasicMap { class NMTTools_IndexedDataMapOfIndexedMapOfInteger : public TCollection_BasicMap {
@ -132,9 +132,10 @@ Standard_EXPORT const TColStd_IndexedMapOfInteger& FindFromKey(const Standard_I
Standard_EXPORT TColStd_IndexedMapOfInteger& ChangeFromKey(const Standard_Integer& K) ; Standard_EXPORT TColStd_IndexedMapOfInteger& ChangeFromKey(const Standard_Integer& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const Standard_Integer& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const Standard_Integer& K);
#endif
protected: protected:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTTools_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile #ifndef _NMTTools_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile
#define _NMTTools_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile #define _NMTTools_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -43,7 +43,6 @@ class TopTools_IndexedMapOfShape;
class TopTools_ShapeMapHasher; class TopTools_ShapeMapHasher;
class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape; class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -51,6 +50,7 @@ class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTTools_IndexedDataMapOfShapeIndexedMapOfShape : public TCollection_BasicMap { class NMTTools_IndexedDataMapOfShapeIndexedMapOfShape : public TCollection_BasicMap {
@ -133,9 +133,10 @@ Standard_EXPORT const TopTools_IndexedMapOfShape& FindFromKey(const TopoDS_Shap
Standard_EXPORT TopTools_IndexedMapOfShape& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT TopTools_IndexedMapOfShape& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected: protected:

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile #ifndef _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
#define _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile #define _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
@ -35,6 +34,7 @@
#ifndef _Standard_Boolean_HeaderFile #ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx> #include <Standard_Boolean.hxx>
#endif #endif
class Standard_DomainError; class Standard_DomainError;
class Standard_OutOfRange; class Standard_OutOfRange;
class Standard_NoSuchObject; class Standard_NoSuchObject;
@ -43,7 +43,6 @@ class BOPTools_PaveBlock;
class TopTools_ShapeMapHasher; class TopTools_ShapeMapHasher;
class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock; class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock;
#ifndef _Standard_HeaderFile #ifndef _Standard_HeaderFile
#include <Standard.hxx> #include <Standard.hxx>
#endif #endif
@ -51,6 +50,7 @@ class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock;
#include <Standard_Macro.hxx> #include <Standard_Macro.hxx>
#endif #endif
#include <Basics_OCCTVersion.hxx>
class NMTTools_IndexedDataMapOfShapePaveBlock : public TCollection_BasicMap { class NMTTools_IndexedDataMapOfShapePaveBlock : public TCollection_BasicMap {
@ -133,9 +133,10 @@ Standard_EXPORT const BOPTools_PaveBlock& FindFromKey(const TopoDS_Shape& K) co
Standard_EXPORT BOPTools_PaveBlock& ChangeFromKey(const TopoDS_Shape& K) ; Standard_EXPORT BOPTools_PaveBlock& ChangeFromKey(const TopoDS_Shape& K) ;
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
Standard_EXPORT Standard_Address FindFromKey1 (const TopoDS_Shape& K) const;
Standard_EXPORT Standard_Address ChangeFromKey1 (const TopoDS_Shape& K);
#endif
protected: protected:

View File

@ -1,4 +1,4 @@
-- Copyright (C) 2007-2011 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, -- Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@ -385,6 +385,12 @@ is
nF2 :Integer from Standard; nF2 :Integer from Standard;
aLs :out ListOfPaveBlock from BOPTools); aLs :out ListOfPaveBlock from BOPTools);
--modified by NIZNHY-PKV Mon Oct 17 11:43:23 2011f
RealSplitsInFace(me:out;
nF1 :Integer from Standard;
aLPB :out ListOfPaveBlock from BOPTools);
--modified by NIZNHY-PKV Mon Oct 17 11:43:39 2011t
RealSplitsOnEdge(me:out; RealSplitsOnEdge(me:out;
nE1 :Integer from Standard; nE1 :Integer from Standard;
nE2 :Integer from Standard; nE2 :Integer from Standard;
@ -413,7 +419,6 @@ is
aBC : out Curve from BOPTools); aBC : out Curve from BOPTools);
PutBoundPaveOnCurve (me:out; PutBoundPaveOnCurve (me:out;
aBC :out Curve from BOPTools; aBC :out Curve from BOPTools;
aFF :out SSInterference from BOPTools); aFF :out SSInterference from BOPTools);
@ -497,7 +502,6 @@ is
aPB2 : PaveBlock from BOPTools) aPB2 : PaveBlock from BOPTools)
returns Boolean from Standard; returns Boolean from Standard;
--modified by NIZNHY-PKV Wed Feb 09 10:10:48 2011f
FillFaceInfo (me:out) FillFaceInfo (me:out)
is protected; is protected;
@ -506,7 +510,10 @@ is
aMVStick: MapOfInteger from TColStd; aMVStick: MapOfInteger from TColStd;
aTolR3D: out Real from Standard) aTolR3D: out Real from Standard)
is protected; is protected;
--modified by NIZNHY-PKV Wed Feb 09 10:11:52 2011t
PutClosingPaveOnCurve (me:out;
aBC :out Curve from BOPTools;
aFF :out SSInterference from BOPTools);
fields fields
myDS : PShapesDataStructure from NMTDS is protected; myDS : PShapesDataStructure from NMTDS is protected;
@ -527,7 +534,5 @@ fields
myDSIt : PIterator from NMTDS is protected; myDSIt : PIterator from NMTDS is protected;
myCompositeShape : Shape from TopoDS is protected; myCompositeShape : Shape from TopoDS is protected;
myIP : PInterfPool from NMTDS is protected; myIP : PInterfPool from NMTDS is protected;
--modified by NIZNHY-PKV Wed Feb 09 10:51:50 2011f
myFaceInfo : DataMapOfIntegerFaceInfo from NMTTools is protected; myFaceInfo : DataMapOfIntegerFaceInfo from NMTTools is protected;
--modified by NIZNHY-PKV Wed Feb 09 10:51:50 2011t
end PaveFiller; end PaveFiller;

View File

@ -23,6 +23,13 @@
#ifndef _NMTTools_PaveFiller_HeaderFile #ifndef _NMTTools_PaveFiller_HeaderFile
#define _NMTTools_PaveFiller_HeaderFile #define _NMTTools_PaveFiller_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _NMTDS_PShapesDataStructure_HeaderFile #ifndef _NMTDS_PShapesDataStructure_HeaderFile
#include <NMTDS_PShapesDataStructure.hxx> #include <NMTDS_PShapesDataStructure.hxx>
#endif #endif
@ -99,16 +106,8 @@ class TopTools_DataMapOfShapeShape;
class TColStd_MapOfInteger; class TColStd_MapOfInteger;
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
class NMTTools_PaveFiller { class NMTTools_PaveFiller {
public: public:
void* operator new(size_t,void* anAddress) void* operator new(size_t,void* anAddress)
@ -123,298 +122,205 @@ public:
{ {
if (anAddress) Standard::Free((Standard_Address&)anAddress); if (anAddress) Standard::Free((Standard_Address&)anAddress);
} }
// Methods PUBLIC
//
Standard_EXPORT NMTTools_PaveFiller(); Standard_EXPORT NMTTools_PaveFiller();
Standard_EXPORT virtual ~NMTTools_PaveFiller(); Standard_EXPORT virtual ~NMTTools_PaveFiller();
Standard_EXPORT void SetCompositeShape(const TopoDS_Shape& aS) ; Standard_EXPORT void SetCompositeShape(const TopoDS_Shape& aS) ;
Standard_EXPORT const TopoDS_Shape& CompositeShape() const; Standard_EXPORT const TopoDS_Shape& CompositeShape() const;
Standard_EXPORT NMTDS_PShapesDataStructure DS() ; Standard_EXPORT NMTDS_PShapesDataStructure DS() ;
Standard_EXPORT NMTDS_PIterator DSIt() ; Standard_EXPORT NMTDS_PIterator DSIt() ;
Standard_EXPORT NMTDS_PInterfPool IP() ; Standard_EXPORT NMTDS_PInterfPool IP() ;
Standard_EXPORT virtual void Perform() ; Standard_EXPORT virtual void Perform() ;
Standard_EXPORT Standard_Boolean IsDone() const; Standard_EXPORT Standard_Boolean IsDone() const;
Standard_EXPORT const IntTools_Context& Context() const; Standard_EXPORT const IntTools_Context& Context() const;
Standard_EXPORT IntTools_Context& ChangeContext() ; Standard_EXPORT IntTools_Context& ChangeContext() ;
Standard_EXPORT const BOPTools_PavePool& PavePool() const; Standard_EXPORT const BOPTools_PavePool& PavePool() const;
Standard_EXPORT BOPTools_PavePool& ChangePavePool() ; Standard_EXPORT BOPTools_PavePool& ChangePavePool() ;
Standard_EXPORT const NMTTools_CommonBlockPool& CommonBlockPool() const; Standard_EXPORT const NMTTools_CommonBlockPool& CommonBlockPool() const;
Standard_EXPORT NMTTools_CommonBlockPool& ChangeCommonBlockPool() ; Standard_EXPORT NMTTools_CommonBlockPool& ChangeCommonBlockPool() ;
Standard_EXPORT const BOPTools_SplitShapesPool& SplitShapesPool() const; Standard_EXPORT const BOPTools_SplitShapesPool& SplitShapesPool() const;
Standard_EXPORT BOPTools_SplitShapesPool& ChangeSplitShapesPool() ; Standard_EXPORT BOPTools_SplitShapesPool& ChangeSplitShapesPool() ;
Standard_EXPORT Standard_Integer FindSDVertex(const Standard_Integer nV) const; Standard_EXPORT Standard_Integer FindSDVertex(const Standard_Integer nV) const;
Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ; Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ; Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
Standard_EXPORT Standard_Integer SplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,TColStd_ListOfInteger& aLs) ; Standard_EXPORT Standard_Integer SplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,TColStd_ListOfInteger& aLs) ;
Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ; Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ; Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT Standard_Integer SplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Integer SplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT Standard_Integer SplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT Standard_Integer SplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Integer SplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT Standard_Integer SplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Integer SplitsFace(const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ; Standard_EXPORT Standard_Integer SplitsFace(const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
Standard_EXPORT Standard_Integer CommonBlocksFace(const Standard_Integer nF,NMTTools_ListOfCommonBlock& aLCB) ; Standard_EXPORT Standard_Integer CommonBlocksFace(const Standard_Integer nF,NMTTools_ListOfCommonBlock& aLCB) ;
Standard_EXPORT void PrepareFace(const Standard_Integer nF,TopoDS_Face& aF) ; Standard_EXPORT void PrepareFace(const Standard_Integer nF,TopoDS_Face& aF) ;
Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB) ; Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB) ;
Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB,Standard_Integer& aIsCommonBlock) ; Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB,Standard_Integer& aIsCommonBlock) ;
Standard_EXPORT void RealSplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT void RealSplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT Standard_Boolean HasRealSplitsInOnFace(const Standard_Integer nF1,const Standard_Integer nF2) ; Standard_EXPORT Standard_Boolean HasRealSplitsInOnFace(const Standard_Integer nF1,const Standard_Integer nF2) ;
Standard_EXPORT void RealSplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT void RealSplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT void RealSplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT void RealSplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT void RealSplitsInFace(const Standard_Integer nF1,BOPTools_ListOfPaveBlock& aLPB) ;
Standard_EXPORT void RealSplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT void RealSplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT void RealSplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT void RealSplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT void RealSplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ; Standard_EXPORT void RealSplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
Standard_EXPORT void PrepareSetForFace(const Standard_Integer nF1,const Standard_Integer nF2,const BOPTools_ListOfPaveBlock& aLPB,BOPTools_PaveSet& aPSF) ; Standard_EXPORT void PrepareSetForFace(const Standard_Integer nF1,const Standard_Integer nF2,const BOPTools_ListOfPaveBlock& aLPB,BOPTools_PaveSet& aPSF) ;
Standard_EXPORT void PutPaveOnCurve(const BOPTools_PaveSet& aPSF,const Standard_Real aTol,BOPTools_Curve& aBC) ; Standard_EXPORT void PutPaveOnCurve(const BOPTools_PaveSet& aPSF,const Standard_Real aTol,BOPTools_Curve& aBC) ;
Standard_EXPORT void PutBoundPaveOnCurve(BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ; Standard_EXPORT void PutBoundPaveOnCurve(BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ;
Standard_EXPORT void PutBoundPaveOnCurve(const gp_Pnt& aP,const Standard_Real aT,BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ; Standard_EXPORT void PutBoundPaveOnCurve(const gp_Pnt& aP,const Standard_Real aT,BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ;
Standard_EXPORT Standard_Boolean FindPave(const gp_Pnt& aP,const Standard_Real aTpV,const BOPTools_PaveSet& aPS,BOPTools_Pave& aPV) ; Standard_EXPORT Standard_Boolean FindPave(const gp_Pnt& aP,const Standard_Real aTpV,const BOPTools_PaveSet& aPS,BOPTools_Pave& aPV) ;
Standard_EXPORT Standard_Integer CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,const BOPTools_PaveBlock& aPBR,const Standard_Real aTol) ; Standard_EXPORT Standard_Integer CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,const BOPTools_PaveBlock& aPBR,const Standard_Real aTol) ;
Standard_EXPORT Standard_Boolean IsExistingPaveBlock(const BOPTools_PaveBlock& aPB,const BOPTools_ListOfPaveBlock& aLPB,const Standard_Real aTol) ; Standard_EXPORT Standard_Boolean IsExistingPaveBlock(const BOPTools_PaveBlock& aPB,const BOPTools_ListOfPaveBlock& aLPB,const Standard_Real aTol) ;
Standard_EXPORT void MakePCurves() ; Standard_EXPORT void MakePCurves() ;
Standard_EXPORT const NMTTools_IndexedDataMapOfIndexedMapOfInteger& AloneVertices() const; Standard_EXPORT const NMTTools_IndexedDataMapOfIndexedMapOfInteger& AloneVertices() const;
Standard_EXPORT Standard_Boolean IsExistingPaveBlock(const BOPTools_PaveBlock& aPB,const TopTools_ListOfShape& aLPB,const Standard_Real aTol) ; Standard_EXPORT Standard_Boolean IsExistingPaveBlock(const BOPTools_PaveBlock& aPB,const TopTools_ListOfShape& aLPB,const Standard_Real aTol) ;
Standard_EXPORT Standard_Boolean CheckCoincidence(const BOPTools_PaveBlock& aPB,const BOPTools_ListOfPaveBlock& aLPB) ; Standard_EXPORT Standard_Boolean CheckCoincidence(const BOPTools_PaveBlock& aPB,const BOPTools_ListOfPaveBlock& aLPB) ;
Standard_EXPORT Standard_Integer CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,const TopoDS_Edge& aE,const Standard_Real aTol) ; Standard_EXPORT Standard_Integer CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,const TopoDS_Edge& aE,const Standard_Real aTol) ;
Standard_EXPORT void SharedEdges(const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLNE,TopTools_ListOfShape& aLSE) ; Standard_EXPORT void SharedEdges(const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLNE,TopTools_ListOfShape& aLSE) ;
Standard_EXPORT void FuseVertices(const TopoDS_Shape& aC,TopTools_DataMapOfShapeShape& aDMVV) const; Standard_EXPORT void FuseVertices(const TopoDS_Shape& aC,TopTools_DataMapOfShapeShape& aDMVV) const;
Standard_EXPORT void TreatPaveBlocks(NMTTools_ListOfCommonBlock& theLCB) ; Standard_EXPORT void TreatPaveBlocks(NMTTools_ListOfCommonBlock& theLCB) ;
Standard_EXPORT BOPTools_PavePool& ChangePavePoolNew() ; Standard_EXPORT BOPTools_PavePool& ChangePavePoolNew() ;
Standard_EXPORT Standard_Boolean CheckCoincidence(const BOPTools_PaveBlock& aPB1,const BOPTools_PaveBlock& aPB2) ; Standard_EXPORT Standard_Boolean CheckCoincidence(const BOPTools_PaveBlock& aPB1,const BOPTools_PaveBlock& aPB2) ;
Standard_EXPORT void PutClosingPaveOnCurve(BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ;
protected: protected:
// Methods PROTECTED
//
Standard_EXPORT virtual void Init() ; Standard_EXPORT virtual void Init() ;
Standard_EXPORT virtual void Clear() ; Standard_EXPORT virtual void Clear() ;
Standard_EXPORT virtual void PerformVV() ; Standard_EXPORT virtual void PerformVV() ;
Standard_EXPORT virtual void PerformVE() ; Standard_EXPORT virtual void PerformVE() ;
Standard_EXPORT virtual void PerformVF() ; Standard_EXPORT virtual void PerformVF() ;
Standard_EXPORT virtual void PerformEE() ; Standard_EXPORT virtual void PerformEE() ;
Standard_EXPORT virtual void PerformEF() ; Standard_EXPORT virtual void PerformEF() ;
Standard_EXPORT virtual void PerformFF() ; Standard_EXPORT virtual void PerformFF() ;
Standard_EXPORT void MakeSplitEdges() ; Standard_EXPORT void MakeSplitEdges() ;
Standard_EXPORT virtual void PreparePaveBlocks(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ; Standard_EXPORT virtual void PreparePaveBlocks(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;
Standard_EXPORT void CorrectShrunkRanges(const Standard_Integer aSide,const BOPTools_Pave& aPave,IntTools_ShrunkRange& aSR) ; Standard_EXPORT void CorrectShrunkRanges(const Standard_Integer aSide,const BOPTools_Pave& aPave,IntTools_ShrunkRange& aSR) ;
Standard_EXPORT virtual void PreparePaveBlocks(const Standard_Integer anE) ; Standard_EXPORT virtual void PreparePaveBlocks(const Standard_Integer anE) ;
Standard_EXPORT virtual void PrepareEdges() ; Standard_EXPORT virtual void PrepareEdges() ;
Standard_EXPORT Standard_Boolean IsSuccessorsComputed(const Standard_Integer iF1,const Standard_Integer iF2) const; Standard_EXPORT Standard_Boolean IsSuccessorsComputed(const Standard_Integer iF1,const Standard_Integer iF2) const;
Standard_EXPORT Standard_Boolean IsBlocksCoinside(const BOPTools_PaveBlock& aPB1,const BOPTools_PaveBlock& aPB2) const; Standard_EXPORT Standard_Boolean IsBlocksCoinside(const BOPTools_PaveBlock& aPB1,const BOPTools_PaveBlock& aPB2) const;
Standard_EXPORT void RefinePavePool() ; Standard_EXPORT void RefinePavePool() ;
Standard_EXPORT Standard_Integer CheckFacePaves(const TopoDS_Vertex& aV,const Standard_Integer nF) ; Standard_EXPORT Standard_Integer CheckFacePaves(const TopoDS_Vertex& aV,const Standard_Integer nF) ;
Standard_EXPORT void ReplaceCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ; Standard_EXPORT void ReplaceCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ;
Standard_EXPORT void RemoveCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ; Standard_EXPORT void RemoveCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ;
Standard_EXPORT void SplitCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ; Standard_EXPORT void SplitCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ;
Standard_EXPORT void SplitCommonBlock(const NMTTools_CommonBlock& aCB,NMTTools_ListOfCommonBlock& aLCB) ; Standard_EXPORT void SplitCommonBlock(const NMTTools_CommonBlock& aCB,NMTTools_ListOfCommonBlock& aLCB) ;
Standard_EXPORT void EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aM) ; Standard_EXPORT void EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aM) ;
Standard_EXPORT void EFCommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfInteger& aMapCB) ; Standard_EXPORT void EFCommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfInteger& aMapCB) ;
Standard_EXPORT void EENewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ; Standard_EXPORT void EENewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
Standard_EXPORT void EENewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ; Standard_EXPORT void EENewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
Standard_EXPORT void EFNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ; Standard_EXPORT void EFNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
Standard_EXPORT void EFNewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ; Standard_EXPORT void EFNewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
Standard_EXPORT void UpdateCommonBlocks() ; Standard_EXPORT void UpdateCommonBlocks() ;
Standard_EXPORT void UpdatePaveBlocks() ; Standard_EXPORT void UpdatePaveBlocks() ;
Standard_EXPORT Standard_Integer SplitIndex(const BOPTools_PaveBlock& aPB) const; Standard_EXPORT Standard_Integer SplitIndex(const BOPTools_PaveBlock& aPB) const;
Standard_EXPORT void MakeBlocks() ; Standard_EXPORT void MakeBlocks() ;
Standard_EXPORT void PerformVF1() ; Standard_EXPORT void PerformVF1() ;
Standard_EXPORT void MakeAloneVertices() ; Standard_EXPORT void MakeAloneVertices() ;
Standard_EXPORT void FillFaceInfo() ; Standard_EXPORT void FillFaceInfo() ;
Standard_EXPORT void CorrectTolR3D(const BOPTools_SSInterference& aFF,const TColStd_MapOfInteger& aMVStick,Standard_Real& aTolR3D) ; Standard_EXPORT void CorrectTolR3D(const BOPTools_SSInterference& aFF,const TColStd_MapOfInteger& aMVStick,Standard_Real& aTolR3D) ;
// Fields PROTECTED
//
NMTDS_PShapesDataStructure myDS; NMTDS_PShapesDataStructure myDS;
Standard_Boolean myIsDone; Standard_Boolean myIsDone;
Standard_Integer myNbSources; Standard_Integer myNbSources;
@ -435,12 +341,8 @@ NMTTools_DataMapOfIntegerFaceInfo myFaceInfo;
private: private:
// Methods PRIVATE
//
// Fields PRIVATE
//
}; };
@ -450,7 +352,6 @@ private:
// other Inline functions and methods (like "C++: function call" methods) // other Inline functions and methods (like "C++: function call" methods)
//
#endif #endif

View File

@ -25,6 +25,8 @@
#include <NMTTools_PaveFiller.ixx> #include <NMTTools_PaveFiller.ixx>
#include <Basics_OCCTVersion.hxx>
#include <Precision.hxx> #include <Precision.hxx>
#include <TColStd_IndexedMapOfInteger.hxx> #include <TColStd_IndexedMapOfInteger.hxx>
@ -122,7 +124,7 @@ static
myIsDone=Standard_False; myIsDone=Standard_False;
// //
Standard_Boolean bToApproxC3d, bToApproxC2dOnS1, bToApproxC2dOnS2, bIsDone; Standard_Boolean bToApproxC3d, bToApproxC2dOnS1, bToApproxC2dOnS2, bIsDone;
Standard_Boolean bJustAdd; Standard_Boolean bJustAdd, bToSplit;
Standard_Integer n1, n2, anIndexIn, nF1, nF2, aBlockLength, aNbFFs; Standard_Integer n1, n2, anIndexIn, nF1, nF2, aBlockLength, aNbFFs;
Standard_Integer aNbCurves, aNbPoints; Standard_Integer aNbCurves, aNbPoints;
Standard_Real anApproxTol, aTolR3D, aTolR2D; Standard_Real anApproxTol, aTolR3D, aTolR2D;
@ -142,6 +144,10 @@ static
aFFs.SetBlockLength(aNbFFs); aFFs.SetBlockLength(aNbFFs);
} }
// //
//modified by NIZNHY-PKV Thu Sep 15 08:02:52 2011f
bToSplit=Standard_False;
//modified by NIZNHY-PKV Thu Sep 15 08:02:55 2011t
//
for (; myDSIt->More(); myDSIt->Next()) { for (; myDSIt->More(); myDSIt->Next()) {
myDSIt->Current(n1, n2, bJustAdd); myDSIt->Current(n1, n2, bJustAdd);
// //
@ -186,7 +192,13 @@ static
aTolR3D=1.e-7; aTolR3D=1.e-7;
} }
// //
//modified by NIZNHY-PKV Thu Sep 15 08:03:02 2011f
#if OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
aFF.PrepareLines3D(bToSplit);
#else
aFF.PrepareLines3D(); aFF.PrepareLines3D();
#endif // OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
//modified by NIZNHY-PKV Thu Sep 15 08:03:04 2011t
// //
const IntTools_SequenceOfCurves& aCvsX=aFF.Lines(); const IntTools_SequenceOfCurves& aCvsX=aFF.Lines();
const IntTools_SequenceOfPntOn2Faces& aPntsX=aFF.Points(); const IntTools_SequenceOfPntOn2Faces& aPntsX=aFF.Points();
@ -349,6 +361,16 @@ void NMTTools_PaveFiller::MakeBlocks()
BOPTools_Curve& aBC=aSCvs(j); BOPTools_Curve& aBC=aSCvs(j);
PutBoundPaveOnCurve (aBC, aFFi); PutBoundPaveOnCurve (aBC, aFFi);
} }
//modified by NIZNHY-PKV Wed Sep 14 13:12:14 2011f
#if OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
//
// Put closing pave if needded
for (j=1; j<=aNbCurves; ++j) {
BOPTools_Curve& aBC=aSCvs(j);
PutClosingPaveOnCurve (aBC, aFFi);
}
#endif // OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
//modified by NIZNHY-PKV Wed Sep 14 13:12:17 2011t
// //
// Pave Blocks on Curves // Pave Blocks on Curves
bHasES=Standard_False; bHasES=Standard_False;
@ -1260,13 +1282,9 @@ void NMTTools_PaveFiller::PutPaveOnCurve(const BOPTools_PaveSet& aPaveSet,
BOPTools_PaveSet& aPS=aBC.Set(); BOPTools_PaveSet& aPS=aBC.Set();
aPS.Append(aPaveNew); aPS.Append(aPaveNew);
//<-B //<-B
//modified by NIZNHY-PKV Thu Apr 22 10:36:45 2010f
//BOPTools_Tools::UpdateVertex (aC, aT, aV);
//modified by NIZNHY-PKV Thu Apr 22 10:36:48 2010t
} }
} }
} }
//modified by NIZNHY-PKV Tue Feb 08 12:24:35 2011f
// //
//======================================================================= //=======================================================================
//function : FillFaceInfo //function : FillFaceInfo
@ -1518,4 +1536,69 @@ void NMTTools_PaveFiller::CorrectTolR3D(const BOPTools_SSInterference& aFF,
aTolR3D=aTolR; aTolR3D=aTolR;
} }
} }
//modified by NIZNHY-PKV Tue Feb 08 12:24:56 2011t
//modified by NIZNHY-PKV Wed Sep 14 13:21:13 2011f
#if OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
//=======================================================================
// function: PutClosingPaveOnCurve
// purpose:
//=======================================================================
void NMTTools_PaveFiller::PutClosingPaveOnCurve(BOPTools_Curve& aBC,
BOPTools_SSInterference& aFFi)
{
Standard_Boolean bIsClosed, bHasBounds, bAdded;
Standard_Integer nVC, j;
Standard_Real aT[2], aTolR3D, aTC, dT, aTx;
gp_Pnt aP[2] ;
BOPTools_Pave aPVx;
BOPTools_ListIteratorOfListOfPave aItLP;
//
const IntTools_Curve& aIC=aBC.Curve();
const Handle (Geom_Curve)& aC3D=aIC.Curve();
if(aC3D.IsNull()) {
return;
}
//
bIsClosed=IntTools_Tools::IsClosed(aC3D);
if (!bIsClosed) {
return;
}
//
bHasBounds=aIC.HasBounds ();
if (!bHasBounds){
return;
}
//
bAdded=Standard_False;
dT=Precision::PConfusion();
aTolR3D=aFFi.TolR3D();
aIC.Bounds (aT[0], aT[1], aP[0], aP[1]);
//
BOPTools_PaveSet& aFFiPS=aFFi.NewPaveSet();
BOPTools_PaveSet& aCPS=aBC.Set();
//
const BOPTools_ListOfPave& aLP=aCPS.Set();
aItLP.Initialize(aLP);
for (; aItLP.More() && !bAdded; aItLP.Next()) {
const BOPTools_Pave& aPC=aItLP.Value();
nVC=aPC.Index();
const TopoDS_Vertex aVC=TopoDS::Vertex(myDS->Shape(nVC));
aTC=aPC.Param();
//
for (j=0; j<2; ++j) {
if (fabs(aTC-aT[j]) < dT) {
aTx=(!j) ? aT[1] : aT[0];
aPVx.SetIndex(nVC);
aPVx.SetParam(aTx);
//
aCPS.Append(aPVx);
aFFiPS.Append(aPVx);
//
bAdded=Standard_True;
break;
}
}
}
}
#endif // OCC_VERSION_LARGE > 0x06050100 // For OCCT6.5.2 and higher
//modified by NIZNHY-PKV Wed Sep 14 13:21:17 2011t

View File

@ -687,3 +687,142 @@
} }
return 0; //Ok return 0; //Ok
} }
//modified by NIZNHY-PKV Mon Oct 17 12:07:48 2011f
static
void SortPaveBlocks(BOPTools_ListOfPaveBlock &);
static
void SortShell(const Standard_Integer,
BOPTools_PaveBlock *);
static
Standard_Boolean Less(const BOPTools_PaveBlock &,
const BOPTools_PaveBlock &);
//=======================================================================
// function: RealSplitsInFace
// purpose:
//=======================================================================
void NMTTools_PaveFiller::RealSplitsInFace(const Standard_Integer nF,
BOPTools_ListOfPaveBlock& aLPBIn)
{
Standard_Integer j, aNbCBP, nSpIn;
TColStd_MapOfInteger aMFence;
BOPTools_ListOfPaveBlock aLPB;
BOPTools_ListIteratorOfListOfPaveBlock aItPB;
NMTTools_ListIteratorOfListOfCommonBlock aItCB;
//
NMTTools_CommonBlockPool& aCBP=ChangeCommonBlockPool();
//
aNbCBP=aCBP.Extent();
for (j=1; j<=aNbCBP; ++j) {
NMTTools_ListOfCommonBlock& aLCB=aCBP(j);
aItCB.Initialize(aLCB);
for (; aItCB.More(); aItCB.Next()) {
NMTTools_CommonBlock& aCB=aItCB.Value();
if (aCB.IsPaveBlockOnFace(nF)) {
const BOPTools_PaveBlock& aPB1=aCB.PaveBlock1();
nSpIn=aPB1.Edge();
if (aMFence.Add(nSpIn)){
aLPB.Append(aPB1);
}
}
}
}
//
SortPaveBlocks(aLPB);
//
aItPB.Initialize(aLPB);
for (; aItPB.More(); aItPB.Next()) {
const BOPTools_PaveBlock& aPB=aItPB.Value();
aLPBIn.Append(aPB);
}
}
//=======================================================================
// function: SortPaveBlocks
// purpose:
//=======================================================================
void SortPaveBlocks(BOPTools_ListOfPaveBlock &aLPBIn)
{
Standard_Integer i, aNbPBIn;
BOPTools_ListIteratorOfListOfPaveBlock aItPB;
BOPTools_PaveBlock *pPB;
//
aNbPBIn=aLPBIn.Extent();
if (aNbPBIn<2) {
return;
}
//
pPB=new BOPTools_PaveBlock[aNbPBIn];
//
aItPB.Initialize(aLPBIn);
for (i=0; aItPB.More(); aItPB.Next(), ++i) {
const BOPTools_PaveBlock& aPB=aItPB.Value();
pPB[i]=aPB;
}
//
SortShell(aNbPBIn, pPB);
//
aLPBIn.Clear();
for (i=0; i<aNbPBIn; ++i) {
aLPBIn.Append(pPB[i]);
}
//
delete [] (BOPTools_PaveBlock*)pPB;
}
//=======================================================================
//function : SortShell
//purpose :
//=======================================================================
void SortShell(const Standard_Integer n,
BOPTools_PaveBlock *a)
{
Standard_Integer nd, i, j, l, d=1;
BOPTools_PaveBlock x;
//
while(d<=n) {
d*=2;
}
//
while (d) {
d=(d-1)/2;
//
nd=n-d;
for (i=0; i<nd; ++i) {
j=i;
m30:;
l=j+d;
if (Less(a[l], a[j])) {
//if (a[l] < a[j]){
x=a[j];
a[j]=a[l];
a[l]=x;
j-=d;
if (j > -1) goto m30;
}//if (a[l] < a[j]){
}//for (i=0; i<nd; ++i)
}//while (1)
}
//=======================================================================
//function : Less
//purpose :
//=======================================================================
Standard_Boolean Less(const BOPTools_PaveBlock &aPB1,
const BOPTools_PaveBlock &aPB2)
{
Standard_Boolean bRet;
Standard_Integer iE1, iE2;
Standard_Real aT11, aT12, aT21, aT22;
//
iE1=aPB1.OriginalEdge();
iE2=aPB2.OriginalEdge();
if (iE1!=iE2) {
bRet=(iE1<iE2);
return bRet;
}
//
aPB1.Parameters(aT11, aT12);
aPB2.Parameters(aT21, aT22);
bRet=(aT11<aT21);
return bRet;
}
//modified by NIZNHY-PKV Mon Oct 17 11:44:45 2011t

View File

@ -40,6 +40,7 @@
#include <Interface_InterfaceModel.hxx> #include <Interface_InterfaceModel.hxx>
#include <XSControl_TransferReader.hxx> #include <XSControl_TransferReader.hxx>
#include <XSControl_WorkSession.hxx> #include <XSControl_WorkSession.hxx>
#include <StepShape_TopologicalRepresentationItem.hxx>
#include <Transfer_Binder.hxx> #include <Transfer_Binder.hxx>
#include <TNaming_Builder.hxx> #include <TNaming_Builder.hxx>
@ -175,21 +176,38 @@ extern "C"
if (!TR.IsNull()) { if (!TR.IsNull()) {
Handle(Transfer_TransientProcess) TP = TR->TransientProcess(); Handle(Transfer_TransientProcess) TP = TR->TransientProcess();
Handle(Standard_Type) tPD = STANDARD_TYPE(StepBasic_ProductDefinition); Handle(Standard_Type) tPD = STANDARD_TYPE(StepBasic_ProductDefinition);
Handle(Standard_Type) tShape = STANDARD_TYPE(StepShape_TopologicalRepresentationItem);
Standard_Integer nb = Model->NbEntities(); Standard_Integer nb = Model->NbEntities();
for (Standard_Integer ie = 1; ie <= nb; ie++) { for (Standard_Integer ie = 1; ie <= nb; ie++) {
Handle(Standard_Transient) enti = Model->Value(ie); Handle(Standard_Transient) enti = Model->Value(ie);
if (enti->DynamicType() != tPD) continue; Handle(TCollection_HAsciiString) aName;
if ( enti->IsKind( tShape ))
{
aName = Handle(StepRepr_RepresentationItem)::DownCast(enti)->Name();
}
else if (enti->DynamicType() == tPD)
{
Handle(StepBasic_ProductDefinition) PD = Handle(StepBasic_ProductDefinition) PD =
Handle(StepBasic_ProductDefinition)::DownCast(enti); Handle(StepBasic_ProductDefinition)::DownCast(enti);
if (PD.IsNull()) continue; if (PD.IsNull()) continue;
Handle(StepBasic_Product) Prod = PD->Formation()->OfProduct(); Handle(StepBasic_Product) Prod = PD->Formation()->OfProduct();
if (Prod->Name()->UsefullLength() <= 0) continue; aName = Prod->Name();
}
Handle(TCollection_HAsciiString) aName = Prod->Name(); else
TCollection_ExtendedString aNameExt (aName->ToCString()); {
continue;
}
if ( aName->UsefullLength() < 1 )
continue;
// skip 'N0NE' name
if ( aName->UsefullLength() == 4 &&
toupper (aName->Value(1)) == 'N' &&
toupper (aName->Value(2)) == 'O' &&
toupper (aName->Value(3)) == 'N' &&
toupper (aName->Value(4)) == 'E')
continue;
// special check to pass names like "Open CASCADE STEP translator 6.3 1" // special check to pass names like "Open CASCADE STEP translator 6.3 1"
TCollection_AsciiString aSkipName ("Open CASCADE STEP translator"); TCollection_AsciiString aSkipName ("Open CASCADE STEP translator");
@ -197,6 +215,7 @@ extern "C"
if (aName->String().SubString(1, aSkipName.Length()).IsEqual(aSkipName)) if (aName->String().SubString(1, aSkipName.Length()).IsEqual(aSkipName))
continue; continue;
} }
TCollection_ExtendedString aNameExt (aName->ToCString());
// find target shape // find target shape
Handle(Transfer_Binder) binder = TP->Find(enti); Handle(Transfer_Binder) binder = TP->Find(enti);

View File

@ -18,15 +18,16 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File: ShHealOper_ChangeOrientation.cxx // File: ShHealOper_ChangeOrientation.cxx
// Created: 11.07.06 11:46:45 // Created: 11.07.06 11:46:45
// Author: Sergey KUUL // Author: Sergey KUUL
//
#include <ShHealOper_ChangeOrientation.hxx> #include <ShHealOper_ChangeOrientation.hxx>
#include <BRep_Builder.hxx> #include <BRep_Builder.hxx>
#include <BRepBuilderAPI_Copy.hxx>
#include <TopoDS_Iterator.hxx> #include <TopoDS_Iterator.hxx>
//======================================================================= //=======================================================================
@ -84,9 +85,17 @@ Standard_Boolean ShHealOper_ChangeOrientation::Perform()
myResultShape.Reverse(); myResultShape.Reverse();
} }
else { else {
return false; BRepBuilderAPI_Copy Copy (myInitShape);
if (!Copy.IsDone()) return false;
myResultShape = Copy.Shape();
if (myResultShape.IsNull()) return false;
if (myResultShape.Orientation() == TopAbs_FORWARD)
myResultShape.Orientation(TopAbs_REVERSED);
else
myResultShape.Orientation(TopAbs_FORWARD);
} }
return true; return true;
} }

View File

@ -18,46 +18,50 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File: ShHealOper_FillHoles.cxx // File: ShHealOper_FillHoles.cxx
// Created: 26.04.04 17:35:30 // Created: 26.04.04 17:35:30
// Author: Galina KULIKOVA // Author: Galina KULIKOVA
//
#include <Basics_OCCTVersion.hxx>
#include <ShapeFix_Shell.hxx>
#include <ShapeFix_Face.hxx>
#include <ShHealOper_FillHoles.hxx> #include <ShHealOper_FillHoles.hxx>
#include <TopExp.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <ShapeAnalysis_FreeBounds.hxx> #include <ShapeAnalysis_FreeBounds.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Iterator.hxx>
#include <Geom_Curve.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_HSequenceOfShape.hxx>
#include <TopoDS.hxx>
#include <Geom_BSplineSurface.hxx>
#include <GeomPlate_BuildPlateSurface.hxx>
#include <TopoDS_Edge.hxx>
#include <BRepAdaptor_Curve.hxx> #include <BRepAdaptor_Curve.hxx>
#include <BRepAdaptor_HCurve.hxx> #include <BRepAdaptor_HCurve.hxx>
#include <GeomPlate_CurveConstraint.hxx>
#include <GeomPlate_Surface.hxx>
#include <TColgp_SequenceOfXY.hxx>
#include <TColgp_SequenceOfXYZ.hxx>
#include <BRep_Builder.hxx> #include <BRep_Builder.hxx>
#include <ShapeFix_Face.hxx>
#include <BRep_Tool.hxx>
#include <TopLoc_Location.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopoDS_Shell.hxx>
#include <ShapeFix_Shell.hxx>
#include <GeomPlate_PlateG0Criterion.hxx>
#include <GeomPlate_MakeApprox.hxx>
#include <Precision.hxx>
#include <TopTools_ListOfShape.hxx>
#include <BRepFill_CurveConstraint.hxx> #include <BRepFill_CurveConstraint.hxx>
#include <BRepBuilderAPI_MakeFace.hxx> #include <BRepBuilderAPI_MakeFace.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Shell.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopLoc_Location.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopTools_HSequenceOfShape.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <Geom_Curve.hxx>
#include <Geom_BSplineSurface.hxx>
#include <GeomPlate_Surface.hxx>
#include <GeomPlate_MakeApprox.hxx>
#include <GeomPlate_CurveConstraint.hxx>
#include <GeomPlate_PlateG0Criterion.hxx>
#include <GeomPlate_BuildPlateSurface.hxx>
#include <TColgp_SequenceOfXY.hxx>
#include <TColgp_SequenceOfXYZ.hxx>
#include <Precision.hxx>
//======================================================================= //=======================================================================
//function : ShHealOper_FillHoles() //function : ShHealOper_FillHoles()
@ -72,18 +76,16 @@ ShHealOper_FillHoles::ShHealOper_FillHoles ()
//function : ShHealOper_FillHoles //function : ShHealOper_FillHoles
//purpose : //purpose :
//======================================================================= //=======================================================================
ShHealOper_FillHoles::ShHealOper_FillHoles (const TopoDS_Shape& theShape) ShHealOper_FillHoles::ShHealOper_FillHoles (const TopoDS_Shape& theShape)
{ {
Init(theShape); Init(theShape);
InitParameters(); InitParameters();
} }
//======================================================================= //=======================================================================
//function : Init //function : Init
//purpose : //purpose :
//======================================================================= //=======================================================================
void ShHealOper_FillHoles::Init(const TopoDS_Shape& theShape) void ShHealOper_FillHoles::Init(const TopoDS_Shape& theShape)
{ {
ShHealOper_Tool::Init(theShape); ShHealOper_Tool::Init(theShape);
@ -92,11 +94,11 @@ void ShHealOper_FillHoles::Init(const TopoDS_Shape& theShape)
TopExp::MapShapesAndAncestors ( myInitShape, TopAbs_EDGE,TopAbs_FACE, myEdgeFaces ); TopExp::MapShapesAndAncestors ( myInitShape, TopAbs_EDGE,TopAbs_FACE, myEdgeFaces );
} }
//======================================================================= //=======================================================================
//function : InitParameters //function : InitParameters
//purpose : //purpose :
//======================================================================= //=======================================================================
void ShHealOper_FillHoles::InitParameters(Standard_Integer theDegree, void ShHealOper_FillHoles::InitParameters(Standard_Integer theDegree,
Standard_Integer theNbPtsOnCur, Standard_Integer theNbPtsOnCur,
Standard_Integer theNbIter, Standard_Integer theNbIter,
@ -121,7 +123,6 @@ void ShHealOper_FillHoles::InitParameters(Standard_Integer theDegree,
//function : Fill //function : Fill
//purpose : //purpose :
//======================================================================= //=======================================================================
Standard_Boolean ShHealOper_FillHoles::Fill() Standard_Boolean ShHealOper_FillHoles::Fill()
{ {
ShapeAnalysis_FreeBounds sab(myInitShape); ShapeAnalysis_FreeBounds sab(myInitShape);
@ -152,7 +153,6 @@ Standard_Boolean ShHealOper_FillHoles::Fill()
//function : Fill //function : Fill
//purpose : //purpose :
//======================================================================= //=======================================================================
Standard_Boolean ShHealOper_FillHoles::Fill(const TopTools_SequenceOfShape& theFillShapes) Standard_Boolean ShHealOper_FillHoles::Fill(const TopTools_SequenceOfShape& theFillShapes)
{ {
myDone = Standard_False; myDone = Standard_False;
@ -188,6 +188,7 @@ Standard_Boolean ShHealOper_FillHoles::Fill(const TopTools_SequenceOfShape& theF
myResultShape = myContext->Apply(myResultShape); myResultShape = myContext->Apply(myResultShape);
return myDone; return myDone;
} }
//======================================================================= //=======================================================================
//function : isCircle //function : isCircle
//purpose : //purpose :
@ -210,7 +211,6 @@ Standard_Boolean ShHealOper_FillHoles::prepareWires(const TopTools_SequenceOfSha
Handle(TopTools_HSequenceOfShape)& theSeqWires) Handle(TopTools_HSequenceOfShape)& theSeqWires)
{ {
Handle(TopTools_HSequenceOfShape) aSeqEdges = new TopTools_HSequenceOfShape; Handle(TopTools_HSequenceOfShape) aSeqEdges = new TopTools_HSequenceOfShape;
BRep_Builder aB;
Standard_Integer i =1; Standard_Integer i =1;
for( ; i <= theFillShapes.Length(); i++) { for( ; i <= theFillShapes.Length(); i++) {
TopExp_Explorer aExp; TopExp_Explorer aExp;
@ -248,8 +248,6 @@ Standard_Boolean ShHealOper_FillHoles::prepareWires(const TopTools_SequenceOfSha
theSeqWires->Append (anWiresOpen->Value (i)); theSeqWires->Append (anWiresOpen->Value (i));
} }
for( i =1; i <= theSeqWires->Length(); i++) { for( i =1; i <= theSeqWires->Length(); i++) {
TopoDS_Wire aWire = TopoDS::Wire(theSeqWires->Value(i)); TopoDS_Wire aWire = TopoDS::Wire(theSeqWires->Value(i));
@ -277,7 +275,6 @@ Handle(Geom_Surface) ShHealOper_FillHoles::buildSurface(const TopoDS_Wire& theWi
{ {
Handle(Geom_BSplineSurface) aSurf; Handle(Geom_BSplineSurface) aSurf;
try { try {
GeomPlate_BuildPlateSurface aBuilder(myDegree, myNbPtsOnCur, myNbIter, GeomPlate_BuildPlateSurface aBuilder(myDegree, myNbPtsOnCur, myNbIter,
myTol2d, myTol3d, myTolAng, myTolCrv); myTol2d, myTol3d, myTolAng, myTolCrv);
TopoDS_Iterator aIter; TopoDS_Iterator aIter;
@ -318,7 +315,6 @@ Handle(Geom_Surface) ShHealOper_FillHoles::buildSurface(const TopoDS_Wire& theWi
theCurves2d = aBuilder.Curves2d(); theCurves2d = aBuilder.Curves2d();
theOrders = aBuilder.Order(); theOrders = aBuilder.Order();
theSenses = aBuilder.Sense(); theSenses = aBuilder.Sense();
} }
catch (Standard_Failure) { catch (Standard_Failure) {
@ -339,11 +335,14 @@ Standard_Boolean ShHealOper_FillHoles::addFace(const Handle(Geom_Surface)& theSu
const Handle(TColStd_HArray1OfInteger)& theOrders, const Handle(TColStd_HArray1OfInteger)& theOrders,
const Handle(TColStd_HArray1OfInteger)& theSenses) const Handle(TColStd_HArray1OfInteger)& theSenses)
{ {
#if OCC_VERSION_LARGE > 0x06050100 // for OCC-6.5.2 and higher version
BRepBuilderAPI_MakeFace aMakeFace (theSurf, Precision::Confusion());
#else
BRepBuilderAPI_MakeFace aMakeFace (theSurf); BRepBuilderAPI_MakeFace aMakeFace (theSurf);
#endif
TopoDS_Face aFace = aMakeFace.Face(); TopoDS_Face aFace = aMakeFace.Face();
aFace.EmptyCopy(); aFace.EmptyCopy();
TopoDS_Wire aWire; TopoDS_Wire aWire;
BRep_Builder aB; BRep_Builder aB;
aB.MakeWire(aWire); aB.MakeWire(aWire);
@ -432,7 +431,6 @@ void ShHealOper_FillHoles::getResShape(const TopoDS_Shape& theAddShape,
aB.MakeShell(aTmpShell); aB.MakeShell(aTmpShell);
TopTools_SequenceOfShape aseqShells; TopTools_SequenceOfShape aseqShells;
if(anhasShell) { if(anhasShell) {
aB.Add(aTmpShell,theAddShape); aB.Add(aTmpShell,theAddShape);
Standard_Integer i =1; Standard_Integer i =1;
for( ; i <= aMapParent.Extent(); i++) { for( ; i <= aMapParent.Extent(); i++) {
@ -454,7 +452,6 @@ void ShHealOper_FillHoles::getResShape(const TopoDS_Shape& theAddShape,
Standard_Integer i =2; Standard_Integer i =2;
for( ; i<= aseqShells.Length(); i++) for( ; i<= aseqShells.Length(); i++)
myContext->Remove(aseqShells.Value(i)); myContext->Remove(aseqShells.Value(i));
} }
else { else {
TopoDS_Compound aComp; TopoDS_Compound aComp;
@ -465,6 +462,5 @@ void ShHealOper_FillHoles::getResShape(const TopoDS_Shape& theAddShape,
aB.Add(aComp,aIt.Value()); aB.Add(aComp,aIt.Value());
aB.Add(aComp,theAddShape); aB.Add(aComp,theAddShape);
myContext->Replace( oldshape,aComp); myContext->Replace( oldshape,aComp);
} }
} }