Commit 6b18e29b authored by Utkarsh Ayachit's avatar Utkarsh Ayachit

Refactoring ParaView's Views/Representations to use VTK views/representations.

This commit refactors ParaView's existing views and representations which are
heavily ServerManager to move most of the complicated logic to VTK-level
representations and views.

This commit includes changes to convert all proxy level views/representations to
VTK based views/representations as well supporting infrastructure for parallel
rendering/delivery mechanism required by the VTK views in ParaView.

Details about this design can be found at:
http://paraview.org/ParaView3/index.php/Views_And_Representations
parent 1ba2db9c
......@@ -136,5 +136,5 @@ object8 = 'pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/Multi
QtTesting.playCommand(object8, 'activate', '')
#Image compare
snapshotWidget = 'pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/1QVTKWidget0'
snapshotWidget = 'pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport'
QtTestingImage.compareImage(snapshotWidget, 'SLACToolsPlotOverZ.png', 300, 300);
......@@ -36,6 +36,8 @@ QtTesting.playCommand(object4, 'activate', 'IsoVolume')
QtTesting.playCommand(object5, 'set_string', '150')
QtTesting.playCommand(object6, 'set_string', '170')
QtTesting.playCommand(object3, 'activate', '')
object9 = 'pqClientMainWindow/variableToolbar/displayColor/Variables'
QtTesting.playCommand(object9, 'set_string', 'RTData')
object9 = 'pqClientMainWindow/variableToolbar/actionScalarBarVisibility'
QtTesting.playCommand(object9, 'set_boolean', 'true')
object10 = 'pqClientMainWindow/variableToolbar/actionResetRange'
......
......@@ -21,8 +21,7 @@
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport" command="mousePress" arguments="(0.58885,0.376667,1,1,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport" command="mouseMove" arguments="(0.421603,0.503333,1,0,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport" command="mouseRelease" arguments="(0.421603,0.503333,1,0,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/1/Viewport" command="mousePress" arguments="(0.414634,0.0233333,1,1,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/1/Viewport" command="mouseMove" arguments="(0.414634,0.0233333,1,0,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/1/Viewport" command="mouseRelease" arguments="(0.414634,0.0233333,1,0,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/1/MultiViewFrameMenu/WindowCaption" command="mousePress" arguments="1,1,0,96,11" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/1/MultiViewFrameMenu/WindowCaption" command="mouseRelease" arguments="1,0,0,96,11" />
<pqevent object="pqClientMainWindow/menubar/menuTools" command="activate" arguments="actionTesting_Window_Size" />
</pqevents>
......@@ -2,6 +2,7 @@
<pqevents>
<pqevent object="pqClientMainWindow/menubar/menuSources" command="activate" arguments="OctreeFractal" />
<pqevent object="pqClientMainWindow/proxyTabDock/proxyTabWidget/qt_tabwidget_stackedwidget/objectInspector/Accept" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/variableToolbar/displayColor/Variables" command="set_string" arguments="FractalIterations" />
<pqevent object="pqClientMainWindow/proxyTabDock/proxyTabWidget/qt_tabwidget_tabbar" command="set_tab" arguments="1" />
<pqevent object="pqClientMainWindow/proxyTabDock/proxyTabWidget/qt_tabwidget_stackedwidget/1QScrollArea0/qt_scrollarea_viewport/1pqDisplayProxyEditorWidget0/pqDisplayProxyEditor/ColorGroup/ColorButtonStack/ColorMapPage/EditColorMapButton" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/pqColorScaleDialog/ColorTabs/qt_tabwidget_stackedwidget/ScalePage/PresetButton" command="activate" arguments="" />
......
<?xml version="1.0" ?>
<pqevents>
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/MultiViewFrameMenu/CloseAction" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/1QWidget0/1QScrollArea0/qt_scrollarea_viewport/EmptyView/ConvertActionsFrame/1QPushButton6" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/1QWidget0/1QScrollArea0/qt_scrollarea_viewport/EmptyView/ConvertActionsFrame/1QPushButton5" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/MainControlsToolbar/actionOpenData" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/FileOpenDialog" command="filesSelected" arguments="$PARAVIEW_DATA_ROOT/Data/can.ex2" />
<pqevent object="pqClientMainWindow/proxyTabDock/proxyTabWidget/qt_tabwidget_stackedwidget/objectInspector/ScrollArea/qt_scrollarea_viewport/PanelArea/Editor/Variables" command="setCurrent" arguments="0.0" />
......@@ -14,4 +14,8 @@
<pqevent object="pqClientMainWindow/comparativePanelDock/comparativeVisPanel/addParameter" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/comparativePanelDock/comparativeVisPanel/layoutY" command="spin" arguments="up" />
<pqevent object="pqClientMainWindow/variableToolbar/displayColor/Variables" command="set_string" arguments="DISPL" />
<pqevent object="pqClientMainWindow/variableToolbar/actionEditColorMap" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/pqColorScaleDialog/ColorTabs/qt_tabwidget_stackedwidget/ScalePage/RescaleToDataOverTimeButton" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/1QMessageBox0/qt_msgbox_buttonbox/1QPushButton0" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/pqColorScaleDialog/CloseButton" command="activate" arguments="" />
</pqevents>
......@@ -71,9 +71,8 @@ the renderview active. That's the final state.
<pqevent object="pqClientMainWindow/MainControlsToolbar/actionRedo" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/MainControlsToolbar/actionRedo" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/MainControlsToolbar/actionRedo" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport" command="mousePress" arguments="(0.562092,0.437393,1,1,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport" command="mouseMove" arguments="(0.562092,0.437393,1,0,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/Viewport" command="mouseRelease" arguments="(0.562092,0.437393,1,0,0)" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/MultiViewFrameMenu/WindowCaption" command="mousePress" arguments="1,1,0,96,11" />
<pqevent object="pqClientMainWindow/centralwidget/MultiViewManager/SplitterFrame/MultiViewSplitter/0/MultiViewFrameMenu/WindowCaption" command="mouseRelease" arguments="1,0,0,96,11" />
<pqevent object="pqClientMainWindow/MainControlsToolbar/actionRedo" command="activate" arguments="" />
<pqevent object="pqClientMainWindow/MainControlsToolbar/actionRedo" command="activate" arguments="" />
......
......@@ -11,4 +11,3 @@ endif(WIN32)
execute_process(
COMMAND "@ParaView_BINARY_DIR@/bin/${OutDir}/vtkSMExtractDocumentation" "@ParaView_BINARY_DIR@/Documentation" "${fullXMLFile}"
)
......@@ -67,6 +67,12 @@ vtk1DTransferFunctionFilter::~vtk1DTransferFunctionFilter()
this->SetOutputArrayName(NULL);
}
int vtk1DTransferFunctionFilter::FillInputPortInformation(int port, vtkInformation* info)
{
info->Set(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(), "vtkDataSet");
return 1;
}
// Description:
// This is called by the superclass.
// This is the method you should override.
......
......@@ -99,6 +99,8 @@ protected:
vtk1DTransferFunctionFilter();
virtual ~vtk1DTransferFunctionFilter();
virtual int FillInputPortInformation(int port, vtkInformation* info);
// Description:
// This is called by the superclass.
// This is the method you should override.
......
......@@ -18,17 +18,19 @@ include_directories(
)
set(SM_SOURCES
vtkSMCustomBoundsDomain.cxx
vtkSMPointSpriteRepresentationProxy.cxx
vtkSMSpriteTextureProxy.cxx
vtkPointSpriteRepresentation.cxx
)
set(SM_XMLS_Rendering
PointSprite_Rendering.xml
PointSpriteRepresentation.xml
CSCS_PointSprite_Rendering.xml
CSCS_PointSpriteRepresentation.xml
)
set(SM_XMLS_Graphics
PointSprite_Graphics.xml
CSCS_PointSprite_Graphics.xml
)
set(PLUGIN_NAME PointSprite_Plugin)
......
......@@ -47,7 +47,7 @@
<Property name="ConstantRadius"/>
<Property name="RadiusIsProportional"/>
<Property name="RadiusProportionalFactor"/>
<Property name="RadiusInitialized"/>
<Property name="PointSpriteDefaultsInitialized"/>
</ExposedProperties>
</SubProxy>
......@@ -100,7 +100,7 @@
<Property name="ConstantRadius"/>
<Property name="RadiusIsProportional"/>
<Property name="RadiusProportionalFactor"/>
<Property name="RadiusInitialized"/>
<Property name="PointSpriteDefaultsInitialized"/>
</ExposedProperties>
</SubProxy>
......@@ -154,7 +154,7 @@
<Property name="ConstantRadius"/>
<Property name="RadiusIsProportional"/>
<Property name="RadiusProportionalFactor"/>
<Property name="RadiusInitialized"/>
<Property name="PointSpriteDefaultsInitialized"/>
</ExposedProperties>
</SubProxy>
......
......@@ -29,10 +29,10 @@
#include "pqDisplayArrayWidget.h"
#include "vtkDataObject.h"
#include "vtkEventQtSlotConnect.h"
#include "vtkSMPVRepresentationProxy.h"
#include "vtkSMProperty.h"
#include "vtkSMOutputPort.h"
#include "vtkSMProperty.h"
#include <QComboBox>
#include <QHBoxLayout>
......@@ -436,13 +436,13 @@ void pqDisplayArrayWidget::reloadGUI()
{
arrayName = arrayName.replace(regExpCell, "");
this->addVariable(VARIABLE_TYPE_CELL, arrayName, display->isPartial(
arrayName, vtkSMDataRepresentationProxy::CELL_DATA));
arrayName, vtkDataObject::FIELD_ASSOCIATION_CELLS));
}
else if (regExpPoint.indexIn(arrayName) != -1)
{
arrayName = arrayName.replace(regExpPoint, "");
this->addVariable(VARIABLE_TYPE_NODE, arrayName, display->isPartial(
arrayName, vtkSMDataRepresentationProxy::POINT_DATA));
arrayName, vtkDataObject::FIELD_ASSOCIATION_POINTS));
}
}
this->setEnabled(true);
......
......@@ -113,6 +113,10 @@ pqPointSpriteDisplayPanelDecorator::pqPointSpriteDisplayPanelDecorator(
return;
}
// This is not advisable, but we do it nonetheless since that's what the old
// code was doing. At some point we need to clean this up.
vtkSMPointSpriteRepresentationProxy::InitializeDefaultValues(reprProxy);
this->Internals = new pqInternals(this);
QVBoxLayout* vlayout = dynamic_cast<QVBoxLayout*> (panel->layout());
if (vlayout)
......
/*=========================================================================
Program: ParaView
Module: $RCSfile$
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkPointSpriteRepresentation
// .SECTION Description
// vtkPointSpriteRepresentation is an extension for vtkGeometryRepresentation
// that renders point-sprites at all point locations.
#ifndef __vtkPointSpriteRepresentation_h
#define __vtkPointSpriteRepresentation_h
#include "vtkGeometryRepresentation.h"
class vtk1DGaussianTransferFunction;
class vtk1DLookupTableTransferFunction;
class vtk1DLookupTableTransferFunction;
class vtk1DTransferFunctionChooser;
class vtk1DTransferFunctionFilter;
class vtkCellPointsFilter;
class vtkDepthSortPainter;
class vtkPointSpriteDefaultPainter;
class vtkPointSpriteProperty;
class vtkTwoScalarsToColorsPainter;
class VTK_EXPORT vtkPointSpriteRepresentation : public vtkGeometryRepresentation
{
public:
static vtkPointSpriteRepresentation* New();
vtkTypeMacro(vtkPointSpriteRepresentation, vtkGeometryRepresentation);
void PrintSelf(ostream& os, vtkIndent indent);
//***************************************************************************
// Forwarded to ArrayToRadiusFilter and LODArrayToRadiusFilter
void SetRadiusTransferFunctionEnabled(int val);
void SetRadiusArrayToProcess(int a, int b, int c, int d, const char* e);
//***************************************************************************
// Forwarded to ArrayToOpacityFilter and LODArrayToOpacityFilter
void SetOpacityTransferFunctionEnabled(int val);
void SetOpacityArrayToProcess(int a, int b, int c, int d, const char* e);
//***************************************************************************
// Forwarded to PSProperty (vtkPointSpriteProperty).
void SetRenderMode(int val);
void SetRadiusMode(int val);
void SetConstantRadius(double val);
void SetRadiusRange(double val0, double val1);
void SetMaxPixelSize(double val);
void SetRadiusArrayName(const char* val);
//***************************************************************************
// Forwarded to ScalarsToColorsPainter and LODScalarsToColorsPainter
void SetEnableOpacity(double val);
//***************************************************************************
// Forwarded to RadiusTransferFunctionChooser
void SetRadiusTransferFunctionMode(int val);
void SetRadiusVectorComponent(int val);
void SetRadiusScalarRange(double val0, double val1);
void SetRadiusUseScalarRange(int val);
//***************************************************************************
// Forwarded to OpacityTransferFunctionChooser
void SetOpacityTransferFunctionMode(int val);
void SetOpacityVectorComponent(int val);
void SetOpacityScalarRange(double val0, double val1);
void SetOpacityUseScalarRange(int val);
//***************************************************************************
// Forwarded to RadiusTableTransferFunction
void SetRadiusTableValues(int index, double val);
void SetNumberOfRadiusTableValues(int val);
void RemoveAllRadiusTableValues();
//***************************************************************************
// Forwarded to OpacityTableTransferFunction
void SetOpacityTableValues(int index, double val);
void SetNumberOfOpacityTableValues(int val);
void RemoveAllOpacityTableValues();
//***************************************************************************
// Forwarded to RadiusGaussianTransferFunction
void SetRadiusGaussianControlPoints(int index, double, double, double, double,
double);
void SetNumberOfRadiusGaussianControlPoints(int val);
void RemoveAllRadiusGaussianControlPoints();
//***************************************************************************
// Forwarded to OpacityGaussianTransferFunction
void SetOpacityGaussianControlPoints(int index, double, double, double,
double, double);
void SetNumberOfOpacityGaussianControlPoints(int val);
void RemoveAllOpacityGaussianControlPoints();
// Description:
// InterpolateScalarsBeforeMapping is not supported by this representation.
virtual void SetInterpolateScalarsBeforeMapping(int)
{this->Superclass::SetInterpolateScalarsBeforeMapping(0); }
//BTX
protected:
vtkPointSpriteRepresentation();
~vtkPointSpriteRepresentation();
vtkCellPointsFilter* PointsFilter;
vtk1DTransferFunctionFilter* ArrayToRadiusFilter;
vtk1DTransferFunctionFilter* LODArrayToRadiusFilter;
vtk1DTransferFunctionFilter* ArrayToOpacityFilter;
vtk1DTransferFunctionFilter* LODArrayToOpacityFilter;
vtkPointSpriteProperty* PSProperty;
vtkPointSpriteDefaultPainter* PointSpriteDefaultPainter;
vtkPointSpriteDefaultPainter* LODPointSpriteDefaultPainter;
vtkDepthSortPainter* DepthSortPainter;
vtkDepthSortPainter* LODDepthSortPainter;
vtkTwoScalarsToColorsPainter* ScalarsToColorsPainter;
vtkTwoScalarsToColorsPainter* LODScalarsToColorsPainter;
vtk1DTransferFunctionChooser* RadiusTransferFunctionChooser;
vtk1DTransferFunctionChooser* OpacityTransferFunctionChooser;
vtk1DLookupTableTransferFunction* RadiusTableTransferFunction;
vtk1DLookupTableTransferFunction* OpacityTableTransferFunction;
vtk1DGaussianTransferFunction* RadiusGaussianTransferFunction;
vtk1DGaussianTransferFunction* OpacityGaussianTransferFunction;
private:
vtkPointSpriteRepresentation(const vtkPointSpriteRepresentation&); // Not implemented
void operator=(const vtkPointSpriteRepresentation&); // Not implemented
//ETX
};
#endif
/*=========================================================================
Program: ParaView
Module: $RCSfile$
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#include "vtkSMCustomBoundsDomain.h"
#include "vtkObjectFactory.h"
#include "vtkSMDoubleVectorProperty.h"
#include "vtkPVDataInformation.h"
vtkStandardNewMacro(vtkSMCustomBoundsDomain);
//----------------------------------------------------------------------------
vtkSMCustomBoundsDomain::vtkSMCustomBoundsDomain()
{
}
//----------------------------------------------------------------------------
vtkSMCustomBoundsDomain::~vtkSMCustomBoundsDomain()
{
}
//----------------------------------------------------------------------------
void vtkSMCustomBoundsDomain::UpdateFromInformation(vtkPVDataInformation* info)
{
if (!info)
{
return;
}
vtkIdType npts = info->GetNumberOfPoints();
if (npts == 0)
{
npts = 1;
}
double bounds[6];
info->GetBounds(bounds);
double diag = sqrt(((bounds[1] - bounds[0]) * (bounds[1] - bounds[0])
+ (bounds[3] - bounds[2]) * (bounds[3] - bounds[2]) + (bounds[5]
- bounds[4]) * (bounds[5] - bounds[4])) / 3.0);
double nn = pow(static_cast<double>(npts), 1.0 / 3.0) - 1.0;
if (nn < 1.0)
{
nn = 1.0;
}
this->AddMinimum(0, 0);
this->AddMaximum(0, diag / nn / 2.0);
}
//----------------------------------------------------------------------------
int vtkSMCustomBoundsDomain::SetDefaultValues(vtkSMProperty* prop)
{
vtkSMDoubleVectorProperty* dvp = vtkSMDoubleVectorProperty::SafeDownCast(prop);
if (!dvp)
{
vtkErrorMacro("vtkSMBoundsDomain only works on vtkSMDoubleVectorProperty.");
return 0;
}
if (this->GetMaximumExists(0) && this->GetMinimumExists(0))
{
double min = this->GetMinimum(0);
double max = this->GetMaximum(0);
if (dvp->GetNumberOfElements() == 2)
{
dvp->SetElement(0, min);
dvp->SetElement(1, max);
return 1;
}
else if(dvp->GetNumberOfElements() == 1)
{
dvp->SetElement(0, max);
return 1;
}
}
return 0;
}
//----------------------------------------------------------------------------
void vtkSMCustomBoundsDomain::PrintSelf(ostream& os, vtkIndent indent)
{
this->Superclass::PrintSelf(os, indent);
}
/*=========================================================================
Program: ParaView
Module: vtkSMImageDataParallelStrategy.h
Module: $RCSfile$
Copyright (c) Kitware, Inc.
All rights reserved.
......@@ -12,39 +12,43 @@
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkSMImageDataParallelStrategy
// .NAME vtkSMCustomBoundsDomain
// .SECTION Description
// This is parallel strategy used for vtkImageData. This strategy (unlike
// vtkSMUniformGridParallelStrategy), has logic to move the input image data
// over the client or the render server. Hence, this should never be used for
// representations that show the whole image data (such as volume
// representations). It is designed for applications such as slice
// representation, which simply delivers a single slab from the image data.
//
#ifndef __vtkSMImageDataParallelStrategy_h
#define __vtkSMImageDataParallelStrategy_h
#ifndef __vtkSMCustomBoundsDomain_h
#define __vtkSMCustomBoundsDomain_h
#include "vtkSMSimpleParallelStrategy.h"
#include "vtkSMBoundsDomain.h"
class VTK_EXPORT vtkSMImageDataParallelStrategy :
public vtkSMSimpleParallelStrategy
class VTK_EXPORT vtkSMCustomBoundsDomain : public vtkSMBoundsDomain
{
public:
static vtkSMImageDataParallelStrategy* New();
vtkTypeMacro(vtkSMImageDataParallelStrategy,
vtkSMSimpleParallelStrategy);
static vtkSMCustomBoundsDomain* New();
vtkTypeMacro(vtkSMCustomBoundsDomain, vtkSMBoundsDomain);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// A vtkSMProperty is often defined with a default value in the
// XML itself. However, many times, the default value must be determined
// at run time. To facilitate this, domains can override this method
// to compute and set the default value for the property.
// Note that unlike the compile-time default values, the
// application must explicitly call this method to initialize the
// property.
virtual int SetDefaultValues(vtkSMProperty*);
//BTX
protected:
vtkSMImageDataParallelStrategy();
~vtkSMImageDataParallelStrategy();
vtkSMCustomBoundsDomain();
~vtkSMCustomBoundsDomain();
virtual void UpdateFromInformation(vtkPVDataInformation* information);
private:
vtkSMImageDataParallelStrategy(const vtkSMImageDataParallelStrategy&); // Not implemented
void operator=(const vtkSMImageDataParallelStrategy&); // Not implemented
vtkSMCustomBoundsDomain(const vtkSMCustomBoundsDomain&); // Not implemented
void operator=(const vtkSMCustomBoundsDomain&); // Not implemented
//ETX
};
#endif
......@@ -36,62 +36,26 @@
#ifndef __vtkSMPointSpriteRepresentationProxy_h
#define __vtkSMPointSpriteRepresentationProxy_h
#include "vtkSMSurfaceRepresentationProxy.h"
#include "vtkSMRepresentationProxy.h"
class vtkSMProperty;
class vtkSMPointSpriteRepresentationProxy :
public vtkSMSurfaceRepresentationProxy
class vtkSMPointSpriteRepresentationProxy : public vtkSMRepresentationProxy
{
public:
static vtkSMPointSpriteRepresentationProxy* New();
vtkTypeMacro(vtkSMPointSpriteRepresentationProxy, vtkSMSurfaceRepresentationProxy);
vtkTypeMacro(vtkSMPointSpriteRepresentationProxy, vtkSMRepresentationProxy);
bool BeginCreateVTKObjects();
bool EndCreateVTKObjects();
static double ComputeInitialRadius(vtkPVDataInformation* info);
// Description:
// Initialize the constant radius, radius range and transfer functions if not initialized yet.