8 #define MAKE_REF(name) decltype(name) *_##name = name
10 #define MAKE_REF(name)
13 #define MAKE_REF(name) __typeof__(name) *_##name = name
16 #define MAKE_PROPERTIES_REF(struct, property) \
17 MAKE_REF(struct##Get##property); MAKE_REF(struct##Set##property)
65 MAKE_REF(cpBodyGetMass);
66 MAKE_REF(cpBodyGetMoment);
67 MAKE_REF(cpBodyGetPos);
68 MAKE_REF(cpBodyGetAngle);
69 MAKE_REF(cpBodyGetRot);
70 MAKE_PROPERTIES_REF(
cpBody, Vel);
71 MAKE_PROPERTIES_REF(
cpBody, Force);
72 MAKE_PROPERTIES_REF(
cpBody, AngVel);
73 MAKE_PROPERTIES_REF(
cpBody, Torque);
74 MAKE_PROPERTIES_REF(
cpBody, VelLimit);
75 MAKE_PROPERTIES_REF(
cpBody, AngVelLimit);
76 MAKE_PROPERTIES_REF(
cpBody, UserData);
84 MAKE_REF(cpShapeGetBB);
85 MAKE_PROPERTIES_REF(
cpShape, Body);
86 MAKE_PROPERTIES_REF(
cpShape, Sensor);
87 MAKE_PROPERTIES_REF(
cpShape, Elasticity);
88 MAKE_PROPERTIES_REF(
cpShape, Friction);
89 MAKE_PROPERTIES_REF(
cpShape, SurfaceVelocity);
90 MAKE_PROPERTIES_REF(
cpShape, UserData);
91 MAKE_PROPERTIES_REF(
cpShape, CollisionType);
92 MAKE_PROPERTIES_REF(
cpShape, Group);
93 MAKE_PROPERTIES_REF(
cpShape, Layers);
100 MAKE_REF(cpConstraintGetA);
101 MAKE_REF(cpConstraintGetB);
106 MAKE_REF(cpConstraintGetImpulse);
108 MAKE_PROPERTIES_REF(cpDampedRotarySpring, RestAngle);
109 MAKE_PROPERTIES_REF(cpDampedRotarySpring, Stiffness);
110 MAKE_PROPERTIES_REF(cpDampedRotarySpring, Damping);
113 MAKE_PROPERTIES_REF(cpDampedSpring, Anchr1);
114 MAKE_PROPERTIES_REF(cpDampedSpring, Anchr2);
115 MAKE_PROPERTIES_REF(cpDampedSpring, RestLength);
116 MAKE_PROPERTIES_REF(cpDampedSpring, Stiffness);
117 MAKE_PROPERTIES_REF(cpDampedSpring, Damping);
120 MAKE_PROPERTIES_REF(cpGearJoint, Phase);
121 MAKE_REF(cpGearJointGetRatio);
123 MAKE_PROPERTIES_REF(cpGrooveJoint, Anchr2);
124 MAKE_REF(cpGrooveJointGetGrooveA);
125 MAKE_REF(cpGrooveJointGetGrooveB);
127 MAKE_PROPERTIES_REF(cpPinJoint, Anchr1);
128 MAKE_PROPERTIES_REF(cpPinJoint, Anchr2);
129 MAKE_PROPERTIES_REF(cpPinJoint, Dist);
131 MAKE_PROPERTIES_REF(cpPivotJoint, Anchr1);
132 MAKE_PROPERTIES_REF(cpPivotJoint, Anchr2);
134 MAKE_PROPERTIES_REF(cpRatchetJoint, Angle);
135 MAKE_PROPERTIES_REF(cpRatchetJoint, Phase);
136 MAKE_PROPERTIES_REF(cpRatchetJoint, Ratchet);
138 MAKE_PROPERTIES_REF(cpRotaryLimitJoint, Min);
139 MAKE_PROPERTIES_REF(cpRotaryLimitJoint, Max);
141 MAKE_PROPERTIES_REF(cpSimpleMotor, Rate);
143 MAKE_PROPERTIES_REF(cpSlideJoint, Anchr1);
144 MAKE_PROPERTIES_REF(cpSlideJoint, Anchr2);
145 MAKE_PROPERTIES_REF(cpSlideJoint, Min);
146 MAKE_PROPERTIES_REF(cpSlideJoint, Max);
163 MAKE_PROPERTIES_REF(
cpSpace, Iterations);
164 MAKE_PROPERTIES_REF(
cpSpace, Gravity);
165 MAKE_PROPERTIES_REF(
cpSpace, Damping);
166 MAKE_PROPERTIES_REF(
cpSpace, IdleSpeedThreshold);
167 MAKE_PROPERTIES_REF(
cpSpace, SleepTimeThreshold);
168 MAKE_PROPERTIES_REF(
cpSpace, CollisionSlop);
169 MAKE_PROPERTIES_REF(
cpSpace, CollisionBias);
170 MAKE_PROPERTIES_REF(
cpSpace, CollisionPersistence);
171 MAKE_PROPERTIES_REF(
cpSpace, EnableContactGraph);
172 MAKE_PROPERTIES_REF(
cpSpace, UserData);
173 MAKE_REF(cpSpaceGetStaticBody);
174 MAKE_REF(cpSpaceGetCurrentTimeStep);