static struct cpShapeMassInfo cpCircleShapeMassInfo(cpFloat mass, cpFloat radius, cpVect center) { struct cpShapeMassInfo info = { mass, cpMomentForCircle(1.0f, 0.0f, radius, cpvzero), center, cpAreaForCircle(0.0f, radius), }; return info; }
SUPPRESS_EMPTY_FILE_WARNING #if USE_CHIPMUNK //================================================================// // local //================================================================// //----------------------------------------------------------------// /** @name areaForCircle @text Returns the area for a ring or circle. @overload @in number radius @out number area @overload @in number innerRadius @in number outerRadius @out number area */ int MOAICpShape::_areaForCircle ( lua_State* L ) { USLuaState state ( L ); if ( !state.CheckParams ( 1, "N" )) return 0; cpFloat r1; cpFloat r2; if ( state.GetTop () >= 2 ) { r1 = state.GetValue < cpFloat >( 1, 0 ); r2 = state.GetValue < cpFloat >( 2, 0 ); } else { r1 = 0; r2 = state.GetValue < cpFloat >( 1, 0 ); } lua_pushnumber ( L, cpAreaForCircle ( r1, r2 )); return 1; }
/** @name areaForCircle @text Returns the area for a ring or circle. @overload @in number radius @out number area @overload @in number innerRadius @in number outerRadius @out number area */ int MOAICpShape::_areaForCircle ( lua_State* L ) { MOAILuaState state ( L ); if ( !state.CheckParams ( 1, "N" )) return 0; cpFloat r1; cpFloat r2; if ( state.GetTop () >= 2 ) { r1 = state.GetValue < cpFloat >( 1, 0 ); r2 = state.GetValue < cpFloat >( 2, 0 ); } else { r1 = 0; r2 = state.GetValue < cpFloat >( 1, 0 ); } lua_pushnumber ( L, cpAreaForCircle ( r1, r2 )); return 1; }
float PhysicsShapeCircle::calculateArea() { return PhysicsHelper::cpfloat2float(cpAreaForCircle(0, cpCircleShapeGetRadius(_cpShapes.front()))); }
float PhysicsShapeCircle::calculateArea(float radius) { return PhysicsHelper::cpfloat2float(cpAreaForCircle(0, radius)); }
CP_NAMESPACE_BEGIN cpFloat Area::ForCircle( cpFloat r1, cpFloat r2 ) { return cpAreaForCircle( r1, r2 ); }
static VALUE rb_cpAreaForCircle(VALUE self, VALUE r1, VALUE r2) { cpFloat i = cpAreaForCircle(NUM2DBL(r1), NUM2DBL(r2)); return rb_float_new(i); }