From ccba842d3f399476c64ddc0bebc191e3c1daebd0 Mon Sep 17 00:00:00 2001 From: nds Date: Wed, 4 Dec 2013 10:47:45 +0000 Subject: [PATCH] It removes AIS curve presentation. --- src/HYDROCurveCreator/CMakeLists.txt | 2 - .../CurveCreator_AISCurve.cxx | 165 ------------------ .../CurveCreator_AISCurve.hxx | 73 -------- src/HYDROCurveCreator/CurveCreator_Curve.cxx | 28 --- src/HYDROCurveCreator/CurveCreator_Curve.hxx | 2 - .../CurveCreator_Profile.cxx | 3 - src/HYDROCurveCreator/CurveCreator_Utils.cxx | 1 - .../CurveCreator_UtilsICurve.cxx | 3 +- src/HYDROCurveCreator/CurveCreator_Widget.cxx | 2 - 9 files changed, 2 insertions(+), 277 deletions(-) delete mode 100644 src/HYDROCurveCreator/CurveCreator_AISCurve.cxx delete mode 100644 src/HYDROCurveCreator/CurveCreator_AISCurve.hxx diff --git a/src/HYDROCurveCreator/CMakeLists.txt b/src/HYDROCurveCreator/CMakeLists.txt index 1914ee4c..2ff0e098 100644 --- a/src/HYDROCurveCreator/CMakeLists.txt +++ b/src/HYDROCurveCreator/CMakeLists.txt @@ -70,7 +70,6 @@ ENDIF(SALOME_BUILD_GUI) SET(_other_HEADERS CurveCreator.hxx CurveCreator_Displayer.h - CurveCreator_AISCurve.hxx CurveCreator_Curve.hxx CurveCreator_Diff.hxx CurveCreator_ICurve.hxx @@ -96,7 +95,6 @@ ENDIF(SALOME_BUILD_GUI) # sources / static SET(_other_SOURCES CurveCreator_Displayer.cxx - CurveCreator_AISCurve.cxx CurveCreator_Curve.cxx CurveCreator_Diff.cxx CurveCreator_Operation.cxx diff --git a/src/HYDROCurveCreator/CurveCreator_AISCurve.cxx b/src/HYDROCurveCreator/CurveCreator_AISCurve.cxx deleted file mode 100644 index 923d0384..00000000 --- a/src/HYDROCurveCreator/CurveCreator_AISCurve.cxx +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -#include "CurveCreator_AISCurve.hxx" -#include "CurveCreator_Curve.hxx" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -IMPLEMENT_STANDARD_HANDLE(CurveCreator_AISCurve, AIS_Shape) -IMPLEMENT_STANDARD_RTTIEXT(CurveCreator_AISCurve, AIS_Shape) - -CurveCreator_AISCurve::CurveCreator_AISCurve( CurveCreator_Curve* theCurve ) -: AIS_Shape( TopoDS_Shape() ), myCurve( theCurve ) -{ -} - -void CurveCreator_AISCurve::getPoint( const int theISection, const int theIPoint, - gp_Pnt& thePoint ) -{ - double anX, anY, aZ; - myCurve->getCoordinates( theISection, theIPoint, anX, anY, aZ ); - thePoint = gp_Pnt( anX, anY, aZ); -} - -#define MAKE_BUILDER_USE -void CurveCreator_AISCurve::Compute( const Handle(PrsMgr_PresentationManager3d)& thePM, - const Handle(Prs3d_Presentation)& thePrs, - const Standard_Integer theMode ) -{ - thePrs->Clear(); - - for( int iSection = 0 ; iSection < myCurve->getNbSections() ; iSection++ ) { - CurveCreator::SectionType aSectType = myCurve->getSectionType( iSection ); - int aPointSize = myCurve->getNbPoints( iSection ); - bool aSectIsClosed = myCurve->isClosed( iSection ); - if( aSectType == CurveCreator::Polyline ) - { - int iPoint = 0; - gp_Pnt aPrevPoint, aPoint; - if ( aPointSize == 1 ) { - getPoint( iSection, iPoint, aPrevPoint ); - TopoDS_Vertex aVertex = BRepBuilderAPI_MakeVertex( aPrevPoint ).Vertex(); - Set( aVertex ); - } - else if ( aPointSize > 1 ) { -#ifdef MAKE_BUILDER_USE - TopoDS_Edge aPointEdge; - BRepBuilderAPI_MakeWire aMakeWire; - getPoint( iSection, iPoint, aPrevPoint ); - iPoint++; - for( ; iPoint < aPointSize; iPoint++ ) { - getPoint( iSection, iPoint, aPoint ); - aPointEdge = BRepBuilderAPI_MakeEdge( aPrevPoint, aPoint ).Edge(); - aMakeWire.Add( BRepBuilderAPI_MakeWire( aPointEdge ) ); - aPrevPoint = aPoint; - } - if( myCurve->isClosed( iSection ) && ( aPointSize > 2 ) ) { - getPoint( iSection, 0, aPoint ); - aPointEdge = BRepBuilderAPI_MakeEdge( aPrevPoint, aPoint ).Edge(); - aMakeWire.Add( BRepBuilderAPI_MakeWire( aPointEdge ) ); - } - - TopoDS_Wire aLineWire = aMakeWire.Wire(); - Set( aLineWire ); - AIS_Shape::Compute( thePM, thePrs, theMode ); - } -#else - bool isClosed = myCurve->isClosed( iSection ) && ( aPointSize > 2 ); - Handle(Graphic3d_ArrayOfPolylines) anArray = new Graphic3d_ArrayOfPolylines - ( !isClosed ? aPointSize : aPointSize+1 ); - for( ; iPoint < aPointSize; iPoint++ ) { - getPoint( iSection, iPoint, aPoint ); - anArray->AddVertex(aPoint.X(), aPoint.Y(), aPoint.Z()); - } - - if( myCurve->isClosed( iSection ) && ( aPointSize > 2 ) ) { - getPoint( iSection, 0, aPoint ); - anArray->AddVertex(aPoint.X(), aPoint.Y(), aPoint.Z()); - } - Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup( thePrs ); - aGroup->AddPrimitiveArray(anArray); -#endif - } - else if( aSectType == CurveCreator::Spline ) - { - std::vector aPoints; - for( int iPoint = 0; iPoint < aPointSize; iPoint++ ) - { - CurveCreator::Coordinates aCoords = myCurve->getPoint( iSection, iPoint ); - double aX = aCoords[0]; - double aY = aCoords[1]; - double aZ = aCoords[2]; - aPoints.push_back( aX ); - aPoints.push_back( aY ); - } - if( aPointSize > 1 ) - { - Handle(Geom_BSplineCurve) aBSplineCurve; - Handle(Geom_Curve) aGeomCurve; - // fill array for algorithm by the received coordinates - int aLen = aPoints.size() / 2; - Handle(TColgp_HArray1OfPnt) aHCurvePoints = new TColgp_HArray1OfPnt (1, aLen); - std::vector::const_iterator aListIter = aPoints.begin(); - for (int ind = 1; ind <= aLen; ind++) { - gp_Pnt aPnt(gp::Origin()); - aPnt.SetX(*aListIter); - aListIter++; - aPnt.SetY(*aListIter); - aListIter++; - aPnt.SetZ(0); - aHCurvePoints->SetValue(ind, aPnt); - } - // compute BSpline - GeomAPI_Interpolate aGBC(aHCurvePoints, aSectIsClosed, gp::Resolution()); - aGBC.Perform(); - if (aGBC.IsDone()) { - aBSplineCurve = aGBC.Curve(); - } - TopoDS_Edge anEdge = BRepBuilderAPI_MakeEdge( aBSplineCurve ).Edge(); - - TopoDS_Wire aWire = BRepBuilderAPI_MakeWire( anEdge ).Wire(); - - Set( aWire ); - AIS_Shape::Compute( thePM, thePrs, theMode ); - } - } - } -} - -void CurveCreator_AISCurve::ComputeSelection( const Handle(SelectMgr_Selection)& theSelection, - const Standard_Integer theMode ) -{ - AIS_Shape::ComputeSelection( theSelection, theMode ); -} diff --git a/src/HYDROCurveCreator/CurveCreator_AISCurve.hxx b/src/HYDROCurveCreator/CurveCreator_AISCurve.hxx deleted file mode 100644 index 5c01627e..00000000 --- a/src/HYDROCurveCreator/CurveCreator_AISCurve.hxx +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (C) 2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// - -#ifndef CURVECREATOR_AIS_CURVE_H -#define CURVECREATOR_AIS_CURVE_H - -#include "CurveCreator.hxx" -#include "CurveCreator_Macro.hxx" - -#include - -#include -#include - -class CurveCreator_Curve; - -DEFINE_STANDARD_HANDLE(CurveCreator_AISCurve, AIS_Shape) - -/** - * \class CurveCreator_AISCurve - * \brief This class builds an AIS presentation for a curve creator interface - */ -class CurveCreator_AISCurve : public AIS_Shape -{ -public: - Standard_EXPORT CurveCreator_AISCurve( CurveCreator_Curve* theCurve ); - -protected: - /** - * Computes the 3D presentation - * \param thePM a presentation Manager - * \param thePrs a presentation - * \theMode a compute mode - */ - Standard_EXPORT virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& thePM, - const Handle(Prs3d_Presentation)& thePrs, - const Standard_Integer theMode); - - /** - * Computes the 3D selection - * \param theSelection a selection manager - * \theMode a selection mode - */ - Standard_EXPORT virtual void ComputeSelection(const Handle(SelectMgr_Selection)& theSelection, - const Standard_Integer theMode); - -public: - DEFINE_STANDARD_RTTI(CurveCreator_AISCurve) - -protected: - void getPoint( const int theSectionId, const int thePointId, gp_Pnt& thePoint ); - -protected: - CurveCreator_Curve* myCurve; -}; - -#endif // CURVECREATOR_AIS_CURVE_H diff --git a/src/HYDROCurveCreator/CurveCreator_Curve.cxx b/src/HYDROCurveCreator/CurveCreator_Curve.cxx index ac43473c..7e814ade 100644 --- a/src/HYDROCurveCreator/CurveCreator_Curve.cxx +++ b/src/HYDROCurveCreator/CurveCreator_Curve.cxx @@ -38,8 +38,6 @@ #include -//#define AIS_CURVE_DISPLAY - //======================================================================= // function: Constructor // purpose: @@ -53,9 +51,6 @@ CurveCreator_Curve::CurveCreator_Curve( const CurveCreator::Dimension theDimensi myUndoDepth (-1), myOpLevel(0) { -#ifdef AIS_CURVE_DISPLAY - myAISCurve = new CurveCreator_AISCurve( this ); -#endif } //======================================================================= @@ -105,10 +100,6 @@ std::string CurveCreator_Curve::getUniqSectionName() const void CurveCreator_Curve::setDisplayer( CurveCreator_Displayer* theDisplayer ) { myDisplayer = theDisplayer; - -#ifdef AIS_CURVE_DISPLAY - myDisplayer->displayAIS( myAISCurve, false ); -#endif } //======================================================================= @@ -249,30 +240,11 @@ void CurveCreator_Curve::getCoordinates( int theISection, int theIPoint, double& } } -//#define USE_COMPOUND void CurveCreator_Curve::redisplayCurve() { if( myDisplayer ) { -#ifdef AIS_CURVE_DISPLAY - myDisplayer->redisplayAIS(myAISCurve, false); -#else myDisplayer->erase( false ); -//#ifndef USE_COMPOUND myDisplayer->display( constructWire(), true ); -//#else - /*std::vector anAISObjects = constructWire(); - int aSelMode = AIS_Shape::SelectionMode( (TopAbs_ShapeEnum)TopAbs_VERTEX ); - Handle(AIS_InteractiveContext) aContext = myDisplayer->getAISContext(); - for( int i = 0 ; i < anAISObjects.size() ; i++ ){ - Handle_AIS_InteractiveObject anAISObject = anAISObjects[i]; - //anAISObject->SetSelectionMode( aSelMode ); - aContext->Display( anAISObject, Standard_False ); - //aContext->Display( anAISObject, 0, aSelMode, Standard_False, Standard_True ); - } - aContext->UpdateCurrentViewer(); - */ -//#endif -#endif } } diff --git a/src/HYDROCurveCreator/CurveCreator_Curve.hxx b/src/HYDROCurveCreator/CurveCreator_Curve.hxx index 67f0242f..abefa0d5 100644 --- a/src/HYDROCurveCreator/CurveCreator_Curve.hxx +++ b/src/HYDROCurveCreator/CurveCreator_Curve.hxx @@ -28,7 +28,6 @@ #include "CurveCreator_Macro.hxx" #include "CurveCreator.hxx" #include "CurveCreator_Diff.hxx" -#include "CurveCreator_AISCurve.hxx" #include @@ -265,7 +264,6 @@ public: virtual ListAISObjects constructWire() const; public: - Handle(CurveCreator_AISCurve) myAISCurve; bool myIsLocked; CurveCreator::Sections mySections; //!< curve data CurveCreator::Dimension myDimension; //!< curve dimension diff --git a/src/HYDROCurveCreator/CurveCreator_Profile.cxx b/src/HYDROCurveCreator/CurveCreator_Profile.cxx index 0c11fc18..ee0d204b 100644 --- a/src/HYDROCurveCreator/CurveCreator_Profile.cxx +++ b/src/HYDROCurveCreator/CurveCreator_Profile.cxx @@ -24,9 +24,6 @@ #include "CurveCreator_Section.hxx" #include "CurveCreator_Displayer.h" -#include -#include -#include #include #include #include diff --git a/src/HYDROCurveCreator/CurveCreator_Utils.cxx b/src/HYDROCurveCreator/CurveCreator_Utils.cxx index a8514964..e237e6ee 100644 --- a/src/HYDROCurveCreator/CurveCreator_Utils.cxx +++ b/src/HYDROCurveCreator/CurveCreator_Utils.cxx @@ -34,7 +34,6 @@ #include #include #include -#include #include #include diff --git a/src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx b/src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx index cc717a08..d11598e2 100644 --- a/src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx +++ b/src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx @@ -20,6 +20,7 @@ #include "CurveCreator_UtilsICurve.hxx" #include "CurveCreator.hxx" +#include const double LOCAL_SELECTION_TOLERANCE = 0.0001; @@ -82,7 +83,7 @@ void CurveCreator_UtilsICurve::convert( const CurveCreator_ICurve::SectionToPoin } } -#include "CurveCreator_Curve.hxx" +#include "CurveCreator_Curve.hxx" // TODO void CurveCreator_UtilsICurve::getPoint( const CurveCreator_ICurve* theCurve, const int theISection, const int theIPoint, gp_Pnt& thePoint ) { diff --git a/src/HYDROCurveCreator/CurveCreator_Widget.cxx b/src/HYDROCurveCreator/CurveCreator_Widget.cxx index 66534638..f3c5b8e8 100644 --- a/src/HYDROCurveCreator/CurveCreator_Widget.cxx +++ b/src/HYDROCurveCreator/CurveCreator_Widget.cxx @@ -52,8 +52,6 @@ #include #include #include -#include -#include #include #include #include -- 2.39.2