VTK
vtkPlanes.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPlanes.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 =========================================================================*/
43 #ifndef __vtkPlanes_h
44 #define __vtkPlanes_h
45 
46 #include "vtkImplicitFunction.h"
47 
48 class vtkPlane;
49 class vtkPoints;
50 class vtkDataArray;
51 
53 {
54 public:
55  static vtkPlanes *New();
57  void PrintSelf(ostream& os, vtkIndent indent);
58 
60 
61  double EvaluateFunction(double x[3]);
62  double EvaluateFunction(double x, double y, double z)
63  {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
65 
67  void EvaluateGradient(double x[3], double n[3]);
68 
70 
72  virtual void SetPoints(vtkPoints*);
73  vtkGetObjectMacro(Points,vtkPoints);
75 
77 
79  void SetNormals(vtkDataArray* normals);
80  vtkGetObjectMacro(Normals,vtkDataArray);
82 
85  void SetFrustumPlanes(double planes[24]);
86 
88 
92  void SetBounds(double bounds[6]);
93  void SetBounds(double xmin, double xmax, double ymin, double ymax,
94  double zmin, double zmax);
96 
98  int GetNumberOfPlanes();
99 
101 
105  vtkPlane *GetPlane(int i);
106  void GetPlane(int i, vtkPlane *plane);
108 
109 protected:
110  vtkPlanes();
111  ~vtkPlanes();
112 
116 
117 private:
118  double Planes[24];
119  double Bounds[6];
120 
121 private:
122  vtkPlanes(const vtkPlanes&); // Not implemented.
123  void operator=(const vtkPlanes&); // Not implemented.
124 };
125 
126 #endif
127 
128