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 
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
double EvaluateFunction(double x, double y, double z)
Definition: vtkPlanes.h:62
vtkPlane * Plane
Definition: vtkPlanes.h:115
implicit function for convex set of planes
Definition: vtkPlanes.h:52
virtual void EvaluateGradient(double x[3], double g[3])=0
vtkPoints * Points
Definition: vtkPlanes.h:113
a simple class to control print indentation
Definition: vtkIndent.h:37
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:53
perform various plane computations
Definition: vtkPlane.h:35
#define VTK_COMMON_EXPORT
vtkDataArray * Normals
Definition: vtkPlanes.h:114
void PrintSelf(ostream &os, vtkIndent indent)
static vtkObject * New()
represent and manipulate 3D points
Definition: vtkPoints.h:38