Files
ThirdParty-6/ParaView-5.0.1/ParaViewCore/ClientServerCore/Rendering/vtkStructuredGridVolumeRepresentation.h

80 lines
3.1 KiB
C++

/*=========================================================================
Program: ParaView
Module: vtkStructuredGridVolumeRepresentation.h
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 vtkStructuredGridVolumeRepresentation - representation for showing
// vtkStructuredGrid datasets as volumes.
// .SECTION Description
// vtkStructuredGridVolumeRepresentation is a representation for volume
// rendering vtkStructuredGrid datasets with one caveat: it assumes that the
// structured grid is not "curved" i.e. bounding boxes of non-intersecting
// extents don't intersect (or intersect negligibly). This is the default (and
// faster) method. Alternatively, one can set UseDataParititions to
// off and the representation will simply reply on the view to build the sorting
// order using the unstructured grid. In which case, however data will be
// transferred among processing.
#ifndef vtkStructuredGridVolumeRepresentation_h
#define vtkStructuredGridVolumeRepresentation_h
#include "vtkUnstructuredGridVolumeRepresentation.h"
class vtkTableExtentTranslator;
class VTKPVCLIENTSERVERCORERENDERING_EXPORT vtkStructuredGridVolumeRepresentation :
public vtkUnstructuredGridVolumeRepresentation
{
public:
static vtkStructuredGridVolumeRepresentation* New();
vtkTypeMacro(vtkStructuredGridVolumeRepresentation, vtkUnstructuredGridVolumeRepresentation);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// When on (default), the representation tells the view to use the
// partitioning information from the input structured grid for ordered
// compositing. When off we let the view build its own ordering and
// redistribute data as needed.
void SetUseDataParititions(bool);
vtkGetMacro(UseDataParititions, bool);
// Description:
// vtkAlgorithm::ProcessRequest() equivalent for rendering passes. This is
// typically called by the vtkView to request meta-data from the
// representations or ask them to perform certain tasks e.g.
// PrepareForRendering.
virtual int ProcessViewRequest(vtkInformationRequestKey* request_type,
vtkInformation* inInfo, vtkInformation* outInfo);
//BTX
protected:
vtkStructuredGridVolumeRepresentation();
~vtkStructuredGridVolumeRepresentation();
// Description:
// Fill input port information.
virtual int FillInputPortInformation(int port, vtkInformation* info);
// Description:
virtual int RequestData(vtkInformation*,
vtkInformationVector**, vtkInformationVector*);
bool UseDataParititions;
vtkTableExtentTranslator* TableExtentTranslator;
private:
vtkStructuredGridVolumeRepresentation(const vtkStructuredGridVolumeRepresentation&); // Not implemented
void operator=(const vtkStructuredGridVolumeRepresentation&); // Not implemented
//ETX
};
#endif