X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_VTKPrsShape.cxx;h=af8b9bf89502ebdaa90f3363c142c8ef10265665;hb=58bb6b7459bebeeb089c9ed486c4683a8bae7288;hp=7512b0a39276be343d805dd695e0bd1badebc342;hpb=8d91ebae2ace0c4fa55e2fde4f80dee2bafb41f5;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_VTKPrsShape.cxx b/src/HYDROGUI/HYDROGUI_VTKPrsShape.cxx index 7512b0a3..af8b9bf8 100644 --- a/src/HYDROGUI/HYDROGUI_VTKPrsShape.cxx +++ b/src/HYDROGUI/HYDROGUI_VTKPrsShape.cxx @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// Copyright (C) 2014-2015 EDF-R&D // 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. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -55,7 +51,7 @@ #include -#include +#include #include #include @@ -69,7 +65,8 @@ const double VTK_MIN_DEFLECTION = 0.001; // Purpose : Constructor //======================================================================= HYDROGUI_VTKPrsShape::HYDROGUI_VTKPrsShape( const Handle(HYDROData_Entity)& theObject ) -: HYDROGUI_VTKPrs( theObject ) +: HYDROGUI_VTKPrs( theObject ), +myDisplayMode( GEOM_Actor::eWireframe ) { } @@ -87,18 +84,18 @@ HYDROGUI_VTKPrsShape::~HYDROGUI_VTKPrsShape() //================================================================ void HYDROGUI_VTKPrsShape::compute() { + HYDROGUI_VTKPrs::compute(); + if ( !getObject().IsNull() ) { buildShape(); if ( !myTopoShape.IsNull() ) { - GEOM_Actor* anActor = GEOM_Actor::New(); + HYDROGUI_Actor* anActor = getActor(this); anActor->SetShape( myTopoShape, VTK_MIN_DEFLECTION ); + anActor->setDisplayMode( myDisplayMode ); anActor->setIO( getIO() ); - AddObject( anActor ); - - anActor->Delete(); } } } @@ -146,6 +143,7 @@ void HYDROGUI_VTKPrsShape::buildShape() setWire( aPolylineWire, false, false ); } else { myTopoShape = aPolylineShape; + myDisplayMode = GEOM_Actor::eWireframe; } } @@ -165,6 +163,7 @@ void HYDROGUI_VTKPrsShape::buildShape() setWire( aPolylineWire, false, false ); } else { myTopoShape = aPolylineShape; + myDisplayMode = GEOM_Actor::eWireframe; } } @@ -187,14 +186,13 @@ void HYDROGUI_VTKPrsShape::buildShape() else { // Generate the filling color for zone - QStringList aGeomObjectsNames; + QStringList anObjectsNames; - HYDROData_SequenceOfObjects aRefObjects = aZone->GetGeometryObjects(); + HYDROData_SequenceOfObjects aRefObjects = aZone->GetObjects(); HYDROData_SequenceOfObjects::Iterator anIter( aRefObjects ); for ( ; anIter.More(); anIter.Next() ) { - Handle(HYDROData_Object) aRefbject = - Handle(HYDROData_Object)::DownCast( anIter.Value() ); + Handle(HYDROData_Entity) aRefbject = anIter.Value(); if ( aRefbject.IsNull() ) continue; @@ -202,7 +200,7 @@ void HYDROGUI_VTKPrsShape::buildShape() if ( aRefObjectName.isEmpty() ) continue; - aGeomObjectsNames.append( aRefObjectName ); + anObjectsNames.append( aRefObjectName ); } //setFillingColor( HYDROGUI_Tool::GenerateFillingColor( aDocument, aGeomObjectsNames ) ); @@ -267,15 +265,16 @@ void HYDROGUI_VTKPrsShape::buildShape() } void HYDROGUI_VTKPrsShape::setWire( const TopoDS_Wire& theWire, - const bool theToDisplay, - const bool theIsUpdateViewer ) + const bool theToDisplay, + const bool theIsUpdateViewer ) { myTopoShape = theWire; + myDisplayMode = GEOM_Actor::eWireframe; } void HYDROGUI_VTKPrsShape::setFaces( const TopoDS_Compound& theWires, - const bool theToDisplay, - const bool theIsUpdateViewer ) + const bool theToDisplay, + const bool theIsUpdateViewer ) { TopExp_Explorer anExp( theWires, TopAbs_WIRE ); TopoDS_Compound aCompound; @@ -296,11 +295,12 @@ void HYDROGUI_VTKPrsShape::setFaces( const TopoDS_Compound& theWires, } myTopoShape = aCompound; + //myDisplayMode = GEOM_Actor::eShading; } void HYDROGUI_VTKPrsShape::setFace( const TopoDS_Wire& theWire, - const bool theToDisplay, - const bool theIsUpdateViewer ) + const bool theToDisplay, + const bool theIsUpdateViewer ) { BRepBuilderAPI_MakeFace aFaceBuilder( theWire, Standard_True ); aFaceBuilder.Build(); @@ -312,15 +312,17 @@ void HYDROGUI_VTKPrsShape::setFace( const TopoDS_Wire& theWire, } void HYDROGUI_VTKPrsShape::setFace( const TopoDS_Face& theFace, - const bool theToDisplay, - const bool theIsUpdateViewer ) + const bool theToDisplay, + const bool theIsUpdateViewer ) { myTopoShape = theFace; + //myDisplayMode = GEOM_Actor::eShading; } void HYDROGUI_VTKPrsShape::setShape( const TopoDS_Shape& theShape, - const bool theToDisplay, - const bool theIsUpdateViewer ) + const bool theToDisplay, + const bool theIsUpdateViewer ) { myTopoShape = theShape; + //myDisplayMode = GEOM_Actor::eShading; }