ackb2d 0.9
3D Gamestudio Box 2d Wraper

b2Types.h

Go to the documentation of this file.
00001 #ifndef __B2_TYPES_H__
00002 #define __B2_TYPES_H__
00003 
00005 // Dynamics
00007 
00010 typedef struct b2FixtureDef
00011 {
00012         void *dummy;
00013 } b2FixtureDef;
00014 
00020 typedef struct b2Fixture
00021 {
00022         void *dummy;
00023 } b2Fixture;
00024 
00029 typedef struct b2BodyDef
00030 {
00031         void *dummy;
00032 } b2BodyDef;
00033 
00035 typedef struct b2Body
00036 {
00037         void *dummy;
00038 } b2Body;
00039 
00043 typedef struct b2World
00044 {
00045         void *dummy;
00046 } b2World;
00047 
00049 /*typedef struct b2Filter
00050 {
00051         void *dummy;
00052 } b2Filter;*/
00053 
00055 typedef struct b2Filter
00056 {
00058         uint16 categoryBits;
00059 
00062         uint16 maskBits;
00063 
00067         uint16 groupIndex;      
00068 } b2Filter;
00069 
00071 // Dynamics/Callbacks
00073 
00077 typedef struct b2DestructionListener
00078 {
00079         void *jointCallback;
00080         void *fixtureCallback;
00081         void *userData;
00082 } b2DestructionListener;
00083 
00086 typedef struct b2ContactFilter
00087 {
00088         void *filterCallback;
00089         void *userData;
00090 } b2ContactFilter;
00091 
00101 typedef struct b2ContactListener
00102 {
00103         void *beginContactCallback;
00104         void *endContactCallback;
00105         void *presolveCallback;
00106         void *postSolveCallback;
00107         void *userData;
00108 } b2ContactListener;
00109 
00112 typedef struct b2QueryCallback
00113 {
00114         void *reportFixtureCallback;
00115         void *userData;
00116 } b2QueryCallback;
00117 
00120 typedef struct b2RayCastCallback
00121 {
00122         void *reportFixtureCallback;
00123         void *userData;
00124 } b2RayCastCallback;
00125 
00128 typedef struct b2DebugDraw
00129 {
00131         void *drawPolygonFunc;
00133         void *drawSolidPolygonFunc;
00135         void *drawCircleFunc;
00137         void *drawSolidCircleFunc;
00139         void *drawSegmentFunc;
00142         void *drawTransformFunc;
00143 
00144         void *userData;
00145 } b2DebugDraw;
00146 
00150 typedef struct ackDebugDraw
00151 {
00152         var world_scale;
00153         var alpha;
00154 } ackDebugDraw;
00155 
00157 // Dynamics/Contacts
00159 
00160 typedef struct b2Contact
00161 {
00162         void *dummy;
00163 } b2Contact;
00164 
00170 typedef struct b2ContactEdge
00171 {
00172         b2Body* other;                  
00173         b2Contact* contact;             
00174         struct b2ContactEdge* prev;     
00175         struct b2ContactEdge* next;     
00176 } b2ContactEdge;
00177 
00179 // Dynamics/Joints
00181 
00183 typedef struct b2JointDef
00184 {
00185         void *dummy;
00186 } b2JointDef;
00187 
00190 typedef struct b2Joint
00191 {
00192         void *dummy;
00193 } b2Joint;
00194 
00200 typedef struct b2JointEdge
00201 {
00202         b2Body* other;                  
00203         b2Joint* joint;                 
00204         struct b2JointEdge* prev;               
00205         struct b2JointEdge* next;               
00206 } b2JointEdge;
00207 
00214 typedef struct b2LineJointDef
00215 {
00216         void *dummy;
00217 } b2LineJointDef;
00218 
00223 typedef struct b2LineJoint
00224 {
00225         void *dummy;
00226 } b2LineJoint;
00227 
00231 typedef struct b2GearJointDef
00232 {
00233         void *dummy;
00234 } b2GearJointDef;
00235 
00245 typedef struct b2GearJoint
00246 {
00247         void *dummy;
00248 } b2GearJoint;
00249 
00251 typedef struct b2FrictionJointDef
00252 {
00253         void *dummy;
00254 } b2FrictionJointDef;
00255 
00258 typedef struct b2FrictionJoint
00259 {
00260         void *dummy;
00261 } b2FrictionJoint;
00262 
00269 typedef struct b2DistanceJointDef
00270 {
00271         void *dummy;
00272 } b2DistanceJointDef;
00273 
00277 typedef struct b2DistanceJoint
00278 {
00279         void *dummy;
00280 } b2DistanceJoint;
00281 
00284 typedef struct b2MouseJointDef
00285 {
00286         void *dummy;
00287 } b2MouseJointDef;
00288 
00296 typedef struct b2MouseJoint
00297 {
00298         void *dummy;
00299 } b2MouseJoint;
00300 
00308 typedef struct b2PrismaticJointDef
00309 {
00310         void *dummy;
00311 } b2PrismaticJointDef;
00312 
00317 typedef struct b2PrismaticJoint
00318 {
00319         void *dummy;
00320 } b2PrismaticJoint;
00321 
00325 typedef struct b2PulleyJointDef
00326 {
00327         void *dummy;
00328 } b2PulleyJointDef;
00329 
00336 typedef struct b2PulleyJoint
00337 {
00338         void *dummy;
00339 } b2PulleyJoint;
00340 
00352 typedef struct b2RevoluteJointDef
00353 {
00354         void *dummy;
00355 } b2RevoluteJointDef;
00356 
00363 typedef struct b2RevoluteJoint
00364 {
00365         void *dummy;
00366 } b2RevoluteJoint;
00367 
00371 typedef struct b2WeldJointDef
00372 {
00373         void *dummy;
00374 } b2WeldJointDef;
00375 
00378 typedef struct b2WeldJoint
00379 {
00380         void *dummy;
00381 } b2WeldJoint;
00382 
00384 // Collision
00386 
00388 typedef struct b2RayCastInput
00389 {
00390         VECTOR p1, p2;
00391         var maxFraction;
00392 } b2RayCastInput;
00393 
00396 typedef struct b2RayCastOutput
00397 {
00398         VECTOR normal;
00399         var fraction;
00400 } b2RayCastOutput;
00401 
00403 typedef struct b2AABB
00404 {
00405         void *dummy;
00406 } b2AABB;
00407 
00409 typedef struct b2MassData
00410 {
00412         var mass;
00413 
00415         VECTOR center;
00416 
00418         var I;
00419 } b2MassData;
00420 
00423 typedef struct b2DistanceProxy
00424 {
00425         void *dummy;
00426 } b2DistanceProxy;
00427 
00432 typedef struct b2TOIInput
00433 {
00434         void *dummy;
00435 } b2TOIInput;
00436 
00440 typedef struct b2TOIOutput
00441 {
00444         var state;
00445         
00447         var t;
00448 } b2TOIOutput;
00449 
00453 typedef struct b2SimplexCache
00454 {
00455         float32 metric;         
00456         uint16 count;
00457         uint8 indexA[3];        
00458         uint8 indexB[3];        
00459 } b2SimplexCache;
00460 
00467 typedef struct b2DistanceInput
00468 {
00469         void *dummy;
00470 } b2DistanceInput;
00471 
00475 typedef struct b2DistanceOutput
00476 {
00477         VECTOR pointA;          
00478         VECTOR pointB;          
00479         var distance;
00480         var iterations; 
00481 } b2DistanceOutput;
00482 
00493 typedef struct b2ManifoldPoint
00494 {
00495         void *dummy;    
00496 } b2ManifoldPoint;
00497 
00514 typedef struct b2Manifold
00515 {
00516         void *dummy;
00517 } b2Manifold;
00518 
00520 typedef struct b2WorldManifold
00521 {
00522         void *dummy;
00523 } b2WorldManifold;
00524 
00526 typedef struct b2ClipVertex
00527 {
00528         void *dummy;
00529 } b2ClipVertex;
00530 
00532 // Collision/Shapes
00534 
00538 typedef struct b2Shape
00539 {
00540         void *dummy;
00541 } b2Shape;
00542 
00544 typedef struct b2CircleShape
00545 {
00546         void *dummy;
00547 } b2CircleShape;
00548 
00551 typedef struct b2PolygonShape
00552 {
00553         void *dummy;
00554 } b2PolygonShape;
00555 
00556 
00558 // Common
00560 
00561 // This is a stack allocator used for fast per step allocations.
00562 // You must nest allocate/free pairs. The code will assert
00563 // if you try to interleave multiple allocate/free pairs.
00564 typedef struct b2StackAllocator
00565 {
00566         void *dummy;
00567 } b2StackAllocator;
00568 
00569 // This is a small object allocator used for allocating small
00570 // objects that persist for more than one time step.
00571 // See: http://www.codeproject.com/useritems/Small_Block_Allocator.asp
00572 typedef struct b2BlockAllocator
00573 {
00574         void *dummy;
00575 } b2BlockAllocator;
00576 
00579 typedef struct b2Transform
00580 {
00581         void *dummy;
00582 } b2Transform;
00583 
00588 typedef struct b2Sweep
00589 {
00590         void *dummy;
00591 } b2Sweep;
00592 
00593 #endif
 All Data Structures Files Functions Variables Typedefs Defines