-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgen_funcs.h
173 lines (141 loc) · 7.19 KB
/
gen_funcs.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
// chipmunk.h
cpFloat cpAreaForCircle(cpFloat r1, cpFloat r2);
cpFloat cpMomentForSegment(cpFloat m, cpVect a, cpVect b);
cpFloat cpAreaForSegment(cpVect a, cpVect b, cpFloat r);
cpFloat cpMomentForBox(cpFloat m, cpFloat width, cpFloat height);
// cpSpace.h
void cpSpaceDestroy(cpSpace *space);
void cpSpaceFree(cpSpace *space);
void cpSpaceAddShape(cpSpace *space, cpShape *shape);
void cpSpaceAddStaticShape(cpSpace *space, cpShape *shape);
void cpSpaceAddBody(cpSpace *space, cpBody *body);
void cpSpaceAddConstraint(cpSpace *space, cpConstraint *constr);
void cpSpaceRemoveShape(cpSpace *space, cpShape *shape);
void cpSpaceRemoveStaticShape(cpSpace *space, cpShape *shape);
void cpSpaceRemoveBody(cpSpace *space, cpBody *body);
void cpSpaceRemoveConstraint(cpSpace *space, cpConstraint *constr);
void cpSpaceStep(cpSpace *space, cpFloat dt);
cpBool cpSpaceIsLocked(cpSpace *space);
cpBool cpSpaceContainsShape(cpSpace *space, cpShape *shape);
cpBool cpSpaceContainsBody(cpSpace *space, cpBody *body);
cpBool cpSpaceContainsConstraint(cpSpace *space, cpConstraint *constr);
void cpSpaceReindexStatic(cpSpace *space);
void cpSpaceReindexShape(cpSpace *space, cpShape *shape);
void cpSpaceReindexShapesForBody(cpSpace *space, cpBody *body);
void cpSpaceUseSpatialHash(cpSpace *space, cpFloat dim, int count);
////void cpSpaceRemoveCollisionHandler(cpSpace *space, cpCollisionType a, cpCollisionType b);
void cpSpaceRemoveCollisionHandler(cpSpace *space, int a, int b);
// XXX
void my_cpSpaceSetDefaultCollisionHandler(cpSpace *space, string data);
///void my_cpSpaceAddCollisionHandler(cpSpace *space, cpCollisionType a, cpCollisionType b, char *data);
void my_cpSpaceAddCollisionHandler(cpSpace *space, int a, int b, string data);
// cpSpace.h struct getters/setters:
int cpSpaceGetIterations(cpSpace *space);
void cpSpaceSetIterations(cpSpace *space, int iterations);
cpVect cpSpaceGetGravity(cpSpace *space);
void cpSpaceSetGravity(cpSpace *space, cpVect gravity);
cpFloat cpSpaceGetDamping(cpSpace *space);
void cpSpaceSetDamping(cpSpace *space, cpFloat damping);
cpFloat cpSpaceGetIdleSpeedThreshold(cpSpace *space);
void cpSpaceSetIdleSpeedThreshold(cpSpace *space, cpFloat v);
cpFloat cpSpaceGetSleepTimeThreshold(cpSpace *space);
void cpSpaceSetSleepTimeThreshold(cpSpace *space, cpFloat v);
cpFloat cpSpaceGetCollisionSlop(cpSpace *space);
void cpSpaceSetCollisionSlop(cpSpace *space, cpFloat v);
cpFloat cpSpaceGetCollisionBias(cpSpace *space);
void cpSpaceSetCollisionBias(cpSpace *space, cpFloat v);
// cpTimestamp cpSpaceGetCollisionPersistence(cpSpace *space);
// void cpSpaceSetCollisionPersistence(cpSpace *space, cpTimestamp value);
cpBool cpSpaceGetEnableContactGraph(cpSpace *space);
void cpSpaceSetEnableContactGraph(cpSpace *space, cpBool v);
// cpDataPointer cpSpaceGetUserData(cpSpace *space);
// void cpSpaceSetUserData(cpSpace *space, cpDataPointer value);
// cpBody* cpSpaceGetStaticBody(cpSpace *space);
cpFloat cpSpaceGetCurrentTimeStep(cpSpace *space);
//void cpSpaceHashResize(cpSpaceHash *hash, cpFloat celldim, int numcells);
// cpBody.h
void cpBodyFree(cpBody *body);
void cpBodyUpdateVelocity(cpBody *body, cpVect gravity, cpFloat damping, cpFloat dt);
void cpBodyUpdatePosition(cpBody *body, cpFloat dt);
cpVect cpBodyLocal2World(cpBody *body, cpVect v);
cpVect cpBodyWorld2Local(cpBody *body, cpVect v);
void cpBodyApplyImpulse(cpBody *body, cpVect j, cpVect r);
void cpBodyResetForces(cpBody *body);
void cpBodyApplyForce(cpBody *body, cpVect f, cpVect r);
void cpBodyActivate(cpBody *body);
void cpBodyActivateStatic(cpBody *body, cpShape *filter);
void cpBodySleep(cpBody *body);
cpBool cpBodyIsSleeping(cpBody *body);
cpBool cpBodyIsStatic(cpBody *body);
cpBool cpBodyIsRogue(cpBody *body);
cpVect cpBodyGetVelAtWorldPoint(cpBody *body, cpVect point);
cpVect cpBodyGetVelAtLocalPoint(cpBody *body, cpVect point);
cpFloat cpBodyKineticEnergy(cpBody *body);
// cpBody.h struct getters/setters:
cpFloat cpBodyGetMass(cpBody *body);
void cpBodySetMass(cpBody *body, cpFloat m);
cpFloat cpBodyGetMoment(cpBody *body);
void cpBodySetMoment(cpBody *body, cpFloat i);
cpVect cpBodyGetPos(cpBody *body);
void cpBodySetPos(cpBody *body, cpVect p);
cpVect cpBodyGetVel(cpBody *body);
void cpBodySetVel(cpBody *body, cpVect v);
cpVect cpBodyGetForce(cpBody *body);
void cpBodySetForce(cpBody *body, cpVect f);
cpFloat cpBodyGetAngle(cpBody *body);
void cpBodySetAngle(cpBody *body, cpFloat a);
cpFloat cpBodyGetAngVel(cpBody *body);
void cpBodySetAngVel(cpBody *body, cpFloat w);
cpFloat cpBodyGetTorque(cpBody *body);
void cpBodySetTorque(cpBody *body, cpFloat t);
cpVect cpBodyGetRot(cpBody *body);
cpFloat cpBodyGetVelLimit(cpBody *body);
void cpBodySetVelLimit(cpBody *body, cpFloat v_limit);
cpFloat cpBodyGetAngVelLimit(cpBody *body);
void cpBodySetAngVelLimit(cpBody *body, cpFloat w_limit);
// cpDataPointer cpBodyGetUserData(cpBody *body);
// void cpBodySetUserData(cpBody *body, cpDataPointer value);
// cpShape.h
void cpShapeFree(cpShape *shape);
void cpResetShapeIdCounter(void);
//cpBB cpShapeCacheBB(cpShape *shape); // TODO
//cpBB cpShapeUpdate(cpShape *shape, cpVect pos, cpVect rot); // TODO
cpBool cpShapePointQuery(cpShape *shape, cpVect p);
// cpShape.h struct getters/setters:
//cpBB cpShapeGetBB(cpShape *shape);
cpBool cpShapeGetSensor(cpShape *shape);
void cpShapeSetSensor(cpShape *shape, cpBool value);
cpFloat cpShapeGetElasticity(cpShape *shape);
void cpShapeSetElasticity(cpShape *shape, cpFloat e);
cpFloat cpShapeGetFriction(cpShape *shape);
void cpShapeSetFriction(cpShape *shape, cpFloat u);
cpVect cpShapeGetSurfaceVelocity(cpShape *shape);
void cpShapeSetSurfaceVelocity(cpShape *shape, cpVect surface_v);
//cpDataPointer cpShapeGetUserData(cpShape *shape);
//void cpShapeSetUserData(cpShape *shape, cpDataPointer dp);
//cpGroup cpShapeGetGroup(cpShape *shape);
//void cpShapeSetGroup(cpShape *shape, cpGroup g);
//cpCollisionType cpShapeGetCollisionType(cpShape *shape);
//void cpShapeSetCollisionType(cpShape *shape, cpCollisionType ct);
int cpShapeGetCollisionType(cpShape *shape);
void cpShapeSetCollisionType(cpShape *shape, int ct);
//cpLayers cpShapeGetLayers(cpShape *shape);
//void cpShapeSetLayers(cpShape *shape, cpLayers value);
int cpShapeGetLayers(cpShape *shape);
void cpShapeSetLayers(cpShape *shape, int layers);
// cpVect cpCircleShapeGetOffset(cpShape *shape);
// cpFloat cpCircleShapeGetRadius(cpShape *shape);
// void cpSegmentShapeSetNeighbors(cpShape *shape, cpVect prev, cpVect next);
// cpVect cpSegmentShapeGetA(cpShape *shape);
// cpVect cpSegmentShapeGetB(cpShape *shape);
// cpVect cpSegmentShapeGetNormal(cpShape *shape);
// cpFloat cpSegmentShapeGetRadius(cpShape *shape);
// cpJoint.h
cpConstraint *cpPinJointNew(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2);
cpConstraint *cpSlideJointNew(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2, cpFloat min, cpFloat max);
cpConstraint *cpPivotJointNew(cpBody *a, cpBody *b, cpVect pivot);
cpConstraint *cpPivotJointNew2(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2);
cpConstraint *cpGrooveJointNew(cpBody *a, cpBody *b, cpVect groove_a, cpVect groove_b, cpVect anchr2);
// Constraints
void cpConstraintFree(cpConstraint *constr);
cpConstraint *cpDampedSpringNew(cpBody *a, cpBody *b, cpVect anchr1, cpVect anchr2, cpFloat rest_length, cpFloat stiffness, cpFloat damping);