#import "ObjectiveChipmunk/ObjectiveChipmunk.h"
#import "chipmunk/cpMarch.h"
#import "chipmunk/cpPolyline.h"
@class ChipmunkPolylineSet;
@interface ChipmunkPolyline : NSObject {
@private
cpPolyline *_line;
cpFloat _area;
}
-(id)initWithPolyline:(cpPolyline *)line;
+(ChipmunkPolyline *)fromPolyline:(cpPolyline *)line;
@property(nonatomic, readonly) bool isClosed;
@property(nonatomic, readonly) cpFloat area;
@property(nonatomic, readonly) cpVect centroid;
-(cpFloat)momentForMass:(cpFloat)mass offset:(cpVect)offset;
@property(nonatomic, readonly) NSUInteger count;
@property(nonatomic, readonly) const cpVect *verts;
-(ChipmunkPolyline *)simplifyCurves:(cpFloat)tolerance;
-(ChipmunkPolyline *)simplifyVertexes:(cpFloat)tolerance;
-(ChipmunkPolyline *)toConvexHull;
-(ChipmunkPolyline *)toConvexHull:(cpFloat)tolerance;
-(ChipmunkPolylineSet *)toConvexHulls_BETA:(cpFloat)tolerance;
-(NSArray *)asChipmunkSegmentsWithBody:(ChipmunkBody *)body radius:(cpFloat)radius offset:(cpVect)offset;
-(ChipmunkPolyShape *)asChipmunkPolyShapeWithBody:(ChipmunkBody *)body transform:(cpTransform)transform radius:(cpFloat)radius;
@end
@interface ChipmunkPolylineSet : NSObject<NSFastEnumeration> {
@private
NSMutableArray *_lines;
}
-(id)initWithPolylineSet:(cpPolylineSet *)set;
+(ChipmunkPolylineSet *)fromPolylineSet:(cpPolylineSet *)set;
@property(nonatomic, readonly) NSUInteger count;
-(ChipmunkPolyline *)lineAtIndex:(NSUInteger)index;
@end
@interface ChipmunkAbstractSampler : NSObject {
@protected
cpFloat _marchThreshold;
cpMarchSampleFunc _sampleFunc;
}
@property(nonatomic, assign) cpFloat marchThreshold;
@property(nonatomic, readonly) cpMarchSampleFunc sampleFunc;
-(id)initWithSamplingFunction:(cpMarchSampleFunc)sampleFunc;
-(cpFloat)sample:(cpVect)pos;
-(ChipmunkPolylineSet *)march:(cpBB)bb xSamples:(NSUInteger)xSamples ySamples:(NSUInteger)ySamples hard:(bool)hard;
@end
typedef cpFloat (^ChipmunkMarchSampleBlock)(cpVect point);
@interface ChipmunkBlockSampler : ChipmunkAbstractSampler {
ChipmunkMarchSampleBlock _block;
}
-(id)initWithBlock:(ChipmunkMarchSampleBlock)block;
+(ChipmunkBlockSampler *)samplerWithBlock:(ChipmunkMarchSampleBlock)block;
@end
#import "ChipmunkImageSampler.h"
#import "ChipmunkPointCloudSampler.h"
#import "ChipmunkTileCache.h"