![]() |
VR-Forces 4.7 Class Documentation
|
Classes | |
| struct | IntersectionInformation |
Public Types | |
| typedef boost::function < IntersectionInformation(const DtVector &start, const DtVector &end, bool altitudeMSL)> | SensorFanWalkerFunction |
| If the altitude is not MSL, the function must do an additional height check at the location and adjust the given end vector altitude to actually be above the terrain at that location. | |
| typedef std::vector < IntersectionInformation > | Result |
| The result map is, by segment (i.e. | |
| typedef std::map< int, Result > | Results |
Public Member Functions | |
| DtSensorFanWalker () | |
| CTOR for the walker. | |
| DtSensorFanWalker (const DtSensorFanWalker &) | |
| Copy constructor. | |
| virtual | ~DtSensorFanWalker () |
| virtual void | setBreakAfterTime (double) |
| Set this value to return, even if not complete, after a certain time and a full spoke is complete. | |
| double | breakAfterTime () const |
| virtual void | setPrintStats (bool) |
| Set to true to print out stats of running every minute (default is false) | |
| bool | printStats () const |
| double | azimuthRange () const |
| double | azimuthStart () const |
| double | azimuthEnd () const |
| virtual bool | isComplete () const |
| This is considered complete if the number of spokes processed is the same as the total number of spokes. | |
| virtual void | init (const DtVector &start, double radius, double circleRadianSamplingRate, double sensorFanLineSamplingRate, const std::set< double > &altitudes, double azimuthStart=0., double azimuthEnd=M_2PI, bool altitudeMSL=true) |
| Initialize for a post spacing sensor fan start - Start point, in geocentric radius - meters from the start (origin) to test to circleRadianSamplingRate - How many radians along the circle to move before doing another start to circle edge test sensorFanLineSamplingRate - How many meters to walk along the line before doing another altitude test altitudes - The alttiudes at each point to test along the line Azimuth start - Radians on the circle to start the azimuth check Asimuth end - Radians on the circle to stop the azimuth check altitudeMSL - If true the altitueds given will be above sea level, else the terrain height will be checked at the given location, and, the altitude will be considered above terrain. | |
| virtual void | init (const DtVector &start, double radius, double circleRadianSamplingRate, double azimuthStart=0., double azimuthEnd=M_2PI, double elevationRate=M_DEG2RAD, double elevationStart=0., double elevationEnd=M_PI_2) |
| Initialize for a dome walking sensor fan start - Start point, in geocentric radius - meters from the start (origin) to test to circleRadianSamplingRate - How many radians along the circle to move before doing another start to circle edge test Azimuth start - Radians on the circle to start the azimuth check Asimuth end - Radians on the circle to stop the azimuth check elevationRate - The rate up the dome to walk. | |
| virtual bool | walk (SensorFanWalkerFunction, bool continueIfUnavailable=false) |
| Given the method, will walk along the lines and call this method with the line of sight to check (in geocentric). | |
| const Results & | results () const |
| virtual void | resetStartingSpoke () |
| int | startingSpoke () const |
| int | onSpoke () const |
| double | elevationRate () const |
| double | elevationStart () const |
| double | elevationEnd () const |
| void | setElevationRanges (double s, double e) |
| Sets ranges without re-initializing. | |
| void | setAzimuthRanges (double s, double e) |
| virtual void | updateStartingSpoke () |
| Call this routine when you have sent off a chunk of data and need to move the counter to the next spot for sending. | |
| virtual DtSensorFanWalker * | clone () const |
| Returns a clone of this object. | |
| virtual void | addNew (int onSpoke, const IntersectionInformation &) |
| virtual void | reset () |
| Resets internal variables to start the walking anew. | |
| virtual void | printStatistics () |
| virtual void | setRecordIntersectionPointAsEndPoint (bool) |
| Whether or not to set the end point as the chord test end point or the end point where the intersection has been recorded. | |
| bool | recordIntersectionPointAsEndPoint () const |
| virtual void | setStopOnFirstClearView (bool) |
| Whether or not to stop the intersection checks on the first clear view. Default is true. | |
| bool | stopOnFirstClearView () const |
| virtual void | setCalculateAsDome (bool) |
| If calculateAsDome is true (default is false) will get the elevation angle between the start ray and the elevated ray and recalculate an end point based on the azimuth and elevation, which will be a more true represenation of the radius. | |
| bool | calculateAsDome () const |
| virtual void | copyResultsOf (const DtSensorFanWalker &) |
| Copies the results only of the sensor fan walker given. | |
| virtual void | setCalculationsHaveBegun (bool) |
| Returns true if calculations have begun. | |
| bool | calculationsHaveBegun () const |
Static Public Member Functions | |
| static DtSensorFanWalker * | create () |
| Creates a new instance of this class. | |
| static DtSensorFanWalkerCreatorFcn | sensorFanWalkerCreatorFcn () |
| static void | setSensorFanWalkerCreatorFcn (DtSensorFanWalkerCreatorFcn) |
| static double | calculateDistance (const DtVector &start, const DtVector &end) |
| Calcualtes the 2D distance between the two geocentric points. | |
| static DtVector | calculateEndPointFromRadian (const DtVector &start, double radius, double rad=0) |
| static DtVector | calculatePointFromElevationAngle (const DtVector &geocentricStart, double radius, double azimuth, double elevation) |
Static Protected Attributes | |
| static DtSensorFanWalkerCreatorFcn | theSensorFanWalkerCreatorFcn |
| typedef boost::function<IntersectionInformation (const DtVector& start, const DtVector& end, bool altitudeMSL)> DtSensorFanWalker::SensorFanWalkerFunction |
If the altitude is not MSL, the function must do an additional height check at the location and adjust the given end vector altitude to actually be above the terrain at that location.
| typedef std::vector<IntersectionInformation> DtSensorFanWalker::Result |
The result map is, by segment (i.e.
number of lines along the circle) and step point along that line, contains the point at which there is no intersection If the result is DtVector::zero then there is no line of sight to that point
| typedef std::map<int, Result> DtSensorFanWalker::Results |
| DtSensorFanWalker::DtSensorFanWalker | ( | ) |
CTOR for the walker.
| DtSensorFanWalker::DtSensorFanWalker | ( | const DtSensorFanWalker & | ) |
Copy constructor.
|
virtual |
|
virtual |
Set this value to return, even if not complete, after a certain time and a full spoke is complete.
The walk will return true as this is a valid end condition, so, check the isComplete flag to see if the walk is also complete
|
inline |
|
virtual |
Set to true to print out stats of running every minute (default is false)
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
This is considered complete if the number of spokes processed is the same as the total number of spokes.
|
static |
Creates a new instance of this class.
If there is a creator set will use that function to make the class, else create this class by default
|
static |
|
static |
|
virtual |
Initialize for a post spacing sensor fan start - Start point, in geocentric radius - meters from the start (origin) to test to circleRadianSamplingRate - How many radians along the circle to move before doing another start to circle edge test sensorFanLineSamplingRate - How many meters to walk along the line before doing another altitude test altitudes - The alttiudes at each point to test along the line Azimuth start - Radians on the circle to start the azimuth check Asimuth end - Radians on the circle to stop the azimuth check altitudeMSL - If true the altitueds given will be above sea level, else the terrain height will be checked at the given location, and, the altitude will be considered above terrain.
|
virtual |
Initialize for a dome walking sensor fan start - Start point, in geocentric radius - meters from the start (origin) to test to circleRadianSamplingRate - How many radians along the circle to move before doing another start to circle edge test Azimuth start - Radians on the circle to start the azimuth check Asimuth end - Radians on the circle to stop the azimuth check elevationRate - The rate up the dome to walk.
Assumes a single post space of the radius elevationStart - The elevation starting point in radians. Assumes a sweep, so, if you want to start before zero, start at a - elevation and go to a positive elevantionEnd - The elevation end point in radians
|
virtual |
Given the method, will walk along the lines and call this method with the line of sight to check (in geocentric).
The return value will be intersection result. If dataAvailable is false, and the continue flag is false, will about the check at that point and return false from this method
|
inline |
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets ranges without re-initializing.
|
inlinevirtual |
Call this routine when you have sent off a chunk of data and need to move the counter to the next spot for sending.
|
virtual |
Returns a clone of this object.
|
static |
Calcualtes the 2D distance between the two geocentric points.
|
static |
|
virtual |
|
virtual |
Resets internal variables to start the walking anew.
If walk is called multiple times will be called with the current state of the spoke and results, unless this is called
|
virtual |
|
virtual |
Whether or not to set the end point as the chord test end point or the end point where the intersection has been recorded.
Default is the chord test end point
|
inline |
|
virtual |
Whether or not to stop the intersection checks on the first clear view. Default is true.
|
inline |
|
virtual |
If calculateAsDome is true (default is false) will get the elevation angle between the start ray and the elevated ray and recalculate an end point based on the azimuth and elevation, which will be a more true represenation of the radius.
|
inline |
|
static |
|
virtual |
Copies the results only of the sensor fan walker given.
|
virtual |
Returns true if calculations have begun.
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |