3#include <NDEVR/SoftwareService.h>
5#include <NDEVR/Polyline.h>
6#include <NDEVR/LogPtr.h>
The equivelent of std::vector but with a bit more control.
For a given coordinate, determines the elevation at that coordinate.
static Buffer< LineElevationRequest > SplitRequestsIfNeeded(const Buffer< LineElevationRequest > &requests, uint04 max_samples)
Splits polyline elevation requests that exceed the maximum sample count into smaller sub-requests.
static ElevationService * PrimaryService()
Returns the primary ElevationService instance registered for the application.
virtual void postRequest(const ElevationRequest &request)=0
Posts an asynchronous elevation request to the service for processing.
static ElevationService * s_primary_service
The singleton primary elevation service instance.
static ElevationRequest ConvertToLatLon(const ElevationRequest &request)
Converts the coordinate locations in the given request to latitude/longitude values.
static void SetPrimaryService(ElevationService *elevation_service)
Sets the primary ElevationService instance for the application.
A light-weight base class for Log that allows processes to update, without the need for additional in...
A light-weight wrapper that will be a no-op if there is not a valid log reference,...
A sequence of connected line segments defined by ordered vertices along a path.
Software Service Managers take a Software service to modify the behavior of the software.
Base interface for services that extend or modify software behavior through modules.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Stores options and receives data for determining the elevation at given coordinates.
Buffer< fltp08 > elevations
Output buffer populated with the resulting elevation values.
LogPtr log
Log target for reporting progress or errors during the request.
std::function< void(const ElevationRequest &request)> finished_callback
Callback invoked when the elevation request has been fulfilled.
Buffer< Vertex< 2, fltp08 > > elevation_locations
Individual 2D points at which to query elevation.
UUID coordinate_plane_id
The coordinate reference system used for the request locations.
Buffer< LineElevationRequest > elevation_polylines
Polyline-based elevation queries with sampling parameters.
UUID request_id
Unique identifier for this elevation request.
ElevationRequest()
Constructs a default ElevationRequest with default-initialized members.
Used with ElevationService to request elevations over a polyline at set intervals.
Polyline< 2, fltp08 > polyline
The 2D polyline path along which elevation samples are taken.
uint04 sample_count
The number of evenly spaced elevation samples to take along the polyline.