ArcGIS Runtime SDK for iOS: AGSCamera.h Source File
ArcGIS Runtime SDK for iOS  100.15
AGSCamera.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 2022 ESRI
3 
4  All rights reserved under the copyright laws of the United States
5  and applicable international laws, treaties, and conventions.
6 
7  This material is licensed for use under the Esri Master License
8  Agreement (MLA), and is bound by the terms of that agreement.
9  You may redistribute and use this code without modification,
10  provided you adhere to the terms of the MLA and include this
11  copyright notice.
12 
13  See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
14 
15  For additional information, contact:
16  Environmental Systems Research Institute, Inc.
17  Attn: Contracts and Legal Services Department
18  380 New York Street
19  Redlands, California, 92373
20  USA
21 
22  email: contracts@esri.com
23  */
24 
25 #import <Foundation/Foundation.h>
26 #import <ArcGIS/AGSObject.h>
27 
28 @class AGSPoint;
30 
31 /*@file AGSCamera.h */
32 
49 @interface AGSCamera : AGSObject
50 
51 
52 
53 #pragma mark -
54 #pragma mark initializers
55 
56 
57 
67 -(instancetype)initWithLatitude:(double)latitude longitude:(double)longitude altitude:(double)altitude heading:(double)heading pitch:(double)pitch roll:(double)roll;
68 
79 +(instancetype)cameraWithLatitude:(double)latitude longitude:(double)longitude altitude:(double)altitude heading:(double)heading pitch:(double)pitch roll:(double)roll;
80 
88 -(instancetype)initWithLocation:(AGSPoint *)locationPoint heading:(double)heading pitch:(double)pitch roll:(double)roll;
89 
98 +(instancetype)cameraWithLocation:(AGSPoint *)locationPoint heading:(double)heading pitch:(double)pitch roll:(double)roll;
99 
109 -(instancetype)initWithLookAtPoint:(AGSPoint *)lookAtPoint distance:(double)distance heading:(double)heading pitch:(double)pitch roll:(double)roll;
110 
121 +(instancetype)cameraWithLookAtPoint:(AGSPoint *)lookAtPoint distance:(double)distance heading:(double)heading pitch:(double)pitch roll:(double)roll;
122 
127 -(instancetype)initWithTransformationMatrix:(AGSTransformationMatrix *)transformationMatrix;
128 
134 +(instancetype)cameraWithTransformationMatrix:(AGSTransformationMatrix *)transformationMatrix;
135 
136 #pragma mark -
137 #pragma mark properties
138 
143 @property (nonatomic, assign, readonly) double heading;
144 
148 @property (nonatomic, strong, readonly) AGSPoint* location;
149 
155 @property (nonatomic, assign, readonly) double pitch;
156 
161 @property (nonatomic, assign, readonly) double roll;
162 
166 @property (nonatomic, strong, readonly) AGSTransformationMatrix *transformationMatrix;
167 
168 #pragma mark -
169 #pragma mark methods
170 
176 -(AGSCamera*)elevateWithDeltaAltitude:(double)deltaAltitude;
177 
183 -(AGSCamera*)moveForwardWithDistance:(double)distance;
184 
190 -(AGSCamera*)moveToLocation:(AGSPoint*)location;
191 
192 
199 -(AGSCamera*)moveTowardTargetPoint:(AGSPoint *)targetPoint distance:(double)distance;
200 
211 -(AGSCamera*)rotateAroundTargetPoint:(AGSPoint*)targetPoint deltaHeading:(double)deltaHeading deltaPitch:(double)deltaPitch deltaRoll:(double)deltaRoll;
212 
220 -(AGSCamera*)rotateToHeading:(double)heading pitch:(double)pitch roll:(double)roll;
221 
228 -(AGSCamera*)zoomTowardTargetPoint:(AGSPoint*)targetPoint factor:(double)factor;
229 
237 -(BOOL)isEqualToCamera:(AGSCamera*)other;
238 
239 
240 
241 @end
A camera to represent 3D viewpoints of a scene.
Definition: AGSCamera.h:50
double roll
Definition: AGSCamera.h:161
AGSPoint * location
Definition: AGSCamera.h:148
double pitch
Definition: AGSCamera.h:155
AGSTransformationMatrix * transformationMatrix
Definition: AGSCamera.h:166
double heading
Definition: AGSCamera.h:143
Definition: AGSObject.h:28
A location defined by x and y (and optionally z) coordinates.
Definition: AGSPoint.h:73
A class for holding a translation and quaternion array. This is used for camera movement while preven...
Definition: AGSTransformationMatrix.h:37