X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPIPELINE%2FVISU_Plot3DPL.hxx;h=328fa3bd361e8bfd68b2962c9cf456099895b96b;hb=d920ec40769170efb5b1750fd8192cb789537b70;hp=cb237fa78a8261c6d4e6ff57e7bde9ea1efa2738;hpb=e967b0415406f4f86ca2c9489abc8554b4c15dae;p=modules%2Fvisu.git diff --git a/src/PIPELINE/VISU_Plot3DPL.hxx b/src/PIPELINE/VISU_Plot3DPL.hxx index cb237fa7..328fa3bd 100644 --- a/src/PIPELINE/VISU_Plot3DPL.hxx +++ b/src/PIPELINE/VISU_Plot3DPL.hxx @@ -1,56 +1,60 @@ -// VISU OBJECT : interactive object for VISU entities implementation +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2003-2007 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 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. +// 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 +// 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 // -// + +// VISU OBJECT : interactive object for VISU entities implementation // File: VISU_CutPlanesPL.hxx // Author: Alexey PETROV // Module : VISU - +// #ifndef VISU_Plot3DPL_HeaderFile #define VISU_Plot3DPL_HeaderFile +#include "VISUPipeline.hxx" #include "VISU_ScalarMapPL.hxx" #include "VISU_CutPlanesPL.hxx" class vtkWarpScalar; class vtkContourFilter; class vtkGeometryFilter; -class vtkCellDataToPointData; +class VISU_CellDataToPointData; -class VISU_Plot3DPL : public VISU_ScalarMapPL{ -protected: - VISU_Plot3DPL(); - VISU_Plot3DPL(const VISU_Plot3DPL&); +//---------------------------------------------------------------------------- +class VISU_PIPELINE_EXPORT VISU_Plot3DPL : public VISU_ScalarMapPL +{ public: - vtkTypeMacro(VISU_Plot3DPL,VISU_ScalarMapPL); - static VISU_Plot3DPL* New(); - virtual ~VISU_Plot3DPL(); + vtkTypeMacro(VISU_Plot3DPL, VISU_ScalarMapPL); + + static + VISU_Plot3DPL* + New(); virtual - void - ShallowCopy(VISU_PipeLine *thePipeLine); + unsigned long int + GetMTime(); + //---------------------------------------------------------------------------- VISU_CutPlanesPL::PlaneOrientation - GetPlaneOrientation() const; + GetPlaneOrientation(); vtkFloatingPointType GetRotateX(); @@ -60,70 +64,101 @@ public: void SetOrientation(VISU_CutPlanesPL::PlaneOrientation theOrientation, - vtkFloatingPointType theXAngle = 0.0, - vtkFloatingPointType theYAngle = 0.0); + vtkFloatingPointType theXAngle = 0.0, + vtkFloatingPointType theYAngle = 0.0); vtkFloatingPointType - GetPlanePosition() const; + GetPlanePosition(); bool - IsPositionRelative() const; + IsPositionRelative(); void SetPlanePosition(vtkFloatingPointType thePosition, - bool theIsRelative); + bool theIsRelative); void SetScaleFactor(vtkFloatingPointType theScaleFactor); vtkFloatingPointType - GetScaleFactor() const; + GetScaleFactor(); void - SetContourPrs (bool theIsContourPrs ) { myIsContour = theIsContourPrs; } + SetContourPrs(bool theIsContourPrs ); bool - GetIsContourPrs() { return myIsContour; } + GetIsContourPrs(); void SetNumberOfContours(int theNumber); int - GetNumberOfContours() const; + GetNumberOfContours(); - void GetBasePlane (vtkFloatingPointType theOrigin[3], - vtkFloatingPointType theNormal[3], - bool theCenterOrigine = false ) const; + void + GetBasePlane (vtkFloatingPointType theOrigin[3], + vtkFloatingPointType theNormal[3], + bool theCenterOrigine = false ); + + void + GetMinMaxPosition( vtkFloatingPointType& minPos, + vtkFloatingPointType& maxPos ); + +public: + virtual + void + Init(); - void GetMinMaxPosition( vtkFloatingPointType& minPos, - vtkFloatingPointType& maxPos ) const; + virtual + void + Update(); -public: - virtual void Init(); - virtual void Update(); + //! Gets memory size used by the instance (bytes). + virtual + unsigned long int + GetMemorySize(); static VISU_CutPlanesPL::PlaneOrientation GetOrientation(vtkDataSet* theDataSet); + static vtkFloatingPointType - GetScaleFactor(vtkDataSet* theDataSet); + GetScaleFactor( VISU_ColoredPL* theColoredPL, + vtkDataSet* theDataSet ); - void SetMapScale(vtkFloatingPointType theMapScale); + void + SetMapScale(vtkFloatingPointType theMapScale); protected: - virtual THook* DoHook(); + VISU_Plot3DPL(); + + virtual + ~VISU_Plot3DPL(); + + virtual + vtkDataSet* + InsertCustomPL(); + + virtual + void + DoShallowCopy(VISU_PipeLine *thePipeLine, + bool theIsCopyInput); vtkFloatingPointType myAngle[3]; bool myIsRelative, myIsContour; - vtkFloatingPointType myPosition, myScaleFactor; + vtkFloatingPointType myPosition, myScaleFactor, myMapScaleFactor; VISU_CutPlanesPL::PlaneOrientation myOrientation; - TVTKSmartPtr myCellDataToPointData; - TVTKSmartPtr myAppendPolyData; - TVTKSmartPtr myGeometryFilter; - TVTKSmartPtr myContourFilter; - TVTKSmartPtr myWarpScalar; + vtkSmartPointer myCellDataToPointData; + vtkSmartPointer myAppendPolyData; + vtkSmartPointer myGeometryFilter; + vtkSmartPointer myContourFilter; + vtkSmartPointer myWarpScalar; + +private: + VISU_Plot3DPL(const VISU_Plot3DPL&);; // Not implemented. + void operator=(const VISU_Plot3DPL&); // Not implemented. }; #endif