X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_VTKPrsShape.cxx;h=5d152ea5de908ae1e658e085875f617948a40033;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=7512b0a39276be343d805dd695e0bd1badebc342;hpb=8d91ebae2ace0c4fa55e2fde4f80dee2bafb41f5;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_VTKPrsShape.cxx b/src/HYDROGUI/HYDROGUI_VTKPrsShape.cxx index 7512b0a3..5d152ea5 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; } } @@ -267,15 +266,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 +296,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 +313,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; }