/*
 * This is one of the header files of Dynamsoft Capture Vision SDK - Document Normalizer module.
 *
 * Copyright © Dynamsoft Corporation. All rights reserved.
 */

#import <Foundation/Foundation.h>
#import <DynamsoftCaptureVisionBundle/DSIntermediateResultUnit.h>

@class DSEdge;

NS_ASSUME_NONNULL_BEGIN

/**
 * DSCandidateQuadEdgesUnit class represents an intermediate result unit whose type is candidate quad edges.
 */
NS_SWIFT_NAME(CandidateQuadEdgesUnit)
@interface DSCandidateQuadEdgesUnit : DSIntermediateResultUnit
/**
 * An array of edges. It includes all edges that candidate quadrilaterals assembling.
 */
- (nullable NSArray<DSEdge *> *)getCandidateQuadEdges;

- (NSInteger)getCount;

- (nullable DSEdge *)getCandidateQuadEdge:(NSInteger)index;

- (void)removeAllCandidateQuadEdges;

- (NSInteger)removeCandidateQuadEdge:(NSInteger)index;

- (NSInteger)addCandidateQuadEdge:(DSEdge *)edge
            matrixToOriginalImage:(CGAffineTransform)matrixToOriginalImage;

- (NSInteger)setCandidateQuadEdge:(NSInteger)index
                             edge:(DSEdge *)edge
            matrixToOriginalImage:(CGAffineTransform)matrixToOriginalImage;

@end

NS_ASSUME_NONNULL_END
