The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%{

#include <Box2D/Box2D.h>

%}

%module{Box2D};

%name{Box2D::b2MouseJoint} class b2MouseJoint :public %name{Box2D::b2Joint} b2Joint
{

float32 GetReactionTorque(float32 inv_dt);

void SetMaxForce(float32 force);

float32 GetMaxForce();

void SetFrequency(float32 hz);

float32 GetFrequency();

void SetDampingRatio(float32 ratio);

float32 GetDampingRatio();

%{

b2Vec2*
b2MouseJoint::GetAnchorA()
	PREINIT:
		const char* CLASS = "Box2D::b2Vec2";
	CODE:
		RETVAL = new b2Vec2(THIS->GetAnchorA());
	OUTPUT:
		RETVAL

b2Vec2*
b2MouseJoint::GetAnchorB()
	PREINIT:
		const char* CLASS = "Box2D::b2Vec2";
	CODE:
		RETVAL = new b2Vec2(THIS->GetAnchorB());
	OUTPUT:
		RETVAL

b2Vec2*
b2MouseJoint::GetReactionForce(inv_dt)
	float32 inv_dt
	PREINIT:
		const char* CLASS = "Box2D::b2Vec2";
	CODE:
		RETVAL = new b2Vec2(THIS->GetReactionForce(inv_dt));
	OUTPUT:
		RETVAL

void
b2MouseJoint::SetTarget(target)
	b2Vec2* target
	CODE:
		THIS->SetTarget(*target);


b2Vec2*
b2MouseJoint::GetTarget()
	PREINIT:
		const char* CLASS = "Box2D::b2Vec2";
	CODE:
		RETVAL = new b2Vec2(THIS->GetTarget());
	OUTPUT:
		RETVAL

%}

};