13 #include <matrix/vlVector.h>
15 class DtGeodeticCoord;
35 const DtVector& normalA,
const DtVector& middleA,
36 const DtVector& b1,
const DtVector& b2,
37 const DtVector& normalB,
const DtVector& middleB,
38 DtVector& intersectionPoint);
41 const DtVector& b1,
const DtVector& b2,
42 DtVector& intersectionPoint);
45 const DtGeodeticCoord& b1,
const DtGeodeticCoord& b2,
46 DtGeodeticCoord& intersectionPoint);
63 const DtVector& v1,
const DtVector& v2,
64 const DtVector& arcNormal,
65 const std::vector<DtVector>& pathVertices,
66 const std::vector<DtVector>& pathEdgeNormals,
67 const bool isPathClosed,
68 DtVector& intersectionPoint,
69 const bool debug =
false);
72 const DtVector& v1,
const DtVector& v2,
73 const std::vector<DtVector>& pathVertices,
74 DtVector& intersectionPoint,
75 const bool debug =
false);
91 const std::vector<DtVector>& pathVertices,
92 const std::vector<DtVector>& pathEdgeNormals,
93 const std::vector<DtVector>& areaVertices,
94 const std::vector<DtVector>& areaEdgeNormals,
95 const bool debug =
false);
double myXLimit
Definition: earthSurfaceCoord.h:124
Definition: earthSurfaceCoord.h:104
An object that indicates which, if any, hemispheres a set of points is limited to. For example, if a set of points all have latitude > 0, then in this structure zAxis = DtPositive. If the points are also all in the western hemisphere, the xAxis = DtPositive too (otherwise xAxis = DtBoth).
Definition: earthSurfaceCoord.h:111
Definition: earthSurfaceCoord.h:103
DT_DLL_vrfutil void setHemisphereLimits(const std::vector< DtVector > points, DtHemisphereLimits &limits)
Given a vector of geocentric points, determine if they are all in one of the hemispheres defined by t...
DT_DLL_vrfutil bool earthArcsIntersect(const DtVector &a1, const DtVector &a2, const DtVector &normalA, const DtVector &middleA, const DtVector &b1, const DtVector &b2, const DtVector &normalB, const DtVector &middleB, DtVector &intersectionPoint)
Determines if one arc intersects another. The arcs A and B are each given by end points 1 and 2 defin...
DtHemisphereLimitsStruct()
Definition: earthSurfaceCoord.h:113
DT_DLL_vrfutil bool earthPathIntersectsArea(const std::vector< DtVector > &pathVertices, const std::vector< DtVector > &pathEdgeNormals, const std::vector< DtVector > &areaVertices, const std::vector< DtVector > &areaEdgeNormals, const bool debug=false)
This function wraps earthArcIntersectsPath to check all segments of an (open) path for intersection w...
Definition: earthSurfaceCoord.h:102
DtHemisphereSide myXAxisSide
If the axis side is positive, then the limit member will the the minimum coordinate value; if the axi...
Definition: earthSurfaceCoord.h:123
DT_DLL_vrfutil bool pointOverlapsHemisphereLimits(const DtVector &point, const DtHemisphereLimits &limits)
double myZLimit
Definition: earthSurfaceCoord.h:128
double myYLimit
Definition: earthSurfaceCoord.h:126
DtHemisphereSide
Values for a limiting-hemisphere object in earthSurface functions.
Definition: earthSurfaceCoord.h:100
DT_DLL_vrfutil bool hemisphereLimitsOverlap(const DtHemisphereLimits &limit1, const DtHemisphereLimits &limit2)
Given two hemisphere limits objects, determine if they represent overlapping regions of the earth...
DT_DLL_vrfutil bool earthArcIntersectsPath(const DtVector &v1, const DtVector &v2, const DtVector &arcNormal, const std::vector< DtVector > &pathVertices, const std::vector< DtVector > &pathEdgeNormals, const bool isPathClosed, DtVector &intersectionPoint, const bool debug=false)
Determines if an arc on the earth intersects a path on the earth. The end points of the arc and the p...
DtHemisphereSide myZAxisSide
Definition: earthSurfaceCoord.h:127
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
DtHemisphereSide myYAxisSide
Definition: earthSurfaceCoord.h:125