VTK
vtkVolumePicker.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkVolumePicker.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
39#ifndef vtkVolumePicker_h
40#define vtkVolumePicker_h
41
42#include "vtkRenderingVolumeModule.h" // For export macro
43#include "vtkCellPicker.h"
44
45class VTKRENDERINGVOLUME_EXPORT vtkVolumePicker : public vtkCellPicker
46{
47public:
50 void PrintSelf(ostream& os, vtkIndent indent);
51
53
60 vtkSetMacro(PickCroppingPlanes, int);
61 vtkBooleanMacro(PickCroppingPlanes, int);
62 vtkGetMacro(PickCroppingPlanes, int);
64
66
73 vtkGetMacro(CroppingPlaneId, int);
75
76protected:
79
80 virtual void ResetPickInfo();
81
82 virtual double IntersectVolumeWithLine(const double p1[3],
83 const double p2[3],
84 double t1, double t2,
85 vtkProp3D *prop,
87
88 static int ClipLineWithCroppingRegion(const double bounds[6],
89 const int extent[6], int flags,
90 const double x1[3], const double x2[3],
91 double t1, double t2,
92 int &extentPlaneId, int &numSegments,
93 double *t1List, double *t2List,
94 double *s1List, int *planeIdList);
95
98
99private:
100 vtkVolumePicker(const vtkVolumePicker&) VTK_DELETE_FUNCTION;
101 void operator=(const vtkVolumePicker&) VTK_DELETE_FUNCTION;
102};
103
104#endif
105
106
Abstract class for a volume mapper.
ray-cast cell picker for all kinds of Prop3Ds
Definition: vtkCellPicker.h:70
a simple class to control print indentation
Definition: vtkIndent.h:40
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:47
ray-cast picker enhanced for volumes
static vtkVolumePicker * New()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual double IntersectVolumeWithLine(const double p1[3], const double p2[3], double t1, double t2, vtkProp3D *prop, vtkAbstractVolumeMapper *mapper)
virtual void ResetPickInfo()
static int ClipLineWithCroppingRegion(const double bounds[6], const int extent[6], int flags, const double x1[3], const double x2[3], double t1, double t2, int &extentPlaneId, int &numSegments, double *t1List, double *t2List, double *s1List, int *planeIdList)
@ extent
Definition: vtkX3D.h:345
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.