| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- // This file is generated and will be overwritten automatically.
- #import <Foundation/Foundation.h>
- #import <CoreLocation/CoreLocation.h>
- @class MBMVec3;
- @class MBMVec4;
- /**
- * Various options for accessing physical properties of the underlying camera entity.
- * A direct access to these properties allows more flexible and precise controlling
- * of the camera while also being fully compatible and interchangeable with CameraOptions.
- * All fields are optional.
- */
- NS_SWIFT_NAME(FreeCameraOptions)
- __attribute__((visibility ("default")))
- @interface MBMFreeCameraOptions : NSObject
- // This class provides custom init which should be called
- - (nonnull instancetype)init NS_UNAVAILABLE;
- // This class provides custom init which should be called
- + (nonnull instancetype)new NS_UNAVAILABLE;
- /**
- * Get the position of the camera in slightly modified web mercator coordinates
- * - The size of 1 unit is the width of the projected world instead of the "mercator meter".
- * Coordinate [0, 0, 0] is the north-west corner and [1, 1, 0] is the south-east corner.
- * - Z coordinate is conformal and must respect minimum and maximum zoom values.
- * - Zoom is automatically computed from the altitude (z)
- *
- * @return The position if set.
- */
- - (nullable MBMVec3 *)getPosition __attribute((ns_returns_retained));
- /**
- * Set the position of the camera in slightly modified web mercator coordinates
- * - The size of 1 unit is the width of the projected world instead of the "mercator meter".
- * Coordinate [0, 0, 0] is the north-west corner and [1, 1, 0] is the south-east corner.
- * - Z coordinate is conformal and must respect minimum and maximum zoom values.
- * - Zoom is automatically computed from the altitude (z)
- *
- * @param position The position to be set.
- */
- - (void)setPositionForPosition:(nullable MBMVec3 *)position;
- /**
- * Get the orientation of the camera represented as a unit quaternion [x, y, z, w].
- * The default pose of the camera is such that the forward vector is looking up the -Z axis and
- * the up vector is aligned with north orientation of the map:
- * forward: [0, 0, -1]
- * up: [0, -1, 0]
- * right [1, 0, 0]
- *
- * With the w value as the real part of the complex number
- *
- * @return The orientation if set.
- */
- - (nullable MBMVec4 *)getOrientation __attribute((ns_returns_retained));
- /**
- * Set the orientation of the camera represented as a unit quaternion [x, y, z, w].
- * The default pose of the camera is such that the forward vector is looking up the -Z axis and
- * the up vector is aligned with north orientation of the map:
- * forward: [0, 0, -1]
- * up: [0, -1, 0]
- * right [1, 0, 0]
- *
- * With the w value as the real part of the complex number
- *
- * Orientation can be set freely but certain constraints still apply
- * - Orientation must be representable with only pitch and bearing.
- * - Pitch has an upper limit
- *
- * @param orientation The orientation to be set.
- *
- */
- - (void)setOrientationForOrientation:(nullable MBMVec4 *)orientation;
- /**
- * Helper function for setting the mercator position as Lat&Lng and altitude in meters
- *
- * @param location The mercator `coordinate`.
- * @param altitude The altitude in meters.
- */
- - (void)setLocationForLocation:(CLLocationCoordinate2D)location
- altitude:(double)altitude;
- /**
- * Helper function for setting orientation of the camera by defining a focus point.
- * Elevation of 0.0 is used and no up vector.
- *
- * Note: Orientation can be invalid after this call, if the input leads to the camera being upside down or the quaternion has zero length.
- *
- * @param location The `coordinate` representing focal point.
- */
- - (void)lookAtPointForLocation:(CLLocationCoordinate2D)location;
- /**
- * Helper function for setting orientation of the camera by defining a focus point.
- * No up vector is used.
- *
- * Note: Orientation can be invalid after this call, if the input leads to the camera being upside down or the quaternion has zero length.
- *
- * @param location The `coordinate` representing focal point.
- * @param altitude The altitude in meters of the focal point.
- */
- - (void)lookAtPointForLocation:(CLLocationCoordinate2D)location
- altitude:(double)altitude;
- /**
- * Helper function for setting orientation of the camera by defining a focus point.
- *
- * Up vector is required in certain scenarios where bearing can't be deduced from
- * the viewing direction.
- *
- * Note: Orientation can be invalid after this call, if the input leads to the camera being upside down or the quaternion has zero length.
- *
- * @param location The `coordinate` representing focal point.
- * @param altitude The altitude in meters of the focal point.
- * @param upVector The up vector.
- */
- - (void)lookAtPointForLocation:(CLLocationCoordinate2D)location
- altitude:(double)altitude
- upVector:(nonnull MBMVec3 *)upVector;
- /**
- * Helper function for setting the orientation of the camera as a pitch and a bearing.
- *
- * @param pitch The pitch in degrees
- * @param bearing The bearing in degrees
- */
- - (void)setPitchBearingForPitch:(double)pitch
- bearing:(double)bearing;
- @end
|