You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
3.9 KiB
C++
141 lines
3.9 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkTableToStructuredGrid.h
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm 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.
|
|
|
|
=========================================================================*/
|
|
/**
|
|
* @class vtkTableToStructuredGrid
|
|
* @brief converts vtkTable to a vtkStructuredGrid.
|
|
*
|
|
* vtkTableToStructuredGrid is a filter that converts an input
|
|
* vtkTable to a vtkStructuredGrid. It provides API to select columns to use as
|
|
* points in the output structured grid. The specified dimensions of the output
|
|
* (specified using SetWholeExtent()) must match the number of rows in the input
|
|
* table.
|
|
*/
|
|
|
|
#ifndef vtkTableToStructuredGrid_h
|
|
#define vtkTableToStructuredGrid_h
|
|
|
|
#include "vtkFiltersGeneralModule.h" // For export macro
|
|
#include "vtkStructuredGridAlgorithm.h"
|
|
|
|
class vtkTable;
|
|
|
|
class VTKFILTERSGENERAL_EXPORT vtkTableToStructuredGrid : public vtkStructuredGridAlgorithm
|
|
{
|
|
public:
|
|
static vtkTableToStructuredGrid* New();
|
|
vtkTypeMacro(vtkTableToStructuredGrid, vtkStructuredGridAlgorithm);
|
|
void PrintSelf(ostream& os, vtkIndent indent) override;
|
|
|
|
//@{
|
|
/**
|
|
* Get/Set the whole extents for the image to produce. The size of the image
|
|
* must match the number of rows in the input table.
|
|
*/
|
|
vtkSetVector6Macro(WholeExtent, int);
|
|
vtkGetVector6Macro(WholeExtent, int);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Set the name of the column to use as the X coordinate for the points.
|
|
*/
|
|
vtkSetStringMacro(XColumn);
|
|
vtkGetStringMacro(XColumn);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Specify the component for the column specified using SetXColumn() to
|
|
* use as the xcoordinate in case the column is a multi-component array.
|
|
* Default is 0.
|
|
*/
|
|
vtkSetClampMacro(XComponent, int, 0, VTK_INT_MAX);
|
|
vtkGetMacro(XComponent, int);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Set the name of the column to use as the Y coordinate for the points.
|
|
* Default is 0.
|
|
*/
|
|
vtkSetStringMacro(YColumn);
|
|
vtkGetStringMacro(YColumn);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Specify the component for the column specified using SetYColumn() to
|
|
* use as the Ycoordinate in case the column is a multi-component array.
|
|
*/
|
|
vtkSetClampMacro(YComponent, int, 0, VTK_INT_MAX);
|
|
vtkGetMacro(YComponent, int);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Set the name of the column to use as the Z coordinate for the points.
|
|
* Default is 0.
|
|
*/
|
|
vtkSetStringMacro(ZColumn);
|
|
vtkGetStringMacro(ZColumn);
|
|
//@}
|
|
|
|
//@{
|
|
/**
|
|
* Specify the component for the column specified using SetZColumn() to
|
|
* use as the Zcoordinate in case the column is a multi-component array.
|
|
*/
|
|
vtkSetClampMacro(ZComponent, int, 0, VTK_INT_MAX);
|
|
vtkGetMacro(ZComponent, int);
|
|
//@}
|
|
|
|
protected:
|
|
vtkTableToStructuredGrid();
|
|
~vtkTableToStructuredGrid() override;
|
|
|
|
int Convert(vtkTable*, vtkStructuredGrid*, int extent[6]);
|
|
|
|
/**
|
|
* Overridden to specify that input must be a vtkTable.
|
|
*/
|
|
int FillInputPortInformation(int port, vtkInformation* info) override;
|
|
|
|
/**
|
|
* Convert input vtkTable to vtkStructuredGrid.
|
|
*/
|
|
int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
|
|
vtkInformationVector* outputVector) override;
|
|
|
|
/**
|
|
* Request information -- pass whole extent to the pipeline.
|
|
*/
|
|
int RequestInformation(vtkInformation* vtkNotUsed(request),
|
|
vtkInformationVector** vtkNotUsed(inputVector), vtkInformationVector* outputVector) override;
|
|
|
|
char* XColumn;
|
|
char* YColumn;
|
|
char* ZColumn;
|
|
int XComponent;
|
|
int YComponent;
|
|
int ZComponent;
|
|
int WholeExtent[6];
|
|
|
|
private:
|
|
vtkTableToStructuredGrid(const vtkTableToStructuredGrid&) = delete;
|
|
void operator=(const vtkTableToStructuredGrid&) = delete;
|
|
};
|
|
|
|
#endif
|