64 class GeoTessPosition;
155 :
GeoTessPolygon(center, radius, nEdges), bottom(h_bottom), top(h_top)
206 && radius > bottom->
getRadius(x, profiles) - 1e-4
207 && radius < top->
getRadius(x, profiles) + 1e-4
208 && GeoTessPolygon::contains(x);
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);
virtual double getRadius(const double *position, GeoTessProfile **profiles)
Return the radius of the Horizon at the specified geographic position and constrained by the specifie...
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)
Constructor that builds a circular polygon of a specified horizontal radius centered on position cent...
Definition: GeoTessPolygon3D.h:154
bool contains(const double *x, const double &radius, const int &layer, GeoTessProfile **profiles)
Returns true if this Polygon3D contains the specified position.
Definition: GeoTessPolygon3D.h:202
GeoTessPolygon3D(vector< double * > points, GeoTessHorizon *h_bottom, GeoTessHorizon *h_top)
Constructor that accepts a list of unit vectors that define the polygon.
Definition: GeoTessPolygon3D.h:139
Definition: ArrayReuse.h:55
An abstract class that represents a single "surface" within a model.
Definition: GeoTessHorizon.h:79
bool contains(const double *x, const int &layer)
Returns true if this Polygon3D contains the specified position.
Definition: GeoTessPolygon3D.h:218
GeoTessHorizon * getBottom()
Retrieve a reference to the Horizon that defines the bottom of the active region. ...
Definition: GeoTessPolygon3D.h:184
virtual string class_name()
Returns the 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)
Returns true if this Polygon contains any of the supplied unit vectors.
Definition: GeoTessPolygon3D.h:263
GeoTessHorizon * getTop()
Retrieve a reference to the Horizon that defines the top of the active region.
Definition: GeoTessPolygon3D.h:176
bool containsAll(vector< double * > &points, vector< double > &radii, vector< int > &layers, vector< GeoTessProfile ** > &profiles)
Returns true if this Polygon contains all of the supplied unit vectors.
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
virtual int getLayerIndex()
Retrieve the index of the layer that was specified at construction.
Definition: GeoTessHorizon.h:146