Class ODE::UniversalJoint
In: ext/body.c  (CVS)
Parent: ODE::Joint

Methods

anchor   anchor=   axis1   axis1=   axis2   axis2=   new  

Public Class methods

ODE::UniversalJoint#initialize( world, jointGroup ) — Create and return a new ODE::UniversalJoint.

[Source]

/*
 * ODE::UniversalJoint#initialize( world, jointGroup )
 * --
 * Create and return a new ODE::UniversalJoint.
 */
static VALUE
ode_universalJoint_init( argc, argv, self )
	 int	argc;
	 VALUE	*argv, self;
{
	return ode_joint_construct( argc, argv, self, dJointCreateUniversal, 0 );
}

Public Instance methods

ODE::UniversalJoint#anchor — Get the position of the joint’s anchor as an ODE::Position object.

[Source]

/*
 * ODE::UniversalJoint#anchor
 * --
 * Get the position of the joint's anchor as an ODE::Position object.
 */
static VALUE
ode_universalJoint_anchor( self )
	 VALUE	self;
{
	ode_JOINT	*ptr = get_joint( self );
	return ode_get_joint_param3( ptr->id, dJointGetUniversalAnchor, ode_cOdePosition );
}

ODE::UniversalJoint#anchor=( position ) — Set the position of the joint’s anchor. The position argument can be any object which returns an array of three numeric values when to_ary is called on it, such as a ODE::Vector, an ODE::Position, or an Array with three numeric elements.

[Source]

/*
 * ODE::UniversalJoint#anchor=( position )
 * --
 * Set the position of the joint's anchor. The <tt>position</tt> argument can be
 * any object which returns an array of three numeric values when
 * <tt>to_ary</tt> is called on it, such as a ODE::Vector, an ODE::Position,
 * or an Array with three numeric elements.
 */
static VALUE
ode_universalJoint_anchor_eq( self, position )
	 VALUE	self, position;
{
	ode_JOINT	*ptr = get_joint( self );
	return ode_set_joint_param3( ptr->id, position, "anchor", dJointSetUniversalAnchor,
								 ode_cOdePosition );
}

ODE::UniversalJoint#axis1() — Get the first axis of the joint as an ODE::Vector;

[Source]

/*
 * ODE::UniversalJoint#axis1()
 * --
 * Get the first axis of the joint as an ODE::Vector;
 */
static VALUE
ode_universalJoint_axis1( self )
	 VALUE	self;
{
	ode_JOINT	*ptr = get_joint( self );
	return ode_get_joint_param3( ptr->id, dJointGetUniversalAxis1, ode_cOdeVector );
}

ODE::UniversalJoint#axis1=( vector ) — Set the first axis of the joint, which must be parallel to the second axis. The vector argument can be any object which returns an array of three numeric values when to_ary is called on it, such as a ODE::Vector, an ODE::Vector, or an Array with three numeric elements.

[Source]

/*
 * ODE::UniversalJoint#axis1=( vector )
 * --
 * Set the first axis of the joint, which must be parallel to the second
 * axis. The <tt>vector</tt> argument can be any object which returns an array
 * of three numeric values when <tt>to_ary</tt> is called on it, such as a
 * ODE::Vector, an ODE::Vector, or an Array with three numeric elements.
 */
static VALUE
ode_universalJoint_axis1_eq( self, axis )
	 VALUE	self, axis;
{
	ode_JOINT	*ptr = get_joint( self );
	return ode_set_joint_param3( ptr->id, axis, "axis", dJointSetUniversalAxis1,
								 ode_cOdeVector );
}

ODE::UniversalJoint#axis2() — Get the second axis of the joint as an ODE::Vector.

[Source]

/*
 * ODE::UniversalJoint#axis2()
 * --
 * Get the second axis of the joint as an ODE::Vector.
 */
static VALUE
ode_universalJoint_axis2( self )
	 VALUE	self;
{
	ode_JOINT	*ptr = get_joint( self );
	return ode_get_joint_param3( ptr->id, dJointGetUniversalAxis2, ode_cOdeVector );
}

ODE::UniversalJoint#axis2=( vector ) — Set the second axis of the joint, which must be parallel to the first axis. The vector argument can be any object which returns an array of three numeric values when to_ary is called on it, such as a ODE::Vector, an ODE::Vector, or an Array with three numeric elements.

[Source]

/*
 * ODE::UniversalJoint#axis2=( vector )
 * --
 * Set the second axis of the joint, which must be parallel to the first
 * axis. The <tt>vector</tt> argument can be any object which returns an array
 * of three numeric values when <tt>to_ary</tt> is called on it, such as a
 * ODE::Vector, an ODE::Vector, or an Array with three numeric elements.
 */
static VALUE
ode_universalJoint_axis2_eq( self, axis )
	 VALUE	self, axis;
{
	ode_JOINT	*ptr = get_joint( self );
	return ode_set_joint_param3( ptr->id, axis, "axis", dJointSetUniversalAxis2,
								 ode_cOdeVector );
}

[Validate]