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