ArcGIS Runtime SDK for iOS: AGSCamera.h Source File
ArcGIS Runtime SDK for iOS  100.9
AGSCamera.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 1995-2020 ESRI
3 
4  TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
5  Unpublished material - all rights reserved under the
6  Copyright Laws of the United States and applicable international
7  laws, treaties, and conventions.
8 
9  For additional information, contact:
10  Environmental Systems Research Institute, Inc.
11  Attn: Contracts and Legal Services Department
12  380 New York Street
13  Redlands, California, 92373
14  USA
15 
16  email: contracts@esri.com
17  */
18 
19 #import <ArcGIS/AGSObject.h>
20 
21 @class AGSPoint;
23 
24 /*@file AGSCamera.h */
25 
42 @interface AGSCamera : AGSObject
43 
44 
45 
46 #pragma mark -
47 #pragma mark initializers
48 
49 
50 
61 -(instancetype)initWithLatitude:(double)latitude longitude:(double)longitude altitude:(double)altitude heading:(double)heading pitch:(double)pitch roll:(double)roll;
62 
73 +(instancetype)cameraWithLatitude:(double)latitude longitude:(double)longitude altitude:(double)altitude heading:(double)heading pitch:(double)pitch roll:(double)roll;
74 
83 -(instancetype)initWithLocation:(AGSPoint *)locationPoint heading:(double)heading pitch:(double)pitch roll:(double)roll;
84 
93 +(instancetype)cameraWithLocation:(AGSPoint *)locationPoint heading:(double)heading pitch:(double)pitch roll:(double)roll;
94 
105 -(instancetype)initWithLookAtPoint:(AGSPoint *)lookAtPoint distance:(double)distance heading:(double)heading pitch:(double)pitch roll:(double)roll;
106 
117 +(instancetype)cameraWithLookAtPoint:(AGSPoint *)lookAtPoint distance:(double)distance heading:(double)heading pitch:(double)pitch roll:(double)roll;
118 
124 -(instancetype)initWithTransformationMatrix:(AGSTransformationMatrix *)transformationMatrix;
125 
131 +(instancetype)cameraWithTransformationMatrix:(AGSTransformationMatrix *)transformationMatrix;
132 
133 #pragma mark -
134 #pragma mark properties
135 
140 @property (nonatomic, assign, readonly) double heading;
141 
145 @property (nonatomic, strong, readonly) AGSPoint* location;
146 
152 @property (nonatomic, assign, readonly) double pitch;
153 
158 @property (nonatomic, assign, readonly) double roll;
159 
163 @property (nonatomic, strong, readonly) AGSTransformationMatrix *transformationMatrix;
164 
165 #pragma mark -
166 #pragma mark methods
167 
173 -(AGSCamera*)elevateWithDeltaAltitude:(double)deltaAltitude;
174 
180 -(AGSCamera*)moveForwardWithDistance:(double)distance;
181 
187 -(AGSCamera*)moveToLocation:(AGSPoint*)location;
188 
189 
196 -(AGSCamera*)moveTowardTargetPoint:(AGSPoint *)targetPoint distance:(double)distance;
197 
208 -(AGSCamera*)rotateAroundTargetPoint:(AGSPoint*)targetPoint deltaHeading:(double)deltaHeading deltaPitch:(double)deltaPitch deltaRoll:(double)deltaRoll;
209 
217 -(AGSCamera*)rotateToHeading:(double)heading pitch:(double)pitch roll:(double)roll;
218 
225 -(AGSCamera*)zoomTowardTargetPoint:(AGSPoint*)targetPoint factor:(double)factor;
226 
234 -(BOOL)isEqualToCamera:(AGSCamera*)other;
235 
236 
237 
238 @end
A class for holding a translation and quaternion array. This is used for camera movement while preven...
Definition: AGSTransformationMatrix.h:29
double heading
Definition: AGSCamera.h:140
double roll
Definition: AGSCamera.h:158
A camera to represent 3D viewpoints of a secene.
Definition: AGSCamera.h:42
Definition: AGSObject.h:21
AGSPoint * location
Definition: AGSCamera.h:145
double pitch
Definition: AGSCamera.h:152
A location defined by x and y (and optionally z) coordinates.
Definition: AGSPoint.h:57