Files
ThirdParty-6/ParaView-5.0.1/ParaViewCore/ClientServerCore/Default/vtkSliceAlongPolyPlane.h

71 lines
2.3 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkSliceAlongPolyPlane.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.
=========================================================================*/
// .NAME vtkSliceAlongPolyPlane - slice a dataset along a polyplane
// .SECTION Description
// vtkSliceAlongPolyPlane is a filter that slices its first input dataset
// along the surface defined by sliding the poly line in the second input
// dataset along a line parallel to the Z-axis.
// .SECTION See Also
// vtkCutter vtkPolyPlane
#ifndef vtkSliceAlongPolyPlane_h
#define vtkSliceAlongPolyPlane_h
#include "vtkPVClientServerCoreDefaultModule.h" //needed for exports
#include "vtkDataObjectAlgorithm.h"
class vtkDataSet;
class vtkPolyData;
class VTKPVCLIENTSERVERCOREDEFAULT_EXPORT vtkSliceAlongPolyPlane : public vtkDataObjectAlgorithm
{
public:
static vtkSliceAlongPolyPlane* New();
vtkTypeMacro(vtkSliceAlongPolyPlane, vtkDataObjectAlgorithm)
void PrintSelf(ostream& os, vtkIndent indent);
// Description
vtkSetMacro(Tolerance, double)
vtkGetMacro(Tolerance, double)
protected:
vtkSliceAlongPolyPlane();
virtual ~vtkSliceAlongPolyPlane();
virtual int RequestDataObject(
vtkInformation*, vtkInformationVector** inputVector , vtkInformationVector* outputVector);
virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
virtual int FillInputPortInformation( int port, vtkInformation* info);
// Description:
// The actual algorithm for slice a dataset along a polyline.
virtual bool Execute(vtkDataSet* inputDataset, vtkPolyData* lineDataSet, vtkPolyData* output);
// Description:
// Cleans up input polydata.
void CleanPolyLine(vtkPolyData* input, vtkPolyData* output);
private:
vtkSliceAlongPolyPlane(const vtkSliceAlongPolyPlane&); // Not implemented
void operator=(const vtkSliceAlongPolyPlane&); // Not implemented
double Tolerance;
};
#endif