ArcGISCamera

Namespace: Esri::GameEngine::MapView
Class: Esri/GameEngine/MapView/ArcGISCamera
Since: 1.0.0

Summary

A camera represents an observer's location and their perspective of an ArcGISMap. It is used as a data loading point.

Constructors

ArcGISCamera(const ArcGISPoint&, double, double, double)

Creates a camera with the specified location, heading, pitch, and roll.

Since 1.0.0

Arguments
NameTypeConstSummary
locationPoint
Yes

A point geometry containing the location and altitude at which to place the camera. If the altitude is below the Scene.baseSurface and the Surface.navigationConstraint is set to NavigationConstraint.stayAbove, the camera will be located at the Surface. Note: that the default is NavigationConstraint.stayAbove. If the point has a spatial reference, the point projects to WGS84. Otherwise, a point spatial reference of WGS84 is assumed.

heading
No

The angle around the z-axis the camera is rotated. The angle is clockwise from north in the East, North, Up (ENU) ground reference frame. The value is between 0 to 360. 0 is looking North and 90 is looking East. Values are wrapped around so that they fall within 0 to 360.

pitch
No

The angle around the y-axis the camera is rotated in the East, North, Up (ENU) ground reference frame. The value is between 0 to 180. 0 is looking straight down and 180 is looking straight up. A negative value defaults to 0 and a value greater than 180 defaults to 180. If the behavior of a negative pitch is required, then the corresponding transformation with positive pitch can be set instead. For example, if heading:0 pitch:-20 roll:0 is required then heading:180 pitch:20 roll:180 can be used instead.

roll
No

The angle around the x-axis the camera is rotated in the East, North, Up (ENU) ground reference frame. The value is between 0 to 360. 0 is horizontal, 180 is upside down. Values are wrapped so that they fall within 0 to 360.

Properties

PropertyTypeNullableReadonlySummary
No
Yes

The heading of the camera.

No
Yes

The point geometry containing the location and altitude of the camera.

No
Yes

The pitch of the camera.

No
Yes

The roll of the camera.

Heading

double GetHeading() const

The heading of the camera.

The angle around the z-axis the camera is rotated. The angle is clockwise from north in the East, North, Up (ENU) ground reference frame. The value is between 0 to 360. 0 is looking North and 90 is looking East.

Location

ArcGISPoint GetLocation() const

The point geometry containing the location and altitude of the camera.

Pitch

double GetPitch() const

The pitch of the camera.

The angle around the y-axis the camera is rotated in the East, North, Up (ENU) ground reference frame. The value is between 0 to 180. 0 is looking straight down and 180 is looking straight up.

Roll

double GetRoll() const

The roll of the camera.

The angle around the x-axis the camera is rotated in the East, North, Up (ENU) ground reference frame. The value is between 0 to 360. 0 is horizontal, 180 is upside down.

Methods

SignatureReturn TypeSummary

Elevate(double)

ArcGISCamera

Creates a copy of the camera with the change in altitude applied.

Equals(const ArcGISCamera&)

bool

Tests if this object is equal to a second ArcGISCamera object.

MoveTo(const ArcGISPoint&)

ArcGISCamera

Creates a copy of the camera with a new location.

RotateTo(double, double, double)

ArcGISCamera

Creates a copy of the camera with the specified heading, pitch and roll values.

Elevate

ArcGISCamera Elevate(double deltaAltitude) const

Creates a copy of the camera with the change in altitude applied.

Since 1.0.0

Arguments
NameTypeConstSummary
deltaAltitude
No

The altitude delta to apply to the output camera.

Returns ArcGISCamera

A copy of the camera with an elevation delta adjusted by the parameter delta_altitude.

Equals

bool Equals(const ArcGISCamera& otherCamera) const

Tests if this object is equal to a second ArcGISCamera object.

Since 1.0.0

Arguments
NameTypeConstSummary
otherCamera
Yes

The other camera object.

Returns bool

True if the comparison succeeds and the objects are equal, false otherwise.

MoveTo

ArcGISCamera MoveTo(const ArcGISPoint& location) const

Creates a copy of the camera with a new location.

Since 1.0.0

Arguments
NameTypeConstSummary
location
Yes

The location to move the output camera to.

Returns ArcGISCamera

A copy of the camera with the location changed.

RotateTo

ArcGISCamera RotateTo(double heading, double pitch, double roll) const

Creates a copy of the camera with the specified heading, pitch and roll values.

Since 1.0.0

Arguments
NameTypeConstSummary
heading
No

The angle around the z-axis the new camera is rotated. The angle is clockwise from north in the East, North, Up (ENU) ground reference frame. The value is between 0 to 360. 0 is looking North and 90 is looking East. Values are wrapped around so that they fall within 0 to 360.

pitch
No

The angle around the y-axis the camera is rotated in the East, North, Up (ENU) ground reference frame. The value is between 0 to 180. 0 is looking straight down and 180 is looking straight up. A negative value defaults to 0 and a value greater than 180 defaults to 180. If the behavior of a negative pitch is required, then the corresponding transformation with positive pitch can be set instead. For example, if heading:0 pitch:-20 roll:0 is required then heading:180 pitch:20 roll:180 can be used instead.

roll
No

The angle around the x-axis the new camera is rotated in the East, North, Up (ENU) ground reference frame. The value is between 0 to 360. 0 is horizontal, 180 is upside down. Values are wrapped so that they fall within 0 to 360.

Returns ArcGISCamera

A copy of the camera with the position moved

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.