luxlabs header browser preview


@class VKViewVolume, VKCameraRegionRestriction, VKFootprint;

@interface VKCamera : NSObject {
    struct RunLoopController { struct MapEngine *x0; long long x1; } *_runLoopController;
    struct { BOOL orthographic; double width; double height; double near; double far; double horizontalOffset; } _frustum;
    double _maxFarClipDistance;
    BOOL _needsUpdate;
    BOOL _updating;
    VKViewVolume *_viewVolume;
    VKFootprint *_footprint;
    double _tanHalfHorizFOV;
    double _tanHalfVerticalFOV;
    struct Matrix<double, 3, 1> { double _e[3]; } _forward;
    struct Matrix<double, 3, 1> { double _e[3]; } _right;
    struct Matrix<double, 3, 1> { double _e[3]; } _up;
    struct Unit<geo::RadianUnitDescription, double> { double _value; } _verticalFieldOfView;
    double _near;
    double _far;
    double _width;
    double _height;
    struct RigidTransform<double, double> { struct Matrix<double, 3, 1> { double _e[3]; } _translation; struct Quaternion<double> { struct Matrix<double, 3, 1> { double _e[3]; } _imaginary; double _scalar; } _rotation; } _transform;
    struct Matrix<double, 4, 4> { double _e[16]; } _scaledViewMatrix;
    struct Matrix<double, 4, 4> { double _e[16]; } _scaledProjectionMatrix;
    struct Matrix<double, 4, 4> { double _e[16]; } _scaledViewProjectionMatrix;
    struct Matrix<double, 4, 4> { double _e[16]; } _unscaledViewMatrix;
    struct Matrix<double, 4, 4> { double _e[16]; } _unscaledProjectionMatrix;
    struct Matrix<double, 4, 4> { double _e[16]; } _worldMatrix;
}

@property (readonly, nonatomic) struct { BOOL x0; double x1; double x2; double x3; double x4; double x5; } frustum;
@property (nonatomic) const void *position;
@property (nonatomic) const void *orientation;
@property (nonatomic) double aspectRatio;
@property (readonly, nonatomic) struct Unit<geo::RadianUnitDescription, double> { double x0; } horizontalFieldOfView;
@property (nonatomic) struct Unit<geo::RadianUnitDescription, double> { double x0; } verticalFieldOfView;
@property (readonly, nonatomic) double farClipDistance;
@property (readonly, nonatomic) double nearClipDistance;
@property (nonatomic) double ndcZNear;
@property (nonatomic) struct VKCameraState { struct RigidTransform<double, double> { struct Matrix<double, 3, 1> { double x0[3]; } x0; struct Quaternion<double> { struct Matrix<double, 3, 1> { double x0[3]; } x0; double x1; } x1; } x0; double x1; struct Unit<geo::RadianUnitDescription, double> { double x0; } x2; double x3; } cameraState;
@property (nonatomic) double minHeight;
@property (nonatomic) double maxHeight;
@property (nonatomic) double maxHeightNoPitch;
@property (nonatomic) double maxPitch;
@property (nonatomic) struct optional<double> { BOOL _hasValue; union ValueUnion { unsigned char data[8]; double type; } _value; } minDistanceToGroundRestriction;
@property (nonatomic) struct optional<double> { BOOL _hasValue; union ValueUnion { unsigned char data[8]; double type; } _value; } maxDistanceToGroundRestriction;
@property (retain, nonatomic) VKCameraRegionRestriction *regionRestriction;
@property (nonatomic) double terrainHeight;
@property (readonly, nonatomic) VKViewVolume *viewVolume;
@property (readonly, nonatomic) VKFootprint *footprint;
@property (readonly, nonatomic) struct Matrix<double, 3, 1> { double x0[3]; } upVector;
@property (readonly, nonatomic) struct Matrix<double, 3, 1> { double x0[3]; } rightVector;
@property (readonly, nonatomic) struct Matrix<double, 3, 1> { double x0[3]; } forwardVector;
@property (readonly, nonatomic) struct Matrix<double, 3, 1> { double x0[3]; } groundPoint;
@property (readonly, nonatomic) double pitch;
@property (readonly, nonatomic) double yaw;
@property (readonly, nonatomic) double tanHalfHorizFOV;
@property (readonly, nonatomic) double tanHalfVerticalFOV;
@property (readonly, nonatomic) double distanceToGroundAndFarClipPlaneIntersection;
@property (readonly, nonatomic) double screenHeightOfGroundAndFarClipPlaneIntersection;
@property (nonatomic) double fractionOfScreenAboveFarClipPlaneAtCanonicalPitch;
@property (nonatomic) double canonicalPitch;
@property (nonatomic) double horizontalOffset;
@property (readonly, nonatomic) const void *scaledViewMatrix;
@property (readonly, nonatomic) const void *scaledProjectionMatrix;
@property (readonly, nonatomic) const void *scaledViewProjectionMatrix;
@property (readonly, nonatomic) const void *unscaledViewMatrix;
@property (readonly, nonatomic) const void *unscaledProjectionMatrix;

- (void)setNeedsUpdate;
- (struct CameraFrame<geo::Radians, double> { struct Coordinate3D<geo::Radians, double> { struct Unit<geo::RadianUnitDescription, double> { double x0; } x0; struct Unit<geo::RadianUnitDescription, double> { double x0; } x1; struct Unit<geo::MeterUnitDescription, double> { double x0; } x2; } x0; struct Unit<geo::MeterUnitDescription, double> { double x0; } x1; struct Unit<geo::RadianUnitDescription, double> { double x0; } x2; struct Unit<geo::RadianUnitDescription, double> { double x0; } x3; struct Unit<geo::RadianUnitDescription, double> { double x0; } x4; })cameraFrame:(BOOL)a0;
- (double)depthForViewWidth:(double)a0;
- (id)detailedDescription;
- (void)updateIfNeeded;
- (struct CGPoint { double x0; double x1; })screenPointFromGroundPoint:(const void *)a0;
- (struct Matrix<double, 3, 1> { double x0[3]; })groundPlaneIntersectionPoint;
- (struct View<double> { struct RigidTransform<double, double> { struct Matrix<double, 3, 1> { double x0[3]; } x0; struct Quaternion<double> { struct Matrix<double, 3, 1> { double x0[3]; } x0; double x1; } x1; } x0; struct Matrix<double, 4, 4> { double x0[16]; } x1; struct Matrix<double, 4, 4> { double x0[16]; } x2; struct Matrix<double, 4, 4> { double x0[16]; } x3; double x4; double x5; struct ViewSize { unsigned short x0; unsigned short x1; } x6; int x7; })view:(struct ViewSize { unsigned short x0; unsigned short x1; })a0;
- (float)zoomAtCentrePoint;
- (id).cxx_construct;
- (double)widthOfViewAtDepth:(double)a0;
- (id)description;
- (id /* block */)annotationRectTest;
- (void)setMercatorPosition:(const void *)a0;
- (float)zoomAtPoint:(struct CGPoint { double x0; double x1; })a0;
- (double)displayZoomLevel;
- (void).cxx_destruct;
- (struct Mercator3<double> { double x0[3]; })mercatorPosition;
- (id /* block */)annotationCoordinateTest;
- (struct optional<gm::Matrix<double, 3, 1>> { BOOL x0; union ValueUnion { unsigned char x0[24]; struct Matrix<double, 3, 1> { double x0[3]; } x1; } x1; })groundPointFromScreenPoint:(struct CGPoint { double x0; double x1; })a0;
- (id)descriptionDictionaryRepresentation;
- (void)adjustClipPlanes;
- (id)initWithRunLoopController:(struct RunLoopController { struct MapEngine *x0; long long x1; } *)a0;
- (struct optional<gm::Matrix<double, 3, 1>> { BOOL x0; union ValueUnion { unsigned char x0[24]; struct Matrix<double, 3, 1> { double x0[3]; } x1; } x1; })groundPointFromScreenPoint:(struct CGPoint { double x0; double x1; })a0 atGroundLevel:(double)a1;
- (void)_setPosition:(const void *)a0;
- (void)updateCamera:(struct shared_ptr<gdc::Camera> { struct Camera *x0; struct __shared_weak_count *x1; })a0;

@end