GSKQuadrangle
Objective-C
@interface GSKQuadrangle : NSObject
Swift
class GSKQuadrangle : NSObject
Represents a quadrangular area of the photo, generally the document for which to correct the perspective.
A quadrangle should always be expressed in the coordinates of the “up” image
A normalized quadrangle: corners expressed in fraction of the image dimensions. Each coordinate will be a floating point between 0 and 1.
-
Unavailable
Use one of the static constructors.
Declaration
Objective-C
- (nonnull instancetype)init; -
Returns an empty quadrangle, where the four points are equal to origin of the coordinates (0, 0).
This quadrangle has generally no concrete use, but can be used as a marker for an invalid or missing quadrangle.
Declaration
Objective-C
+ (nonnull GSKQuadrangle *)emptyQuadrangle;Swift
class func empty() -> GSKQuadrangle -
Builds a full quadrangle. See isFull.
Declaration
Objective-C
+ (nonnull GSKQuadrangle *)fullQuadrangle;Swift
class func full() -> GSKQuadrangle -
Converts rect into a GSKQuadrangle instance.
Declaration
Objective-C
+ (nonnull GSKQuadrangle *)quadrangleFromCGRect:(CGRect)rect;Swift
/*not inherited*/ init(from rect: CGRect) -
Undocumented
Declaration
Objective-C
+ (GSKQuadrangle *)quadrangleWithTopLeft:(CGPoint)topLeft topRight:(CGPoint)topRight bottomLeft:(CGPoint)bottomLeft bottomRight:(CGPoint)bottomRight;Swift
/*not inherited*/ init(topLeft: CGPoint, topRight: CGPoint, bottomLeft: CGPoint, bottomRight: CGPoint) -
Undocumented
Declaration
Objective-C
- (BOOL)isEmpty;Swift
func isEmpty() -> Bool -
Returns YES if the quadrangle encompasses the entire image, NO otherwise.
Note that it’s only valid to call this method on a normalized quadrangle.
Declaration
Objective-C
- (BOOL)isFull;Swift
func isFull() -> Bool -
Returns YES if the quadrangle is convex, NO if it’s concave. See: https://en.wikipedia.org/wiki/Convex_polygon
Declaration
Objective-C
- (BOOL)isConvex;Swift
func isConvex() -> Bool -
The top left point of the quadrangle
Declaration
Objective-C
@property (nonatomic, readonly) CGPoint topLeft;Swift
var topLeft: CGPoint { get } -
The bottom top right point of the quadrangle
Declaration
Objective-C
@property (nonatomic, readonly) CGPoint topRight;Swift
var topRight: CGPoint { get } -
The bottom left point of the quadrangle
Declaration
Objective-C
@property (nonatomic, readonly) CGPoint bottomLeft;Swift
var bottomLeft: CGPoint { get } -
The bottom right point of the quadrangle
Declaration
Objective-C
@property (nonatomic, readonly) CGPoint bottomRight;Swift
var bottomRight: CGPoint { get } -
Given a normalized Quadrangle, returns a new quadrangle expressed in the given size coordinates
Declaration
Objective-C
- (nonnull GSKQuadrangle *)scaleForSize:(CGSize)size;Swift
func scale(for size: CGSize) -> GSKQuadrangle -
Given a quadrangle expressed in the given size coordinates, returns a new quadrangle with normalized coordinates.
Declaration
Objective-C
- (nonnull GSKQuadrangle *)normalizedWithSize:(CGSize)size;Swift
func normalized(with size: CGSize) -> GSKQuadrangle -
Given a quadrangle detected on a oriented image, this returns the quadrangle that would have been detected if once the image was rotated according to its orientation.
IMPORTANT: this should only be applied to a normalized quadrangle
Declaration
Objective-C
- (nonnull GSKQuadrangle *)rotatedForUpOrientation: (UIImageOrientation)orientation;Swift
func rotated(forUp orientation: UIImage.Orientation) -> GSKQuadrangle -
Converts the quadrangle back to not take in account an image orientation
Declaration
Objective-C
- (nonnull GSKQuadrangle *)rotatedWithoutOrientation: (UIImageOrientation)orientation;Swift
func rotatedWithoutOrientation(_ orientation: UIImage.Orientation) -> GSKQuadrangle -
Ensures corners have their coordinates within [0, 1]
Declaration
Objective-C
- (nonnull GSKQuadrangle *)sanitized;Swift
func sanitized() -> GSKQuadrangle
GSKQuadrangle Class Reference