Chipmunk2D Pro API Reference  6.2.1
 All Classes Functions Variables Typedefs Properties Groups Pages
ChipmunkTileCache.h
1 // Copyright 2013 Howling Moon Software. All rights reserved.
2 // See http://chipmunk2d.net/legal.php for more information.
3 
4 #import "ObjectiveChipmunk.h"
5 #import "ChipmunkAutoGeometry.h"
6 
7 
8 @class ChipmunkCachedTile;
9 
13 @interface ChipmunkAbstractTileCache : NSObject {
14 @private
15  ChipmunkAbstractSampler *_sampler;
16  ChipmunkSpace *_space;
17 
18  cpFloat _tileSize;
19  cpFloat _samplesPerTile;
20  cpVect _tileOffset;
21 
22  NSUInteger _tileCount, _cacheSize;
23  cpSpatialIndex *_tileIndex;
24  ChipmunkCachedTile *_cacheHead, *_cacheTail;
25 
26  cpBB _ensuredBB;
27  bool _ensuredDirty;
28 
29  bool _marchHard;
30 }
31 
34 @property(nonatomic, assign) bool marchHard;
35 
37 @property(nonatomic, assign) cpVect tileOffset;
38 
40 @property(nonatomic, readonly) ChipmunkAbstractSampler *sampler;
41 
44 -(id)initWithSampler:(ChipmunkAbstractSampler *)sampler space:(ChipmunkSpace *)space tileSize:(cpFloat)tileSize samplesPerTile:(NSUInteger)samplesPerTile cacheSize:(NSUInteger)cacheSize;
45 
47 -(void)resetCache;
48 
51 -(void)markDirtyRect:(cpBB)bounds;
52 
54 -(void)ensureRect:(cpBB)bounds;
55 
58 -(cpPolyline)simplify:(cpPolyline)polyline;
59 
62 -(ChipmunkSegmentShape *)makeSegmentFor:(ChipmunkBody *)staticBody from:(cpVect)a to:(cpVect)b;
63 
64 @end
65 
66 
69 @private
70  cpFloat _simplifyThreshold;
71 
72  cpFloat _segmentRadius;
73 
74  cpFloat _segmentFriction;
75  cpFloat _segmentElasticity;
76 
77  cpGroup _segmentGroup;
78  cpLayers _segmentLayers;
79 
80  cpCollisionType _segmentCollisionType;
81 }
82 
84 @property(nonatomic, assign) cpFloat simplifyThreshold;
85 
87 @property(nonatomic, assign) cpFloat segmentRadius;
88 
90 @property(nonatomic, assign) cpFloat segmentFriction;
91 
93 @property(nonatomic, assign) cpFloat segmentElasticity;
94 
96 @property(nonatomic, assign) cpGroup segmentGroup;
97 
99 @property(nonatomic, assign) cpLayers segmentLayers;
100 
102 @property(nonatomic, assign) cpCollisionType segmentCollisionType;
103 
104 @end