1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File: VISU_ScalarMapPL.cxx
23 // Author: Roman NIKOLAEV
27 #include "VISU_OptionalDeformationPL.hxx"
28 #include "VISU_PipeLineUtils.hxx"
31 #include <vtkDataSet.h>
32 #include <vtkPassThroughFilter.h>
33 #include <vtkWarpVector.h>
34 #include <vtkCellDataToPointData.h>
36 static int MYDEBUG = 0;
38 static int MYDEBUG = 0;
41 //----------------------------------------------------------------------------
42 VISU_OptionalDeformationPL::VISU_OptionalDeformationPL():
46 if(MYDEBUG) MESSAGE("VISU_OptionalDeformationPL()::VISU_OptionalDeformationPL() - "<<this);
49 //----------------------------------------------------------------------------
50 VISU_OptionalDeformationPL::~VISU_OptionalDeformationPL()
52 if(MYDEBUG) MESSAGE("VISU_OptionalDeformationPL()::~VISU_OptionalDeformationPL() - "<<this);
55 //----------------------------------------------------------------------------
57 VISU_OptionalDeformationPL::GetMTime(){
58 return Superclass::GetMTime();
61 //----------------------------------------------------------------------------
62 void VISU_OptionalDeformationPL::UseDeformation(bool flag){
63 if(myIsDeformed == flag)
73 //----------------------------------------------------------------------------
74 bool VISU_OptionalDeformationPL::IsDeformed(){
78 //----------------------------------------------------------------------------
79 void VISU_OptionalDeformationPL::OnDeformation(){
81 myCellDataToPointData->SetInput(myInputPassFilter->GetOutput());
82 myWarpVector->SetInput(myCellDataToPointData->GetOutput());
83 myOutputPassFiler->SetInput(myWarpVector->GetOutput());
86 //----------------------------------------------------------------------------
87 void VISU_OptionalDeformationPL::OffDeformation(){
88 myOutputPassFiler->SetInput(myInputPassFilter->GetOutput());
93 bool VISU_OptionalDeformationPL::CheckCanDeformate(vtkDataSet* theInput){
95 if(VISU::IsDataOnCells(theInput))
96 return theInput->GetCellData()->GetVectors() != NULL;
97 else if(VISU::IsDataOnPoints(theInput))
98 return theInput->GetPointData()->GetVectors() != NULL;