00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00054
#ifndef __vtkImplicitSelectionLoop_h
00055
#define __vtkImplicitSelectionLoop_h
00056
00057
#include "vtkImplicitFunction.h"
00058
00059
class vtkPoints;
00060
class vtkPolygon;
00061
00062 class VTK_FILTERING_EXPORT vtkImplicitSelectionLoop :
public vtkImplicitFunction
00063 {
00064
public:
00065 vtkTypeRevisionMacro(vtkImplicitSelectionLoop,
vtkImplicitFunction);
00066
void PrintSelf(ostream& os,
vtkIndent indent);
00067
00069
static vtkImplicitSelectionLoop *
New();
00070
00072
00073
float EvaluateFunction(
float x[3]);
00074 float EvaluateFunction(
float x,
float y,
float z)
00075 {
return this->
vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00077
00079
void EvaluateGradient(
float x[3],
float n[3]);
00080
00082
00084
virtual void SetLoop(
vtkPoints*);
00085 vtkGetObjectMacro(Loop,
vtkPoints);
00087
00089
00092 vtkSetMacro(AutomaticNormalGeneration,
int);
00093 vtkGetMacro(AutomaticNormalGeneration,
int);
00094 vtkBooleanMacro(AutomaticNormalGeneration,
int);
00096
00098
00100 vtkSetVector3Macro(Normal,
float);
00101 vtkGetVectorMacro(Normal,
float,3);
00103
00105
unsigned long GetMTime();
00106
00107
protected:
00108 vtkImplicitSelectionLoop();
00109 ~vtkImplicitSelectionLoop();
00110
00111 vtkPoints *Loop;
00112 float Normal[3];
00113 int AutomaticNormalGeneration;
00114
00115
private:
00116
void Initialize();
00117
vtkPolygon *Polygon;
00118
00119
float Origin[3];
00120
float Bounds[6];
00121
float DeltaX;
00122
float DeltaY;
00123
float DeltaZ;
00124
00125
vtkTimeStamp InitializationTime;
00126
00127
private:
00128 vtkImplicitSelectionLoop(
const vtkImplicitSelectionLoop&);
00129
void operator=(
const vtkImplicitSelectionLoop&);
00130 };
00131
00132
#endif
00133
00134