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 // VISU OBJECT : interactive object for VISU entities implementation
23 // File: VISU_PointSpriteMapperHolder.cxx
24 // Author: Alexey PETROV
27 #include "VISU_PointSpriteMapperHolder.hxx"
28 #include "VISU_OpenGLPointSpriteMapper.hxx"
30 #include "VISU_PipeLineUtils.hxx"
31 #include "SALOME_ExtractPolyDataGeometry.h"
34 static int MYDEBUG = 0;
36 static int MYDEBUG = 0;
40 //----------------------------------------------------------------------------
41 vtkStandardNewMacro(VISU_PointSpriteMapperHolder);
44 //----------------------------------------------------------------------------
45 VISU_PointSpriteMapperHolder
46 ::VISU_PointSpriteMapperHolder()
49 MESSAGE("VISU_PointSpriteMapperHolder::VISU_PointSpriteMapperHolder - "<<this);
53 //----------------------------------------------------------------------------
54 VISU_PointSpriteMapperHolder
55 ::~VISU_PointSpriteMapperHolder()
58 MESSAGE("VISU_PointSpriteMapperHolder::~VISU_PointSpriteMapperHolder - "<<this);
62 //----------------------------------------------------------------------------
64 VISU_PointSpriteMapperHolder
65 ::ShallowCopy(VISU_MapperHolder *theMapperHolder,
68 if(VISU_PointSpriteMapperHolder* aMapperHolder = dynamic_cast<VISU_PointSpriteMapperHolder*>(theMapperHolder)){
70 SetGaussPtsIDMapper(aMapperHolder->GetGaussPtsIDMapper());
72 VISU::CopyPointSpriteDataMapper(GetPointSpriteMapper(),
73 aMapperHolder->GetPointSpriteMapper(),
75 myExtractPolyDataGeometry->SetImplicitFunction(aMapperHolder->GetImplicitFunction());
80 //----------------------------------------------------------------------------
82 VISU_PointSpriteMapperHolder
83 ::SetGaussPtsIDMapper(const VISU::PGaussPtsIDMapper& theIDMapper)
85 myGaussPtsIDMapper = theIDMapper;
86 SetPolyDataIDMapper(theIDMapper);
90 //----------------------------------------------------------------------------
91 const VISU::PGaussPtsIDMapper&
92 VISU_PointSpriteMapperHolder
93 ::GetGaussPtsIDMapper()
95 return myGaussPtsIDMapper;
99 //----------------------------------------------------------------------------
101 VISU_PointSpriteMapperHolder
104 myPointSpriteMapper = VISU_OpenGLPointSpriteMapper::New();
105 myPointSpriteMapper->Delete();
106 myPointSpriteMapper->SetColorModeToMapScalars();
107 myPointSpriteMapper->ScalarVisibilityOn();
108 SetPolyDataMapper(myPointSpriteMapper.GetPointer());
112 //----------------------------------------------------------------------------
113 VISU_OpenGLPointSpriteMapper*
114 VISU_PointSpriteMapperHolder
115 ::GetPointSpriteMapper()
118 return myPointSpriteMapper.GetPointer();
122 //----------------------------------------------------------------------------