You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.2 KiB
66 lines
2.2 KiB
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: $RCSfile: vtkPolyDataToImageStencil.h,v $
|
|
|
|
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 vtkPolyDataToImageStencil - clip an image with polydata
|
|
// .SECTION Description
|
|
// vtkPolyDataToImageStencil will convert a vtkPolyData into an image
|
|
// that can be used with vtkImageStencil or other vtk classes that apply
|
|
// a stencil to an image.
|
|
// .SECTION see also
|
|
// vtkPolyData vtkImageStencil vtkImplicitFunctionToImageStencil
|
|
|
|
#ifndef __vtkPolyDataToImageStencil_h
|
|
#define __vtkPolyDataToImageStencil_h
|
|
|
|
|
|
#include "vtkImageStencilSource.h"
|
|
|
|
class vtkPolyData;
|
|
class vtkOBBTree;
|
|
|
|
class VTK_HYBRID_EXPORT vtkPolyDataToImageStencil : public vtkImageStencilSource
|
|
{
|
|
public:
|
|
static vtkPolyDataToImageStencil *New();
|
|
vtkTypeRevisionMacro(vtkPolyDataToImageStencil, vtkImageStencilSource);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
// Description:
|
|
// Specify the polydata to convert into a stencil.
|
|
void SetInput(vtkPolyData *input);
|
|
vtkPolyData *GetInput();
|
|
|
|
// Description:
|
|
// Set the tolerance for doing spatial searches of the polydata.
|
|
vtkSetMacro(Tolerance, double);
|
|
vtkGetMacro(Tolerance, double);
|
|
|
|
protected:
|
|
vtkPolyDataToImageStencil();
|
|
~vtkPolyDataToImageStencil();
|
|
|
|
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
|
|
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
|
|
|
|
double Tolerance;
|
|
vtkOBBTree *OBBTree;
|
|
|
|
virtual void ReportReferences(vtkGarbageCollector*);
|
|
virtual int FillInputPortInformation(int, vtkInformation*);
|
|
private:
|
|
vtkPolyDataToImageStencil(const vtkPolyDataToImageStencil&); // Not implemented.
|
|
void operator=(const vtkPolyDataToImageStencil&); // Not implemented.
|
|
};
|
|
|
|
#endif
|
|
|