//
//  ANPathsHelper+Distort.h
//  AvisNocturnaCrossCore
//
//  Created by Mendel Kucharzeck on 27.02.12.
//  Copyright (c) 2012 AvisNocturna Software. All rights reserved.
//

#import "ANPathsHelper.h"
#import "ANGeometryHelper-Defines.h"

@interface ANPathsHelper (Distort)

+ (CGPathRef) trapezoidPinchPath:(CGPathRef)path atSide:(ANGeometry_Sides)side withStrength:(float)strength; //Strength 0..1
+ (CGPathRef) trapezoidEdgePinchPath:(CGPathRef)path atEdge:(ANGeometry_Edges)edge withStrength:(float)strength; //Strength 0..1
+ (CGPathRef) sheerPath:(CGPathRef)path atSide:(ANGeometry_Sides)side withStrength:(float)strength;
+ (CGPathRef) roofDistortPath:(CGPathRef)path atSide:(ANGeometry_Sides)side withStrength:(float)strength;
+ (CGPathRef) invertedRoofDistortPath:(CGPathRef)path atSide:(ANGeometry_Sides)side withStrength:(float)strength;
+ (CGPathRef) waveDistortPath:(CGPathRef)path withDirection:(ANGeometry_Direction)direction withStrength:(float)strength andLength:(float)length andPhase:(float)phase;
+ (CGPathRef) circleDistortPath:(CGPathRef)path withAngle:(float)angle andWidth:(float)width andInverted:(BOOL)inverted;
+ (CGPathRef) barrelDistortPath:(CGPathRef)path  withDirection:(ANGeometry_Direction)direction andStrength:(float)strength;    //-1...1
+ (CGPathRef) sideBarrelDistortPath:(CGPathRef)path withSide:(ANGeometry_Sides)side andStrength:(float)strength;    //-1...1
+ (CGPathRef) bridgeDistortPath:(CGPathRef)path withStrength:(float)strength;    //-1...1
+ (CGPathRef) diamondDistortPath:(CGPathRef)path withVerticalStrength:(float)verticalStrength andHorizontalStrength:(float)horizontalStrength;    //-1...1

@end
