mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +05:00
NRI : Merge from V1_2.
This commit is contained in:
parent
46fb512313
commit
f72094caaf
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GeometryGUI_ArcDlg.cxx
|
||||
// Created :
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Project : SALOME
|
||||
// Module : GeometryGUI
|
||||
// Copyright : OPEN CASCADE
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GeometryGUI_ArcDlg.cxx
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GeometryGUI_ArcDlg.h"
|
||||
|
||||
#include "GeometryGUI.h"
|
||||
|
@ -1,14 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GeometryGUI_BndBoxDlg.cxx
|
||||
// Created : Mon Mar 04 13:16:16 2002
|
||||
// Author : Nicolas REJNERI
|
||||
|
||||
// Project : SALOME
|
||||
// Module : GEOMGUI
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GeometryGUI_BndBoxDlg.cxx
|
||||
// Author : Nicolas REJNERI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
|
||||
using namespace std;
|
||||
#include "GeometryGUI_BndBoxDlg.h"
|
||||
|
||||
#include "GeometryGUI.h"
|
||||
|
@ -1,13 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GeometryGUI_BoxDlg.cxx
|
||||
// Created :
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Project : SALOME
|
||||
// Module : GeometryGUI
|
||||
// Copyright : OPEN CASCADE
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GeometryGUI_BoxDlg.cxx
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
|
||||
using namespace std;
|
||||
#include "GeometryGUI_BoxDlg.h"
|
||||
#include "GeometryGUI_SpinBox.h"
|
||||
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GeometryGUI_CenterMassDlg.cxx
|
||||
// Created :
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Project : SALOME
|
||||
// Module : GeometryGUI
|
||||
// Copyright : OPEN CASCADE
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GeometryGUI_CenterMassDlg.cxx
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GeometryGUI_CenterMassDlg.h"
|
||||
#include "GeometryGUI.h"
|
||||
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GeometryGUI_ChamferDlg.cxx
|
||||
// Created :
|
||||
// Author : Damien COQUERET
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : OPEN CASCADE 2002
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GeometryGUI_ChamferDlg.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GeometryGUI_ChamferDlg.h"
|
||||
|
||||
#include "GeometryGUI.h"
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GeometryGUI_CircleDlg.cxx
|
||||
// Created :
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Project : SALOME
|
||||
// Module : GeometryGUI
|
||||
// Copyright : OPEN CASCADE
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GeometryGUI_CircleDlg.cxx
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GeometryGUI_CircleDlg.h"
|
||||
|
||||
#include "GeometryGUI.h"
|
||||
|
@ -1,18 +1,35 @@
|
||||
#==============================================================================
|
||||
# File : Makefile.in
|
||||
# Created : ven déc 7 13:32:20 CET 2001
|
||||
# Author : Paul RASCLE, EDF
|
||||
# Project : SALOME
|
||||
# Copyright : EDF 2001
|
||||
# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
#
|
||||
#
|
||||
#
|
||||
# File : Makefile.in
|
||||
# Author : Patrick GOLDBRONN (CEA)
|
||||
# Module : GEOM
|
||||
# $Header$
|
||||
#==============================================================================
|
||||
|
||||
# source path
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:@srcdir@
|
||||
|
||||
|
||||
@COMMENCE@
|
||||
|
||||
SUBDIRS = OBJECT SKETCHER ARCHIMEDE PARTITION GEOMDS GEOM GEOMClient GEOMFiltersSelection GEOMGUI GEOM_SWIG
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GEOM_AISShape.cxx
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Nicolas REJNERI
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_AISShape.cxx
|
||||
// Author : Nicolas REJNERI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
/*!
|
||||
\class GEOM_AISShape GEOM_AISShape.hxx
|
||||
\brief ....
|
||||
|
@ -1,18 +1,29 @@
|
||||
// File generated by CPPExt (Transient)
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_AISShape.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _GEOM_AISShape_HeaderFile
|
||||
#define _GEOM_AISShape_HeaderFile
|
||||
|
||||
|
@ -1,17 +1,29 @@
|
||||
// File generated by CPPExt (Transient)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_AISShape.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "GEOM_AISShape.jxx"
|
||||
|
||||
#ifndef _Standard_TypeMismatch_HeaderFile
|
||||
|
@ -1,3 +1,29 @@
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_AISShape.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _GEOM_InteractiveObject_HeaderFile
|
||||
#include "GEOM_InteractiveObject.hxx"
|
||||
#endif
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GEOM_Actor.cxx
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Actor.cxx
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
/*!
|
||||
\class GEOM_Actor GEOM_Actor.h
|
||||
\brief This class allows to display an OpenCASCADE CAD model in a VTK viewer.
|
||||
@ -14,12 +34,6 @@ using namespace std;
|
||||
|
||||
#include "GEOM_Actor.h"
|
||||
|
||||
// VTK Includes
|
||||
#include <vtkObjectFactory.h>
|
||||
#include <vtkPolyDataMapper.h>
|
||||
#include <vtkPolyDataNormals.h>
|
||||
#include <vtkMath.h>
|
||||
|
||||
// OpenCASCADE Includes
|
||||
#include "GEOM_OCCReader.h"
|
||||
#include <BRep_Tool.hxx>
|
||||
|
@ -1,23 +1,36 @@
|
||||
// File : GEOM_Actor.h
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Actor.h
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
|
||||
#ifndef GEOM_ACTOR_H
|
||||
#define GEOM_ACTOR_H
|
||||
|
||||
#include "SALOME_Actor.h"
|
||||
|
||||
//VTK
|
||||
#include <vtkMapper.h>
|
||||
#include <vtkProperty.h>
|
||||
#include <vtkMatrix4x4.h>
|
||||
#include <vtkCamera.h>
|
||||
|
||||
//OpenCASCADE
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
@ -108,7 +121,5 @@ class VTKOCC_EXPORT GEOM_Actor : public SALOME_Actor {
|
||||
vtkProperty* WireframeProperty;
|
||||
vtkProperty* HighlightProperty;
|
||||
|
||||
int myDisplayMode;
|
||||
|
||||
};
|
||||
#endif //GEOM_ACTOR_H
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GEOM_AssemblyBuilder.cxx
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_AssemblyBuilder.cxx
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
/*!
|
||||
\class GEOM_AssemblyBuilder GEOM_AssemblyBuilder.h
|
||||
\brief ....
|
||||
@ -26,6 +46,7 @@ using namespace std;
|
||||
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
|
||||
#include <TopExp.hxx>
|
||||
#include <TopTools_ListOfShape.hxx>
|
||||
#include <TopoDS_Iterator.hxx>
|
||||
|
||||
// SALOME
|
||||
|
||||
@ -143,6 +164,18 @@ vtkActorCollection* GEOM_AssemblyBuilder::BuildActors(const TopoDS_Shape& myShap
|
||||
|
||||
vtkActorCollection* AISActors = vtkActorCollection::New();
|
||||
|
||||
if(myShape.ShapeType() == TopAbs_COMPOUND) {
|
||||
TopoDS_Iterator anItr(myShape);
|
||||
for(; anItr.More(); anItr.Next()) {
|
||||
vtkActorCollection* theActors = GEOM_AssemblyBuilder::BuildActors(anItr.Value(), deflection, mode, forced);
|
||||
theActors->InitTraversal();
|
||||
vtkActor* anActor = (vtkActor*)theActors->GetNextActor();
|
||||
while(!(anActor==NULL)) {
|
||||
AISActors->AddItem(anActor);
|
||||
anActor = (vtkActor*)theActors->GetNextActor();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Create graphics properties
|
||||
|
||||
vtkProperty* IsoProp = vtkProperty::New();
|
||||
@ -160,7 +193,7 @@ vtkActorCollection* GEOM_AssemblyBuilder::BuildActors(const TopoDS_Shape& myShap
|
||||
|
||||
MeshShape(myShape,deflection,forced);
|
||||
|
||||
if ( myShape.ShapeType() <= 4 ) {
|
||||
if ( myShape.ShapeType() <= 4 && myShape.ShapeType() != TopAbs_COMPOUND) {
|
||||
|
||||
// FACE Actor
|
||||
// look if edges are free or shared
|
||||
|
@ -1,12 +1,31 @@
|
||||
// File : GEOM_AssemblyBuilder.h
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_AssemblyBuilder.h
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
// VTK
|
||||
#include <vtkAssembly.h>
|
||||
#include <vtkPropAssembly.h>
|
||||
#include <vtkActorCollection.h>
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : GEOM_InteractiveObject.cxx
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_InteractiveObject.cxx
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
/*!
|
||||
\class GEOM_InteractiveObject GEOM_InteractiveObject.hxx
|
||||
\brief ....
|
||||
|
@ -1,18 +1,29 @@
|
||||
// File generated by CPPExt (Transient)
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_InteractiveObject.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _GEOM_InteractiveObject_HeaderFile
|
||||
#define _GEOM_InteractiveObject_HeaderFile
|
||||
|
||||
|
@ -1,17 +1,29 @@
|
||||
// File generated by CPPExt (Transient)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_InteractiveObject.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "GEOM_InteractiveObject.jxx"
|
||||
|
||||
#ifndef _Standard_TypeMismatch_HeaderFile
|
||||
|
@ -1,3 +1,29 @@
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_InteractiveObject.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _SALOME_InteractiveObject_HeaderFile
|
||||
#include "SALOME_InteractiveObject.hxx"
|
||||
#endif
|
||||
|
@ -1,19 +1,39 @@
|
||||
using namespace std;
|
||||
// File : GEOM_OCCReader.h
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_OCCReader.h
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_OCCReader.h"
|
||||
|
||||
// SALOME Includes
|
||||
#include "utilities.h"
|
||||
|
||||
// VTK Includes
|
||||
#include <vtkObjectFactory.h>
|
||||
#include "VTKViewer_Common.h"
|
||||
#include <vtkMergePoints.h>
|
||||
|
||||
// OpenCASCADE Includes
|
||||
|
@ -1,9 +1,29 @@
|
||||
// File : GEOM_OCCReader.h
|
||||
// Created : Wed Feb 20 17:24:59 2002
|
||||
// Author : Christophe ATTANASIO
|
||||
// Project : SALOME
|
||||
// Module : GEOM
|
||||
// Copyright : Open CASCADE 2002
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_OCCReader.h
|
||||
// Author : Christophe ATTANASIO
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
/*!
|
||||
@ -15,9 +35,7 @@
|
||||
#define GEOM_OCCREADER_H
|
||||
|
||||
// VTK
|
||||
#include <vtkPolyDataSource.h>
|
||||
#include <vtkPoints.h>
|
||||
#include <vtkCellArray.h>
|
||||
#include "VTKViewer_Common.h"
|
||||
|
||||
// OpenCASCADE
|
||||
#include <TopoDS_Shape.hxx>
|
||||
|
@ -1,17 +1,28 @@
|
||||
// File generated by CPPExt (Transient)
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Handle_GEOM_AISShape.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Handle_GEOM_AISShape_HeaderFile
|
||||
#define _Handle_GEOM_AISShape_HeaderFile
|
||||
|
@ -1,17 +1,28 @@
|
||||
// File generated by CPPExt (Transient)
|
||||
// GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
//
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Handle_GEOM_InteractiveObject.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Handle_GEOM_InteractiveObject_HeaderFile
|
||||
#define _Handle_GEOM_InteractiveObject_HeaderFile
|
||||
|
@ -1,8 +1,33 @@
|
||||
# source path
|
||||
# GEOM OBJECT : interactive object for Geometry entities visualization
|
||||
#
|
||||
# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
#
|
||||
#
|
||||
#
|
||||
# File : Makefile.in
|
||||
# Module : GEOM
|
||||
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=../..
|
||||
top_builddir=../../..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:$(srcdir):$(top_srcdir)/idl:$(top_builddir)/idl
|
||||
VPATH=.:@srcdir@:@top_srcdir@/idl
|
||||
|
||||
|
||||
@COMMENCE@
|
||||
|
@ -1,15 +1,35 @@
|
||||
# -* Makefile *-
|
||||
# GEOM PARTITION : partition algorithm
|
||||
#
|
||||
# Author : Marc Tajchman (CEA)
|
||||
# Date : 5/07/2001
|
||||
# $Header$
|
||||
# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
#
|
||||
#
|
||||
#
|
||||
# File : Makefile.in
|
||||
# Author : Marc Tajchman (CEA)
|
||||
# Module : GEOM
|
||||
# $Header$
|
||||
|
||||
# source path
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=../..
|
||||
top_builddir=../../..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:$(srcdir):$(top_srcdir)/idl:$(top_builddir)/idl
|
||||
VPATH=.:@srcdir@
|
||||
|
||||
|
||||
@COMMENCE@
|
||||
|
@ -1,9 +1,29 @@
|
||||
-- File : Partition.cdl
|
||||
-- Created: Thu Aug 02 16:07:39 2001
|
||||
-- Author : Benedicte MARTIN
|
||||
--
|
||||
---Copyright: OPEN CASCADE 2001
|
||||
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or
|
||||
-- modify it under the terms of the GNU Lesser General Public
|
||||
-- License as published by the Free Software Foundation; either
|
||||
-- version 2.1 of the License.
|
||||
--
|
||||
-- This library is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
-- Lesser General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU Lesser General Public
|
||||
-- License along with this library; if not, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
--
|
||||
-- See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition.cdl
|
||||
-- Author : Benedicte MARTIN
|
||||
-- Module : GEOM
|
||||
|
||||
package Partition
|
||||
|
||||
|
@ -1,8 +1,29 @@
|
||||
-- File : Partition_Inter2d.cdl
|
||||
-- Created: Thu Aug 02 16:07:39 2001
|
||||
-- Author : Benedicte MARTIN
|
||||
--
|
||||
---Copyright: OPEN CASCADE 2001
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or
|
||||
-- modify it under the terms of the GNU Lesser General Public
|
||||
-- License as published by the Free Software Foundation; either
|
||||
-- version 2.1 of the License.
|
||||
--
|
||||
-- This library is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
-- Lesser General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU Lesser General Public
|
||||
-- License along with this library; if not, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
--
|
||||
-- See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition_Inter2d.cdl
|
||||
-- Author : Benedicte MARTIN
|
||||
-- Module : GEOM
|
||||
|
||||
class Inter2d from Partition
|
||||
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : Partition_Inter2d.cxx
|
||||
// Created : Thu Aug 02 16:17:31 2001
|
||||
// Author : Benedicte MARTIN
|
||||
// Project : SALOME
|
||||
// Module : PARTITION
|
||||
// Copyright : Open CASCADE
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter2d.cxx
|
||||
// Author : Benedicte MARTIN
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "Partition_Inter2d.ixx"
|
||||
|
||||
#include "utilities.h"
|
||||
|
@ -1,16 +1,28 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter2d.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Partition_Inter2d_HeaderFile
|
||||
#define _Partition_Inter2d_HeaderFile
|
||||
|
@ -1,17 +1,29 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter2d.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "Partition_Inter2d.jxx"
|
||||
|
||||
|
||||
|
@ -1,3 +1,29 @@
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter2d.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _BRepAlgo_AsDes_HeaderFile
|
||||
#include <BRepAlgo_AsDes.hxx>
|
||||
#endif
|
||||
|
@ -1,9 +1,29 @@
|
||||
-- File : Partition_Inter3d.cdl
|
||||
-- Created: Thu Aug 02 16:07:39 2001
|
||||
-- Author : Benedicte MARTIN
|
||||
--
|
||||
---Copyright: OPEN CASCADE 2001
|
||||
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or
|
||||
-- modify it under the terms of the GNU Lesser General Public
|
||||
-- License as published by the Free Software Foundation; either
|
||||
-- version 2.1 of the License.
|
||||
--
|
||||
-- This library is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
-- Lesser General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU Lesser General Public
|
||||
-- License along with this library; if not, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
--
|
||||
-- See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition_Inter3d.cdl
|
||||
-- Author : Benedicte MARTIN
|
||||
-- Module : GEOM
|
||||
|
||||
class Inter3d from Partition
|
||||
|
||||
@ -89,8 +109,8 @@ is
|
||||
|
||||
IsSectionEdge (me; E : Edge from TopoDS)
|
||||
returns Boolean from Standard;
|
||||
---Purpose: return True if E is an edge of a face and it
|
||||
-- intersects an other face
|
||||
---Purpose: return True if E is an edge of an initial face and
|
||||
-- E intersects aother face
|
||||
|
||||
HasSectionEdge (me; F : Face from TopoDS)
|
||||
returns Boolean from Standard;
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : Partition_Inter3d.cxx
|
||||
// Created : Thu Aug 02 16:20:37 2001
|
||||
// Author : Benedicte MARTIN
|
||||
// Project : SALOME
|
||||
// Module : PARTITION
|
||||
// Copyright : Open CASCADE
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter3d.cxx
|
||||
// Author : Benedicte MARTIN
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "Partition_Inter3d.ixx"
|
||||
#include "Partition_Inter2d.hxx"
|
||||
#include "utilities.h"
|
||||
|
@ -1,16 +1,28 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter3d.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Partition_Inter3d_HeaderFile
|
||||
#define _Partition_Inter3d_HeaderFile
|
||||
|
@ -1,17 +1,29 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter3d.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "Partition_Inter3d.jxx"
|
||||
|
||||
|
||||
|
@ -1,3 +1,29 @@
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Inter3d.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _BRepAlgo_AsDes_HeaderFile
|
||||
#include <BRepAlgo_AsDes.hxx>
|
||||
#endif
|
||||
|
@ -1,9 +1,29 @@
|
||||
-- File : Partition_Loop.cdl
|
||||
-- Created: Thu Aug 02 16:07:39 2001
|
||||
-- Author : Benedicte MARTIN
|
||||
--
|
||||
---Copyright: Matra Datavision 2001
|
||||
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or
|
||||
-- modify it under the terms of the GNU Lesser General Public
|
||||
-- License as published by the Free Software Foundation; either
|
||||
-- version 2.1 of the License.
|
||||
--
|
||||
-- This library is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
-- Lesser General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU Lesser General Public
|
||||
-- License along with this library; if not, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
--
|
||||
-- See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition_Loop.cdl
|
||||
-- Author : Benedicte MARTIN
|
||||
-- Module : GEOM
|
||||
|
||||
class Loop from Partition
|
||||
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : Partition_Loop.cxx
|
||||
// Created : Thu Aug 02 16:25:17 2001
|
||||
// Author : Benedicte MARTIN
|
||||
// Project : SALOME
|
||||
// Module : PARTITION
|
||||
// Copyright : Open CASCADE
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop.cxx
|
||||
// Author : Benedicte MARTIN
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include <stdio.h>
|
||||
|
||||
#include "Partition_Loop.ixx"
|
||||
|
@ -1,16 +1,28 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Partition_Loop_HeaderFile
|
||||
#define _Partition_Loop_HeaderFile
|
||||
|
@ -1,17 +1,29 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "Partition_Loop.jxx"
|
||||
|
||||
|
||||
|
@ -1,3 +1,29 @@
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _TopoDS_Face_HeaderFile
|
||||
#include <TopoDS_Face.hxx>
|
||||
#endif
|
||||
|
@ -1,9 +1,12 @@
|
||||
-- File : Partition_Loop2d.cdl
|
||||
-- Created: Thu Aug 02 16:07:39 2001
|
||||
-- Author : Benedicte MARTIN
|
||||
--
|
||||
---Copyright: OPEN CASCADE 2001
|
||||
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition_Loop2d.cdl
|
||||
-- Author : Benedicte MARTIN
|
||||
-- Module : GEOM
|
||||
|
||||
class Loop2d from Partition
|
||||
|
||||
|
@ -1,13 +1,15 @@
|
||||
using namespace std;
|
||||
// File : Partition_Loop2d.cxx
|
||||
// Created : Thu Aug 02 16:25:17 2001
|
||||
// Author : Benedicte MARTIN
|
||||
// Project : SALOME
|
||||
// Module : PARTITION
|
||||
// Copyright : Open CASCADE
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop2d.cxx
|
||||
// Author : Benedicte MARTIN
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
|
||||
using namespace std;
|
||||
#include "Partition_Loop2d.ixx"
|
||||
|
||||
#include "utilities.h"
|
||||
|
@ -1,16 +1,11 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop2d.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Partition_Loop2d_HeaderFile
|
||||
#define _Partition_Loop2d_HeaderFile
|
||||
|
@ -1,17 +1,12 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop2d.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "Partition_Loop2d.jxx"
|
||||
|
||||
|
||||
|
@ -1,3 +1,12 @@
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop2d.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _TopoDS_Face_HeaderFile
|
||||
#include <TopoDS_Face.hxx>
|
||||
#endif
|
||||
|
@ -1,6 +1,11 @@
|
||||
-- File: Partition_Loop3d.cdl
|
||||
-- Created: Mon Oct 21 09:47:19 2002
|
||||
---Copyright: OPEN CASCADE 2002
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition_Loop3d.cdl
|
||||
-- Module : GEOM
|
||||
|
||||
class Loop3d from Partition
|
||||
|
||||
|
@ -1,8 +1,13 @@
|
||||
using namespace std;
|
||||
// File : Partition_Loop3d.cxx
|
||||
// Created : Mon Oct 21 09:47:19 2002
|
||||
// Copyright : Open CASCADE
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop3d.cxx
|
||||
// Module : GEOM
|
||||
|
||||
using namespace std;
|
||||
#include "Partition_Loop3d.ixx"
|
||||
|
||||
#include <TopExp_Explorer.hxx>
|
||||
|
@ -1,16 +1,11 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop3d.hxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _Partition_Loop3d_HeaderFile
|
||||
#define _Partition_Loop3d_HeaderFile
|
||||
|
@ -1,17 +1,12 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop3d.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "Partition_Loop3d.jxx"
|
||||
|
||||
|
||||
|
@ -1,3 +1,12 @@
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 CEA/DEN, EDF R&D
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Loop3d.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _TopoDS_Shape_HeaderFile
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#endif
|
||||
|
@ -1,7 +1,29 @@
|
||||
-- File : Partition_Spliter.cdl
|
||||
-- Created: Thu Aug 02 16:07:39 2001
|
||||
-- Author : Benedicte MARTIN
|
||||
---Copyright: OPEN CASCADE 2001
|
||||
-- GEOM PARTITION : partition algorithm
|
||||
--
|
||||
-- Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or
|
||||
-- modify it under the terms of the GNU Lesser General Public
|
||||
-- License as published by the Free Software Foundation; either
|
||||
-- version 2.1 of the License.
|
||||
--
|
||||
-- This library is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
-- Lesser General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU Lesser General Public
|
||||
-- License along with this library; if not, write to the Free Software
|
||||
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
--
|
||||
-- See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
--
|
||||
--
|
||||
--
|
||||
-- File : Partition_Spliter.cdl
|
||||
-- Author : Benedicte MARTIN
|
||||
-- Module : GEOM
|
||||
|
||||
class Spliter from Partition
|
||||
|
||||
@ -138,5 +160,6 @@ fields
|
||||
|
||||
-- shape and its internal faces
|
||||
myInternalFaces: DataMapOfShapeShape from TopTools;
|
||||
myIntNotClFaces: DataMapOfShapeShape from TopTools;-- internal but not closed
|
||||
|
||||
end Spliter;
|
||||
|
@ -1,12 +1,32 @@
|
||||
using namespace std;
|
||||
// File : Partition_Spliter.cxx
|
||||
// Created : Thu Aug 02 16:07:39 2001
|
||||
// Author : Benedicte MARTIN
|
||||
// Project : SALOME
|
||||
// Module : SALOMEGUI
|
||||
// Copyright : Open CASCADE
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Spliter.cxx
|
||||
// Author : Benedicte MARTIN
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "Partition_Spliter.ixx"
|
||||
#include "Partition_Inter2d.hxx"
|
||||
#include "Partition_Inter3d.hxx"
|
||||
@ -676,66 +696,85 @@ void Partition_Spliter::MakeEdges (const TopoDS_Edge& E,
|
||||
//=======================================================================
|
||||
//function : FindFacesInside
|
||||
//purpose : return compound of faces of other shapes that are
|
||||
// inside <S>.
|
||||
// <S> is an object shape.
|
||||
// inside <theShape>.
|
||||
// <theShape> is an object shape.
|
||||
// <CheckClosed> makes avoid faces that do not form a
|
||||
// closed shell
|
||||
// <All> makes return already added faces
|
||||
//=======================================================================
|
||||
|
||||
TopoDS_Shape Partition_Spliter::FindFacesInside(const TopoDS_Shape& S,
|
||||
TopoDS_Shape Partition_Spliter::FindFacesInside(const TopoDS_Shape& theShape,
|
||||
const Standard_Boolean CheckClosed,
|
||||
const Standard_Boolean All)
|
||||
{
|
||||
if (myInternalFaces.IsBound( S ))
|
||||
return myInternalFaces.Find ( S );
|
||||
|
||||
TopoDS_Compound C;
|
||||
myBuilder.MakeCompound(C);
|
||||
|
||||
const TopoDS_Shape& SS = myImageShape.Image(S).First(); // compound of split faces of S
|
||||
|
||||
TopTools_MapOfShape MSE, MPF;
|
||||
TopTools_DataMapOfShapeListOfShape MEF;
|
||||
TopTools_MapIteratorOfMapOfShape itm;
|
||||
TopExp_Explorer expl;
|
||||
TopTools_ListOfShape Empty;
|
||||
if (myInternalFaces.IsBound( theShape ))
|
||||
{
|
||||
TopoDS_Shape aIntFComp = myInternalFaces.Find ( theShape );
|
||||
TopoDS_Shape aIntRemFComp = myIntNotClFaces.Find ( theShape );
|
||||
|
||||
// MSE filling: map of section edges of SS
|
||||
for (expl.Init(SS,TopAbs_EDGE); expl.More(); expl.Next()) {
|
||||
expl.Init( aIntRemFComp, TopAbs_FACE);
|
||||
if (CheckClosed || !expl.More())
|
||||
return aIntFComp;
|
||||
|
||||
TopoDS_Compound C;
|
||||
myBuilder.MakeCompound( C );
|
||||
// add removed faces
|
||||
for (; expl.More(); expl.Next())
|
||||
myBuilder.Add( C, expl.Current() );
|
||||
// add good internal faces
|
||||
for (expl.Init( aIntFComp, TopAbs_FACE); expl.More(); expl.Next())
|
||||
myBuilder.Add( C, expl.Current() );
|
||||
return C;
|
||||
}
|
||||
|
||||
// compound of split faces of theShape
|
||||
const TopoDS_Shape& CSF = myImageShape.Image(theShape).First();
|
||||
|
||||
TopTools_MapOfShape MSE, MFP;
|
||||
TopTools_DataMapOfShapeListOfShape DMSEFP;
|
||||
TopTools_MapIteratorOfMapOfShape itm;
|
||||
TopTools_ListOfShape EmptyL;
|
||||
|
||||
// MSE filling: map of new section edges of CSF
|
||||
for (expl.Init(CSF,TopAbs_EDGE); expl.More(); expl.Next()) {
|
||||
TopoDS_Shape resE = expl.Current() ;
|
||||
if (myNewSection.Contains( resE ))
|
||||
if (myNewSection.Contains( resE )) // only new edges
|
||||
MSE.Add(resE);
|
||||
}
|
||||
|
||||
// 1. MPF filling: map of resulting faces except those of S,
|
||||
// we`ll add to C those of them which are inside SS
|
||||
// 2. MEF filling: edge of MSE => faces of MPF
|
||||
// DMEF: map edge of CSF - faces of CSF
|
||||
TopTools_IndexedDataMapOfShapeListOfShape DMEF;
|
||||
TopExp::MapShapesAndAncestors(CSF, TopAbs_EDGE, TopAbs_FACE, DMEF);
|
||||
|
||||
// Fill
|
||||
// 1. MFP - a map of faces to process: map of resulting faces except
|
||||
// those of theShape; we`ll add to C those of them which are inside CSF
|
||||
// 2. DMSEFP - edge of MSE => faces of MFP
|
||||
TopTools_ListIteratorOfListOfShape itl;
|
||||
for (itl.Initialize(myListShapes);itl.More();itl.Next()) {
|
||||
const TopoDS_Shape& SL = itl.Value();
|
||||
if ( S.IsSame( SL )) continue;
|
||||
const TopoDS_Shape& aShape = itl.Value();
|
||||
if ( theShape.IsSame( aShape )) continue;
|
||||
// fill maps
|
||||
TopoDS_Iterator itF ( myImageShape.Image(SL).First() );
|
||||
// iterate on split faces of aShape
|
||||
TopoDS_Iterator itF ( myImageShape.Image(aShape).First() );
|
||||
for ( ; itF.More(); itF.Next()) {
|
||||
const TopoDS_Shape& snf = itF.Value();
|
||||
MPF.Add(snf);
|
||||
for (expl.Init( snf, TopAbs_EDGE ); expl.More(); expl.Next()) {
|
||||
const TopoDS_Shape& sf = itF.Value();
|
||||
MFP.Add(sf);
|
||||
// iterate on edges of split faces of aShape,
|
||||
// add to DMSEFP edges that are new
|
||||
for (expl.Init( sf, TopAbs_EDGE ); expl.More(); expl.Next()) {
|
||||
TopoDS_Shape se = expl.Current();
|
||||
if ( MSE.Contains(se)) {// section edge
|
||||
if (!MEF.IsBound(se))
|
||||
MEF.Bind(se,Empty);
|
||||
MEF(se).Append(snf);
|
||||
if (!DMSEFP.IsBound(se))
|
||||
DMSEFP.Bind(se,EmptyL);
|
||||
DMSEFP(se).Append(sf);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MSEF: map edge of SS - faces of SS
|
||||
TopTools_IndexedDataMapOfShapeListOfShape MSEF;
|
||||
TopExp::MapShapesAndAncestors(SS, TopAbs_EDGE, TopAbs_FACE, MSEF);
|
||||
|
||||
// find faces inside S
|
||||
// find faces inside theShape
|
||||
|
||||
Standard_Boolean skipAlreadyAdded = Standard_False;
|
||||
Standard_Boolean GoodOri, inside;
|
||||
@ -743,60 +782,72 @@ TopoDS_Shape Partition_Spliter::FindFacesInside(const TopoDS_Shape& S,
|
||||
TopTools_ListOfShape KeepFaces;
|
||||
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape Mapit;
|
||||
|
||||
for (Mapit.Initialize(MEF); Mapit.More() ; Mapit.Next() ) {
|
||||
TopoDS_Edge E = TopoDS::Edge (Mapit.Key());
|
||||
TopoDS_Edge OrigE = TopoDS::Edge ( myImagesEdges.Root( E ));
|
||||
// iterate on section edges, check faces of other shapes
|
||||
// sharing section edges and put internal faces to KeepFaces
|
||||
for (Mapit.Initialize(DMSEFP); Mapit.More() ; Mapit.Next() ) {
|
||||
// a new edge of theShape
|
||||
const TopoDS_Edge& E = TopoDS::Edge (Mapit.Key());
|
||||
// an original edge of which E is a split
|
||||
const TopoDS_Edge& OrigE = TopoDS::Edge ( myImagesEdges.Root( E ));
|
||||
// is OrigE itself splits a face
|
||||
Standard_Boolean isSectionE = myInter3d.IsSectionEdge ( OrigE );
|
||||
|
||||
TopTools_ListOfShape& EF = MEF.ChangeFind(E);
|
||||
itl.Initialize( EF );
|
||||
// split faces of other shapes sharing E
|
||||
TopTools_ListOfShape& LSF = DMSEFP.ChangeFind(E);
|
||||
itl.Initialize( LSF );
|
||||
while (itl.More()) {
|
||||
TopoDS_Face face1 = TopoDS::Face(itl.Value());
|
||||
EF.Remove( itl ); // == itl.Next();
|
||||
if (!MPF.Remove( face1 ))
|
||||
continue; // was not is MPF ( i.e already checked)
|
||||
// a split faces of other shape
|
||||
TopoDS_Face aFace1 = TopoDS::Face(itl.Value());
|
||||
// remove aFace1 form DMSEFP and MFP
|
||||
LSF.Remove( itl ); // == itl.Next();
|
||||
if (!MFP.Remove( aFace1 ))
|
||||
continue; // was not is MFP ( i.e already checked)
|
||||
// check if aFace1 was already added to 2 shells
|
||||
if (!All &&
|
||||
myAddedFacesMap.Contains( face1 ) &&
|
||||
myAddedFacesMap.Contains( face1.Reversed() )) {
|
||||
myAddedFacesMap.Contains( aFace1 ) &&
|
||||
myAddedFacesMap.Contains( aFace1.Reversed() )) {
|
||||
skipAlreadyAdded = Standard_True;
|
||||
continue; // already added to 2 shells
|
||||
continue;
|
||||
}
|
||||
|
||||
// find another face which originates from the same face as <face1>
|
||||
const TopoDS_Shape& origS = myImagesFaces.Root(face1);
|
||||
TopoDS_Shape face2;
|
||||
// find another face which originates from the same face as aFace1:
|
||||
// usually aFace2 is internal if aFace1 is not and vice versa
|
||||
|
||||
const TopoDS_Shape& anOrigFace = myImagesFaces.Root(aFace1);
|
||||
TopoDS_Shape aFace2;
|
||||
if ( !isSectionE ) {
|
||||
while (itl.More()) {
|
||||
face2 = itl.Value();
|
||||
if (!MPF.Contains( face2 )) {
|
||||
EF.Remove( itl );
|
||||
aFace2 = itl.Value();
|
||||
if (!MFP.Contains( aFace2 )) {
|
||||
LSF.Remove( itl );
|
||||
continue;
|
||||
}
|
||||
if (origS.IsSame( myImagesFaces.Root( face2 )))
|
||||
if (anOrigFace.IsSame( myImagesFaces.Root( aFace2 )))
|
||||
break;
|
||||
itl.Next();
|
||||
}
|
||||
if (itl.More()) { // face2 found
|
||||
EF.Remove( itl );
|
||||
MPF.Remove(face2);
|
||||
if (itl.More()) { // aFace2 found, remove it from maps
|
||||
LSF.Remove( itl );
|
||||
MFP.Remove(aFace2);
|
||||
}
|
||||
else
|
||||
face2.Nullify();
|
||||
itl.Initialize( EF );
|
||||
aFace2.Nullify();
|
||||
itl.Initialize( LSF );
|
||||
}
|
||||
|
||||
// check that origS is not same domain with SS
|
||||
Standard_Boolean sameDom1 = 0, sameDom2 = 0;
|
||||
const TopTools_ListOfShape& FL = MSEF.FindFromKey(E); //faces of SS sharing E
|
||||
// check that anOrigFace is not same domain with CSF faces it intersects
|
||||
|
||||
const TopTools_ListOfShape& FL = DMEF.FindFromKey(E); //faces of CSF sharing E
|
||||
const TopoDS_Shape& origF1 = myImagesFaces.Root(FL.First());
|
||||
const TopoDS_Shape& origF2 = myImagesFaces.Root(FL.Last());
|
||||
if (origS.IsSame( origF1 ))
|
||||
sameDom1 = Standard_True;
|
||||
if ( origS.IsSame( origF2 ))
|
||||
sameDom2 = Standard_True;
|
||||
if (!(sameDom1 || sameDom2) && myInter3d.HasSameDomainF( origS )) {
|
||||
sameDom1 = myInter3d.IsSameDomainF( origS, origF1);
|
||||
sameDom2 = (origF1 == origF2) ? sameDom1 : myInter3d.IsSameDomainF( origS, origF2);
|
||||
Standard_Boolean sameDom1 = anOrigFace.IsSame( origF1 );
|
||||
Standard_Boolean sameDom2 = anOrigFace.IsSame( origF2 );
|
||||
if (!(sameDom1 || sameDom2) && myInter3d.HasSameDomainF( anOrigFace )) {
|
||||
sameDom1 = myInter3d.IsSameDomainF( anOrigFace, origF1);
|
||||
if (origF1 == origF2)
|
||||
sameDom2 = sameDom1;
|
||||
else
|
||||
myInter3d.IsSameDomainF( anOrigFace, origF2);
|
||||
}
|
||||
if (sameDom1 && sameDom2)
|
||||
continue;
|
||||
@ -808,100 +859,133 @@ TopoDS_Shape Partition_Spliter::FindFacesInside(const TopoDS_Shape& S,
|
||||
if (inside || (dot + Precision::Angular() >= 1.0))
|
||||
continue; // E is convex between origF1 and origF2 or they are tangent
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// keep one of found faces
|
||||
const TopoDS_Shape& SFace = sameDom1 ? FL.Last() : FL.First(); //face of SS sharing E
|
||||
inside = Partition_Loop3d::IsInside (E, TopoDS::Face(SFace), face1,
|
||||
|
||||
//face of CSF sharing E
|
||||
const TopoDS_Shape& aShapeFace = sameDom1 ? FL.Last() : FL.First();
|
||||
// analyse aFace1 state
|
||||
inside = Partition_Loop3d::IsInside (E, TopoDS::Face(aShapeFace), aFace1,
|
||||
1, dot, GoodOri);
|
||||
if ((dot + Precision::Angular() >= 1.0) &&
|
||||
!face2.IsNull()) { // face2 position is not clear, it will be analysed alone
|
||||
MPF.Add( face2 );
|
||||
EF.Append( face2 );
|
||||
face2.Nullify();
|
||||
// store internal face
|
||||
if (inside)
|
||||
KeepFaces.Append(aFace1);
|
||||
else if (!aFace2.IsNull())
|
||||
{
|
||||
if (dot + Precision::Angular() >= 1.0)
|
||||
{
|
||||
// aFace2 state is not clear, it will be analysed alone,
|
||||
// put it back to the maps
|
||||
MFP.Add( aFace2 );
|
||||
LSF.Append( aFace2 );
|
||||
}
|
||||
else
|
||||
KeepFaces.Append(aFace2);
|
||||
}
|
||||
if (inside)
|
||||
KeepFaces.Append(face1);
|
||||
else
|
||||
if (!face2.IsNull())
|
||||
KeepFaces.Append(face2);
|
||||
}
|
||||
}
|
||||
|
||||
// add not distributed faces connected with KeepFaces
|
||||
|
||||
// ultimate list of internal faces
|
||||
TopTools_ListOfShape KeptFaces;
|
||||
if (MPF.IsEmpty())
|
||||
|
||||
// add to MFP not split tool faces as well, they may be connected with
|
||||
// tool faces interfering with theShape
|
||||
for ( itm.Initialize(myMapTools); itm.More(); itm.Next() ) {
|
||||
const TopoDS_Shape& aToolFace = itm.Key();
|
||||
if (!myImageShape.HasImage(aToolFace))
|
||||
MFP.Add (aToolFace);
|
||||
}
|
||||
|
||||
if (MFP.IsEmpty())
|
||||
KeptFaces.Append (KeepFaces);
|
||||
|
||||
while (!KeepFaces.IsEmpty()) {
|
||||
// add to KeepFaces not distributed faces connected with KeepFaces
|
||||
|
||||
// KeepEdges : map of edges of kept faces
|
||||
while (!KeepFaces.IsEmpty())
|
||||
{
|
||||
// KeepEdges : map of edges of faces kept last time
|
||||
TopTools_IndexedMapOfShape KeepEdges;
|
||||
for (itl.Initialize(KeepFaces);itl.More();itl.Next() )
|
||||
for ( itl.Initialize(KeepFaces); itl.More(); itl.Next() ) {
|
||||
TopExp::MapShapes( itl.Value(), TopAbs_EDGE, KeepEdges);
|
||||
KeptFaces.Append( itl.Value() );
|
||||
}
|
||||
|
||||
KeptFaces.Append (KeepFaces); // == KeepFaces.Clear()
|
||||
|
||||
// keep faces connected with already kept faces
|
||||
for (itm.Initialize(MPF);itm.More();itm.Next() ) {
|
||||
const TopoDS_Shape& PF = itm.Key();
|
||||
for (expl.Init(PF,TopAbs_EDGE); expl.More(); expl.Next()) {
|
||||
const TopoDS_Shape& se = expl.Current();
|
||||
if (!MSE.Contains(se) && KeepEdges.Contains(se) ) {
|
||||
KeepFaces.Append(PF);
|
||||
MPF.Remove(PF);
|
||||
break;
|
||||
}
|
||||
KeepFaces.Clear();
|
||||
|
||||
// keep faces connected with already kept faces by KeepEdges
|
||||
for ( itm.Initialize(MFP); itm.More(); itm.Next() ) {
|
||||
const TopoDS_Shape& FP = itm.Key();
|
||||
for (expl.Init(FP,TopAbs_EDGE); expl.More(); expl.Next()) {
|
||||
const TopoDS_Shape& se = expl.Current();
|
||||
if (!MSE.Contains(se) && KeepEdges.Contains(se) ) {
|
||||
KeepFaces.Append(FP);
|
||||
MFP.Remove(FP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// check if kept faces make shell without free edges
|
||||
MSEF.Clear(); // edge - kept faces
|
||||
MPF.Clear(); // wrong faces
|
||||
// check if kept faces form a shell without free edges
|
||||
|
||||
DMEF.Clear(); // edge - kept faces
|
||||
MFP.Clear(); // wrong faces
|
||||
if (CheckClosed) {
|
||||
for (itl.Initialize(KeptFaces); itl.More(); itl.Next() )
|
||||
TopExp::MapShapesAndAncestors(itl.Value(), TopAbs_EDGE, TopAbs_FACE, MSEF);
|
||||
TopExp::MapShapesAndAncestors(itl.Value(), TopAbs_EDGE, TopAbs_FACE, DMEF);
|
||||
|
||||
Standard_Integer i, nb = MSEF.Extent();
|
||||
Standard_Integer i, nb = DMEF.Extent();
|
||||
Standard_Boolean isClosed = Standard_False;
|
||||
while (!isClosed) {
|
||||
isClosed = Standard_True;
|
||||
for (i=1; isClosed && i<=nb; ++i) {
|
||||
const TopoDS_Shape& E = MSEF.FindKey( i );
|
||||
if (! MSE.Contains( E ))
|
||||
isClosed = ( MSEF(i).Extent() != 1 );
|
||||
const TopoDS_Shape& E = DMEF.FindKey( i );
|
||||
if (! MSE.Contains( E ))
|
||||
isClosed = ( DMEF(i).Extent() != 1 );
|
||||
}
|
||||
if (!isClosed) {
|
||||
const TopoDS_Shape& F = MSEF.FindFromIndex( i-1 ).First(); // bad face
|
||||
MPF.Add( F );
|
||||
// remove bad face from MSEF
|
||||
for (expl.Init( F, TopAbs_EDGE); expl.More(); expl.Next()) {
|
||||
const TopoDS_Shape& F = DMEF.FindFromIndex( i-1 ).First(); // bad face
|
||||
MFP.Add( F );
|
||||
// remove bad face from DMEF
|
||||
for (expl.Init( F, TopAbs_EDGE); expl.More(); expl.Next()) {
|
||||
const TopoDS_Shape& E = expl.Current();
|
||||
TopTools_ListOfShape& FL = MSEF.ChangeFromKey( E );
|
||||
for (itl.Initialize( FL ); itl.More(); itl.Next() ) {
|
||||
if ( F.IsSame( itl.Value() )) {
|
||||
FL.Remove( itl );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
TopTools_ListOfShape& FL = DMEF.ChangeFromKey( E );
|
||||
for (itl.Initialize( FL ); itl.More(); itl.Next() ) {
|
||||
if ( F.IsSame( itl.Value() )) {
|
||||
FL.Remove( itl );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add to the compound kept faces except bad ones in MPF
|
||||
if (KeptFaces.Extent() > MPF.Extent()) {
|
||||
for (itl.Initialize(KeptFaces); itl.More(); itl.Next() )
|
||||
if (! MPF.Contains( itl.Value() )) {
|
||||
myBuilder.Add( C, itl.Value());
|
||||
//myBuilder.Add( C, itl.Value().Reversed());
|
||||
}
|
||||
// a result compound
|
||||
TopoDS_Compound C;
|
||||
// compound of removed internal faces
|
||||
TopoDS_Compound CNotCl;
|
||||
|
||||
myBuilder.MakeCompound(C);
|
||||
myBuilder.MakeCompound(CNotCl);
|
||||
|
||||
// add to compounds
|
||||
for (itl.Initialize(KeptFaces); itl.More(); itl.Next() )
|
||||
{
|
||||
TopoDS_Shape & aIntFace = itl.Value();
|
||||
if (! MFP.Contains( aIntFace ))
|
||||
myBuilder.Add( C, aIntFace);
|
||||
else
|
||||
myBuilder.Add( CNotCl, aIntFace);
|
||||
}
|
||||
|
||||
if (!skipAlreadyAdded && CheckClosed)
|
||||
{
|
||||
myInternalFaces.Bind( theShape, C );
|
||||
myIntNotClFaces.Bind( theShape, CNotCl );
|
||||
}
|
||||
|
||||
if (!skipAlreadyAdded)
|
||||
myInternalFaces.Bind( S, C );
|
||||
|
||||
return C;
|
||||
}
|
||||
|
||||
@ -911,11 +995,11 @@ TopoDS_Shape Partition_Spliter::FindFacesInside(const TopoDS_Shape& S,
|
||||
//=======================================================================
|
||||
|
||||
void Partition_Spliter::MakeShells(const TopoDS_Shape& S,
|
||||
TopTools_ListOfShape& NS)
|
||||
TopTools_ListOfShape& NS)
|
||||
{
|
||||
// check if S is closed shape
|
||||
Standard_Boolean isClosed = Standard_True;
|
||||
|
||||
|
||||
TopTools_IndexedDataMapOfShapeListOfShape MEF;
|
||||
Standard_Integer i;
|
||||
if (S.ShapeType() != TopAbs_SOLID) {
|
||||
@ -1361,26 +1445,35 @@ void Partition_Spliter::KeepShapesInside (const TopoDS_Shape& S)
|
||||
KeepShapesInside( it.Value());
|
||||
return;
|
||||
}
|
||||
if (!myImageShape.HasImage( S ) && ! CheckTool( S ))
|
||||
return;
|
||||
|
||||
|
||||
Standard_Boolean isTool = Standard_False;
|
||||
if (!myImageShape.HasImage( S )) {
|
||||
isTool = CheckTool( S );
|
||||
if (!isTool) return;
|
||||
}
|
||||
|
||||
// build map of internal faces
|
||||
TopTools_IndexedMapOfShape MIF;
|
||||
|
||||
// if S is not a tool, make sure that split faces of S are in MIF
|
||||
if (!isTool)
|
||||
TopExp::MapShapes( myImageShape.Image(S).First(), TopAbs_FACE, MIF);
|
||||
|
||||
TopoDS_Shape InsFacesComp = FindFacesInside( S, Standard_False, Standard_True);
|
||||
TopTools_IndexedMapOfShape MIF; // map of internal faces;
|
||||
TopExp::MapShapes( InsFacesComp, TopAbs_FACE, MIF );
|
||||
|
||||
if (MIF.IsEmpty()) return;
|
||||
|
||||
// leave in the result only those shapes having a face in MIF
|
||||
|
||||
TopoDS_Compound C;
|
||||
myBuilder.MakeCompound(C);
|
||||
|
||||
|
||||
// leave in the result only those shapes having a face in MIF
|
||||
for (it.Initialize( myShape ); it.More(); it.Next()) {
|
||||
|
||||
TopExp_Explorer expResF( it.Value(), TopAbs_FACE );
|
||||
for (; expResF.More(); expResF.Next()) {
|
||||
if ( MIF.Contains( expResF.Current())) {
|
||||
myBuilder.Add( C, it.Value() );
|
||||
break;
|
||||
myBuilder.Add( C, it.Value() );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1406,7 +1499,7 @@ void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
||||
isTool = CheckTool( S );
|
||||
if (!isTool) return;
|
||||
}
|
||||
|
||||
|
||||
TopoDS_Shape InsFacesComp = FindFacesInside( S, Standard_False, Standard_True);
|
||||
TopTools_IndexedMapOfShape MIF; // map of internal faces
|
||||
TopExp::MapShapes( InsFacesComp, TopAbs_FACE, MIF);
|
||||
@ -1414,7 +1507,7 @@ void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
||||
if (MIF.IsEmpty()) return;
|
||||
|
||||
// add to MIF split faces of S
|
||||
if (myImageShape.HasImage( S ))
|
||||
if (myImageShape.HasImage(S))
|
||||
TopExp::MapShapes( myImageShape.Image(S).First(), TopAbs_FACE, MIF);
|
||||
|
||||
// leave in the result only those shapes not having all face in MIF
|
||||
@ -1431,7 +1524,7 @@ void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
||||
for (; expResF.More(); expResF.Next())
|
||||
if (!MIF.Contains( expResF.Current()))
|
||||
break;
|
||||
|
||||
|
||||
if (expResF.More())
|
||||
// add shape to result
|
||||
myBuilder.Add( C, it.Value() );
|
||||
@ -1445,15 +1538,17 @@ void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
||||
}
|
||||
|
||||
if (!isTool) {
|
||||
|
||||
// rebuild S, it must remain in the result
|
||||
|
||||
Standard_Boolean isClosed = Standard_False;
|
||||
switch (S.ShapeType()) {
|
||||
case TopAbs_SOLID :
|
||||
isClosed = Standard_True; break;
|
||||
case TopAbs_SHELL: {
|
||||
TopTools_IndexedDataMapOfShapeListOfShape MEF;
|
||||
Standard_Integer i;
|
||||
TopExp::MapShapesAndAncestors(S, TopAbs_EDGE, TopAbs_FACE, MEF);
|
||||
Standard_Integer i;
|
||||
for (i=1; isClosed && i<=MEF.Extent(); ++i)
|
||||
isClosed = ( MEF(i).Extent() != 1 );
|
||||
break;
|
||||
@ -1462,27 +1557,42 @@ void Partition_Spliter::RemoveShapesInside (const TopoDS_Shape& S)
|
||||
isClosed = Standard_False;
|
||||
}
|
||||
if (isClosed) {
|
||||
|
||||
// add to a new shape external faces of removed shapes, ie those in RFM
|
||||
|
||||
TopoDS_Shell Shell;
|
||||
myBuilder.MakeShell( Shell );
|
||||
|
||||
// exclude redundant internal face with edges encounterd only once
|
||||
TopTools_IndexedDataMapOfShapeListOfShape MEF;
|
||||
TopTools_MapIteratorOfMapOfShape itF (RFM);
|
||||
for ( ; itF.More(); itF.Next())
|
||||
myBuilder.Add( Shell, itF.Key());
|
||||
TopExp::MapShapesAndAncestors(itF.Key(), TopAbs_EDGE, TopAbs_FACE, MEF);
|
||||
|
||||
// add only faces forming a closed shell
|
||||
for (itF.Reset() ; itF.More(); itF.Next())
|
||||
{
|
||||
TopExp_Explorer expE (itF.Key(), TopAbs_EDGE);
|
||||
for (; expE.More(); expE.Next())
|
||||
if (MEF.FindFromKey(expE.Current()).Extent() == 1)
|
||||
break;
|
||||
if (!expE.More())
|
||||
myBuilder.Add( Shell, itF.Key());
|
||||
}
|
||||
|
||||
if (S.ShapeType() == TopAbs_SOLID) {
|
||||
TopoDS_Solid Solid;
|
||||
myBuilder.MakeSolid( Solid );
|
||||
myBuilder.Add (Solid, Shell);
|
||||
myBuilder.Add (C, Solid);
|
||||
TopoDS_Solid Solid;
|
||||
myBuilder.MakeSolid( Solid );
|
||||
myBuilder.Add (Solid, Shell);
|
||||
myBuilder.Add (C, Solid);
|
||||
}
|
||||
else
|
||||
myBuilder.Add (C, Shell);
|
||||
myBuilder.Add (C, Shell);
|
||||
}
|
||||
else {
|
||||
if (myImageShape.HasImage( S )) {
|
||||
for (it.Initialize( myImageShape.Image(S).First()); it.More(); it.Next())
|
||||
myBuilder.Add (C, it.Value());
|
||||
for (it.Initialize( myImageShape.Image(S).First()); it.More(); it.Next())
|
||||
myBuilder.Add (C, it.Value());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,29 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Spliter.hxx
|
||||
// Module : GEOM
|
||||
|
||||
|
||||
#ifndef _Partition_Spliter_HeaderFile
|
||||
#define _Partition_Spliter_HeaderFile
|
||||
@ -132,10 +145,15 @@ Partition_Inter3d myInter3d;
|
||||
TopTools_MapOfOrientedShape myAddedFacesMap;
|
||||
TopTools_MapOfShape myEqualEdges;
|
||||
TopTools_DataMapOfShapeShape myInternalFaces;
|
||||
TopTools_DataMapOfShapeShape myIntNotClFaces;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// other Inline functions and methods (like "C++: function call" methods)
|
||||
//
|
||||
|
||||
|
@ -1,17 +1,29 @@
|
||||
// File generated by CPPExt (Value)
|
||||
// Copyright (C) 1991,1995 by
|
||||
//
|
||||
// MATRA DATAVISION, FRANCE
|
||||
//
|
||||
// This software is furnished in accordance with the terms and conditions
|
||||
// of the contract and with the inclusion of the above copyright notice.
|
||||
// This software or any other copy thereof may not be provided or otherwise
|
||||
// be made available to any other person. No title to an ownership of the
|
||||
// software is hereby transferred.
|
||||
//
|
||||
// At the termination of the contract, the software and all copies of this
|
||||
// software must be deleted.
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Spliter.ixx
|
||||
// Module : GEOM
|
||||
|
||||
#include "Partition_Spliter.jxx"
|
||||
|
||||
|
||||
|
@ -1,3 +1,29 @@
|
||||
// GEOM PARTITION : partition algorithm
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Partition_Spliter.jxx
|
||||
// Module : GEOM
|
||||
|
||||
#ifndef _BRepAlgo_AsDes_HeaderFile
|
||||
#include <BRepAlgo_AsDes.hxx>
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user