Salome HOME
Python3 porting: analytical curves in the Plot2D Viewer.
[modules/gui.git] / src / SVTK / SVTK_DeviceActor.cxx
index 9b15c76f5fe51f93ab6f767f017473e2826d6383..efa906100d974096ffee624b68e5ffc665228c4d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -6,7 +6,7 @@
 // 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
@@ -120,7 +120,7 @@ SVTK_DeviceActor
 {
   if(theMapper){
     int anId = 0;
-    myPassFilter[ anId ]->SetInputData( theMapper->GetInput() );
+    myPassFilter[ anId ]->SetInputConnection( theMapper->GetInputConnection( 0, 0 ) );
     myPassFilter[ anId + 1]->SetInputConnection( myPassFilter[ anId ]->GetOutputPort() );
     
     anId++; // 1
@@ -158,12 +158,23 @@ SVTK_DeviceActor
 */
 void
 SVTK_DeviceActor
-::SetInput(vtkDataSet* theDataSet)
+::SetInputData(vtkDataSet* theDataSet)
 {
   myMapper->SetInputData(theDataSet);
   InitPipeLine(myMapper);
 }
 
+/*!
+  Allows to set initial vtkDataSet
+*/
+void
+SVTK_DeviceActor
+::SetInputConnection(vtkAlgorithmOutput* theAlgorithmOutput)
+{
+  myMapper->SetInputConnection(theAlgorithmOutput);
+  InitPipeLine(myMapper);
+}
+
 /*!
   To provide VTK to Object and backward mapping
 */
@@ -178,11 +189,11 @@ SetStoreMapping(bool theStoreMapping)
 /*!
   \return time of modification
 */
-unsigned long int 
+vtkMTimeType
 SVTK_DeviceActor
 ::GetMTime()
 {
-  unsigned long mTime = this->Superclass::GetMTime();
+  vtkMTimeType mTime = this->Superclass::GetMTime();
 
   mTime = std::max(mTime,myGeomFilter->GetMTime());
 
@@ -610,8 +621,8 @@ void
 SVTK_DeviceActor
 ::Render(vtkRenderer *ren, vtkMapper* m)
 {
+  int aResolveCoincidentTopology = vtkMapper::GetResolveCoincidentTopology();
   if(myIsResolveCoincidentTopology){
-    int aResolveCoincidentTopology = vtkMapper::GetResolveCoincidentTopology();
     double aFactor, aUnit; 
     vtkMapper::GetResolveCoincidentTopologyPolygonOffsetParameters(aFactor,aUnit);
     
@@ -621,10 +632,11 @@ SVTK_DeviceActor
     Superclass::Render(ren,m);
     
     vtkMapper::SetResolveCoincidentTopologyPolygonOffsetParameters(aFactor,aUnit);
-    vtkMapper::SetResolveCoincidentTopology(aResolveCoincidentTopology);
   }else{
+    vtkMapper::SetResolveCoincidentTopologyToOff();
     Superclass::Render(ren,m);
   }
+  vtkMapper::SetResolveCoincidentTopology(aResolveCoincidentTopology);
 }
 
 /*!
@@ -685,6 +697,21 @@ double SVTK_DeviceActor::GetQuadraticArcAngle(){
   return myGeomFilter->GetQuadraticArcAngle();
 }
 
+/*!
+ * Set ball drawing enabled
+ * \param theBallEnabled flag to enable/disable balls
+ */
+void SVTK_DeviceActor::SetBallEnabled( bool theBallEnabled ) {
+  myMapper->SetBallEnabled( theBallEnabled );
+}
+/*!
+ * Set ball scale factor
+ * \param theBallScale double value a scale factor of ball element
+ */
+void SVTK_DeviceActor::SetBallScale( double theBallScale ) {
+  myMapper->SetBallScale( theBallScale );
+}
+
 /*!
  * Set point marker enabled
  * \param theMarkerEnabled flag to enable/disable point marker