00001
00002 @interface ChipmunkShape : NSObject <ChipmunkBaseObject> {
00003 @public
00004 id data;
00005 }
00006
00008 @property (readonly) cpShape *shape;
00009
00011 @property (retain) ChipmunkBody *body;
00012
00014 @property (readonly) cpBB bb;
00015
00017 @property BOOL sensor;
00018
00020 @property cpFloat elasticity;
00021
00023 @property cpFloat friction;
00024
00029 @property cpVect surfaceVel;
00030
00035 @property (assign) id collisionType;
00036
00041 @property (assign) id group;
00042
00044 @property (assign) cpLayers layers;
00045
00050 @property (assign) id data;
00051
00053 - (cpBB)cacheBB;
00054
00056 - (bool)pointQuery:(cpVect)point;
00057
00058 @end
00059
00060
00062 @interface ChipmunkSegmentQueryInfo : NSObject {
00063 @private
00064 cpSegmentQueryInfo _info;
00065 cpVect _start, _end;
00066 }
00067
00068 - (id)initWithStart:(cpVect)start end:(cpVect)end;
00069
00071 @property (readonly) cpSegmentQueryInfo *info;
00072
00074 @property (readonly) ChipmunkShape *shape;
00075
00077 @property (readonly) cpFloat t;
00078
00080 @property (readonly) cpVect normal;
00081
00083 @property (readonly) cpVect point;
00084
00086 @property (readonly) cpFloat dist;
00087
00089 @property (readonly) cpVect start;
00090
00092 @property (readonly) cpVect end;
00093
00094 @end
00095
00096
00098 @interface ChipmunkShapeQueryInfo : NSObject {
00099 @private
00100 ChipmunkShape *_shape;
00101 cpContactPointSet _contactPoints;
00102 }
00103
00104 - (id)initWithShape:(ChipmunkShape *)shape andPoints:(cpContactPointSet *)set;
00105
00106 @property (readonly) ChipmunkShape *shape;
00107 @property (readonly) cpContactPointSet *contactPoints;
00108
00109 @end
00110
00111
00113 @interface ChipmunkCircleShape : ChipmunkShape {
00114 @private
00115 cpCircleShape _shape;
00116 }
00117
00119 + (id)circleWithBody:(ChipmunkBody *)body radius:(cpFloat)radius offset:(cpVect)offset;
00120
00122 - (id)initWithBody:(ChipmunkBody *)body radius:(cpFloat)radius offset:(cpVect)offset;
00123
00125 @property (readonly) cpFloat radius;
00126
00128 @property (readonly) cpVect offset;
00129
00130 @end
00131
00132
00134 @interface ChipmunkSegmentShape : ChipmunkShape {
00135 @private
00136 cpSegmentShape _shape;
00137 }
00138
00140 + (id)segmentWithBody:(ChipmunkBody *)body from:(cpVect)a to:(cpVect)b radius:(cpFloat)radius;
00141
00143 - (id)initWithBody:(ChipmunkBody *)body from:(cpVect)a to:(cpVect)b radius:(cpFloat)radius;
00144
00146 @property (readonly) cpVect a;
00147
00149 @property (readonly) cpVect b;
00150
00152 @property (readonly) cpVect normal;
00153
00155 @property (readonly) cpFloat radius;
00156
00157 @end
00158
00159
00161 @interface ChipmunkPolyShape : ChipmunkShape {
00162 @private
00163 cpPolyShape _shape;
00164 }
00165
00167 + (id)polyWithBody:(ChipmunkBody *)body count:(int)count verts:(cpVect *)verts offset:(cpVect)offset;
00168
00170 + (id)boxWithBody:(ChipmunkBody *)body width:(cpFloat)width height:(cpFloat)height;
00171
00173 - (id)initWithBody:(ChipmunkBody *)body count:(int)count verts:(cpVect *)verts offset:(cpVect)offset;
00174
00176 - (id)initBoxWithBody:(ChipmunkBody *)body width:(cpFloat)width height:(cpFloat)height;
00177
00179 @property (readonly) int count;
00180
00182 - (cpVect)getVertex:(int)index;
00183
00184 @end
00185
00187 @interface ChipmunkStaticCircleShape : ChipmunkCircleShape
00188 @end
00189
00190
00192 @interface ChipmunkStaticSegmentShape : ChipmunkSegmentShape
00193 @end
00194
00196 @interface ChipmunkStaticPolyShape : ChipmunkPolyShape
00197 @end