31 #ifndef __vtkPointsProjectedHull_h
32 #define __vtkPointsProjectedHull_h
34 #include "vtkCommonDataModelModule.h"
35 #include "vtkPoints.h"
42 void PrintSelf(ostream& os, vtkIndent indent);
49 int RectangleIntersectionX(vtkPoints *R);
54 int RectangleIntersectionX(
float ymin,
float ymax,
float zmin,
float zmax);
55 int RectangleIntersectionX(
double ymin,
double ymax,
double zmin,
double zmax);
59 int RectangleIntersectionY(vtkPoints *R);
64 int RectangleIntersectionY(
float zmin,
float zmax,
float xmin,
float xmax);
65 int RectangleIntersectionY(
double zmin,
double zmax,
double xmin,
double xmax);
69 int RectangleIntersectionZ(vtkPoints *R);
74 int RectangleIntersectionZ(
float xmin,
float xmax,
float ymin,
float ymax);
75 int RectangleIntersectionZ(
double xmin,
double xmax,
double ymin,
double ymax);
81 int GetCCWHullX(
float *pts,
int len);
82 int GetCCWHullX(
double *pts,
int len);
88 int GetCCWHullY(
float *pts,
int len);
89 int GetCCWHullY(
double *pts,
int len);
95 int GetCCWHullZ(
float *pts,
int len);
96 int GetCCWHullZ(
double *pts,
int len);
101 int GetSizeCCWHullX();
106 int GetSizeCCWHullY();
111 int GetSizeCCWHullZ();
128 int RectangleIntersection(
double hmin,
double hmax,
129 double vmin,
double vmax,
int direction);
130 int GrahamScanAlgorithm(
int direction);
132 int RectangleBoundingBoxIntersection(
double hmin,
double hmax,
133 double vmin,
double vmax,
int direction);
134 int RectangleOutside(
double hmin,
double hmax,
135 double vmin,
double vmax,
int direction);
137 int RectangleOutside1DPolygon(
double hmin,
double hmax,
138 double vmin,
double vmax,
int dir);
141 void ClearAllocations();
144 static int RemoveExtras(
double *pts,
int n);
145 static double Distance(
double *p1,
double *p2);
146 static int PositionInHull(
double *base,
double *top,
double *pt);
147 static int OutsideLine(
double hmin,
double hmax,
148 double vmin,
double vmax,
double *p0,
double *p1,
double *insidePt);
149 static int OutsideHorizontalLine(
double vmin,
double vmax,
150 double *p0,
double *p1,
double *insidePt);
151 static int OutsideVerticalLine(
double hmin,
double hmax,
double *p0,
152 double *p1,
double *insidePt);
156 vtkTimeStamp PtsTime;
159 float HullBBox[3][4];
161 vtkTimeStamp HullTime[3];
the convex hull of the orthogonal projection of the vtkPoints in the 3 coordinate directions ...