vtkPistonSlice.h 1.89 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkPistonSlice.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 vtkPistonSlice -  A filter that slices on the GPU
// .SECTION Description
// This filter uses LANL's Piston library to slice on the GPU.

19 20
#ifndef vtkPistonSlice_h
#define vtkPistonSlice_h
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

#include "vtkPistonAlgorithm.h"

class vtkPlane;

class VTKACCELERATORSPISTON_EXPORT vtkPistonSlice : public vtkPistonAlgorithm
{
public:
  vtkTypeMacro(vtkPistonSlice,vtkPistonAlgorithm);
  static vtkPistonSlice *New();
  void PrintSelf(ostream& os, vtkIndent indent);

  //Description:
  //An offset from the plane to slice at.
  vtkSetMacro(Offset, float);
  vtkGetMacro(Offset, float);

  // Description:
  // Set the clipping plane.
  void SetClippingPlane( vtkPlane * plane );

protected:
  vtkPistonSlice();
  ~vtkPistonSlice();

  virtual int ComputePipelineMTime(
    vtkInformation* request, vtkInformationVector** inputVector,
    vtkInformationVector* outputVector, int requestFromOutputPort,
    unsigned long* mtime);

  // Description:
  // Method that does the actual calculation.
  virtual int RequestData(vtkInformation* request,
                          vtkInformationVector** inputVector,
                          vtkInformationVector* outputVector);

  float Offset;
  vtkPlane* Plane;

private:
61
  vtkPistonSlice(const vtkPistonSlice&) VTK_DELETE_FUNCTION;
62
  void operator=(const vtkPistonSlice&) VTK_DELETE_FUNCTION;
63 64 65 66

};

#endif