64 class GeoTessPosition;
155 :
GeoTessPolygon(center, radius, nEdges), bottom(h_bottom), top(h_top)
204 return (bottom->getLayerIndex() < 0 || layer >= bottom->getLayerIndex())
205 && (top->getLayerIndex() < 0 || layer <= top->getLayerIndex())
206 && radius > bottom->getRadius(x, profiles) - 1e-4
207 && radius < top->getRadius(x, profiles) + 1e-4
208 && GeoTessPolygon::contains(x);
220 return ( bottom->getLayerIndex() < 0 || layer >= bottom->getLayerIndex())
221 && ( top->getLayerIndex() < 0 || layer <= top->getLayerIndex())
222 && GeoTessPolygon::contains(x);
244 bool containsAll(vector<double*>& points, vector<double>& radii, vector<int>& layers, vector<GeoTessProfile**>& profiles)
246 for (
int i=0; i<(int)points.size(); ++i)
247 if (!contains(points[i], radii[i], layers[i], profiles[i]))
263 bool containsAny(vector<double*>& points, vector<double>& radii, vector<int>& layers, vector<GeoTessProfile**>& profiles)
265 for (
int i=0; i<(int)points.size(); ++i)
266 if (contains(points[i], radii[i], layers[i], profiles[i]))
271 virtual void write(
const string& outputFileName);
275 virtual void loadAscii(vector<string>& records);
An ordered list of points on the surface of a unit sphere that define a closed polygon.
Definition: GeoTessPolygon.h:111
Information about an interpolated point at an arbitrary position in a model.
Definition: GeoTessPosition.h:101
GeoTessPolygon3D(double *center, double radius, int nEdges, GeoTessHorizon *h_bottom, GeoTessHorizon *h_top)
Definition: GeoTessPolygon3D.h:154
bool contains(const double *x, const double &radius, const int &layer, GeoTessProfile **profiles)
Definition: GeoTessPolygon3D.h:202
GeoTessPolygon3D(vector< double * > points, GeoTessHorizon *h_bottom, GeoTessHorizon *h_top)
Definition: GeoTessPolygon3D.h:139
An abstract class that represents a single "surface" within a model.
Definition: GeoTessHorizon.h:79
bool contains(const double *x, const int &layer)
Definition: GeoTessPolygon3D.h:218
GeoTessHorizon * getBottom()
Definition: GeoTessPolygon3D.h:184
virtual string class_name()
Definition: GeoTessPolygon3D.h:171
Extends Polygon by including information and constraints about the radial dimension.
Definition: GeoTessPolygon3D.h:114
bool containsAny(vector< double * > &points, vector< double > &radii, vector< int > &layers, vector< GeoTessProfile ** > &profiles)
Definition: GeoTessPolygon3D.h:263
GeoTessHorizon * getTop()
Definition: GeoTessPolygon3D.h:176
bool containsAll(vector< double * > &points, vector< double > &radii, vector< int > &layers, vector< GeoTessProfile ** > &profiles)
Definition: GeoTessPolygon3D.h:244
Abstract class that manages the radii and data values that span a single layer associated with a sing...
Definition: GeoTessProfile.h:96
GeoTessPolygon3D()
Definition: GeoTessPolygon3D.h:126
#define GEOTESS_EXP_IMP
Definition: CPPGlobals.h:71