An analysis object that renders a viewshed for a specified point location. More...
Header: | #include <LocationViewshed.h> |
Since: | Esri::ArcGISRuntime 100.2 |
Inherits: | Esri::ArcGISRuntime::Viewshed |
Public Functions
LocationViewshed(const Esri::ArcGISRuntime::Camera &camera, double minDistance, double maxDistance, QObject *parent = nullptr) | |
LocationViewshed(const Esri::ArcGISRuntime::Point &location, double heading, double pitch, double horizontalAngle, double verticalAngle, double minDistance, double maxDistance, QObject *parent = nullptr) | |
virtual | ~LocationViewshed() override |
double | heading() const |
Esri::ArcGISRuntime::Point | location() const |
double | pitch() const |
void | setHeading(double heading) |
void | setLocation(const Esri::ArcGISRuntime::Point &location) |
void | setPitch(double pitch) |
void | updateFromCamera(const Esri::ArcGISRuntime::Camera &camera) |
Detailed Description
LocationViewshed determines visible and non-visible areas in a scene view for an observer defined with a map location (point).
Relevant samples:
- Viewshed (camera): This sample demonstrates how to calculate a Viewshed from a SceneView's current Camera Viewpoint.
- Viewshed (location): Perform a viewshed analysis from a defined vantage point.
See also Analysis.
Member Function Documentation
LocationViewshed::LocationViewshed (const Esri::ArcGISRuntime::Camera &camera, double minDistance , double maxDistance , QObject *parent = nullptr)
Creates a viewshed analysis object whose observer is defined using a point location.
Provide a Camera and distance range to define the analysis frustum.
- camera - A Camera to define the frustum of the viewshed. The camera location is that of the observer.
- minDistance - The minimum distance from the observer at which visibility will be evaluated.
- maxDistance - The maximum distance from the observer at which visibility will be evaluated.
- parent - An optional parent QObject.
Visible and non-visible areas are determined for an area defined by the camera and the min/max distance range. The parameters define the frustum over which visibility is calculated from the camera/observer location. Terrain and other obstacles between the observer and the minimum distance are excluded from the analysis, as are areas beyond the maximum distance.
LocationViewshed::LocationViewshed (const Esri::ArcGISRuntime::Point &location, double heading, double pitch, double horizontalAngle , double verticalAngle , double minDistance , double maxDistance , QObject *parent = nullptr)
Creates a viewshed analysis object whose observer is defined using a point location. Provide a map location and frustum parameters for the analysis.
Provide a map location and frustum parameters for the analysis.
- location - A geographic point location for the observer.
- heading - The heading value (azimuth) in degrees that defines the observer's view direction.
- pitch - The pitch value (angle) of the observer's view relative to the surface. Valid values are from 0 (looking straight down) to 180 (straight up).
- horizontalAngle - The horizontal angle of the observer's view. The value must be greater than 0, and no greater than 360.
- verticalAngle - The vertical angle of the observer's view. The value must be greater than 0, and no greater than 360.
- minDistance - The minimum distance in meters from the observer at which visibility will be evaluated.
- maxDistance - The maximum distance in meters from the observer at which visibility will be evaluated.
- parent - An optional parent QObject.
Visible and non-visible areas are determined for an area defined by the observer location, view angles, and the min/max distance range. The parameters define the frustum over which visibility is calculated from the observer location. The horizontal and vertical angles must be greater than zero to define a valid frustum and are constrained to a maximum of 120 degrees. Terrain and other obstacles between the observer and the minimum distance are excluded from the analysis, as are areas beyond the maximum distance.
[override virtual]
LocationViewshed::~LocationViewshed ()
Destructor.
double LocationViewshed::heading() const
Gets the observer's heading in degrees.
The heading represents the azimuth of the observer's direction of view. The value provided will be normalized to a value between 0 and 360 degrees.
See also setHeading().
Esri::ArcGISRuntime::Point LocationViewshed::location() const
Returns the observer location of the viewshed.
See also setLocation().
double LocationViewshed::pitch() const
Returns the pitch of the observer's field of vision.
Pitch is the angle of the observer's field of vision relative to the surface. Valid values are from 0 (looking straight down) to 180 (straight up).
See also setPitch().
void LocationViewshed::setHeading (double heading)
Sets the heading to heading.
See also heading.
void LocationViewshed::setLocation (const Esri::ArcGISRuntime::Point &location)
Sets the observer location to location.
See also location.
void LocationViewshed::setPitch (double pitch)
Sets the pitch to pitch.
See also pitch.
void LocationViewshed::updateFromCamera (const Esri::ArcGISRuntime::Camera &camera)
Updates the frustum of the viewshed using the properties of the supplied camera.
- camera - A Camera from which the viewshed will be updated.
The Camera is used to update the position, pitch, and heading of the viewshed frustum.