VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
earthSurfaceCoord.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
12 #include "vrfutil/vrfutilDefines.h"
13 #include <matrix/vlVector.h>
14 
15 class DtGeodeticCoord;
16 
34 DT_DLL_vrfutil bool earthArcsIntersect(const DtVector& a1, const DtVector& a2,
35  const DtVector& normalA, const DtVector& middleA,
36  const DtVector& b1, const DtVector& b2,
37  const DtVector& normalB, const DtVector& middleB,
38  DtVector& intersectionPoint);
39 
40 DT_DLL_vrfutil bool earthArcsIntersect(const DtVector& a1, const DtVector& a2,
41  const DtVector& b1, const DtVector& b2,
42  DtVector& intersectionPoint);
43 
44 DT_DLL_vrfutil bool earthArcsIntersect(const DtGeodeticCoord& a1, const DtGeodeticCoord& a2,
45  const DtGeodeticCoord& b1, const DtGeodeticCoord& b2,
46  DtGeodeticCoord& intersectionPoint);
47 
49 
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);
70 
72  const DtVector& v1, const DtVector& v2,
73  const std::vector<DtVector>& pathVertices,
74  DtVector& intersectionPoint,
75  const bool debug = false);
76 
78 
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);
96 
98 
101 {
105 };
106 
112 {
114  {
118  }
124  double myXLimit;
126  double myYLimit;
128  double myZLimit;
129 };
131 
135 DT_DLL_vrfutil void setHemisphereLimits(const std::vector<DtVector> points,
136  DtHemisphereLimits& limits);
137 DT_DLL_vrfutil bool pointOverlapsHemisphereLimits (const DtVector& point,
138  const DtHemisphereLimits& limits);
139 
144  const DtHemisphereLimits& limit2);
145 
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 &gt; 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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)