Android Open Source - gameengine Mouse Joint






From Project

Back to project page gameengine.

License

The source code is released under:

Apache License

If you think the Android project gameengine listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright 2011 See AUTHORS file./*  w  w  w  . ja  va  2  s  .  c om*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

package com.badlogic.gdx.physics.box2d.joints;

import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Joint;
import com.badlogic.gdx.physics.box2d.World;

/**
 * A mouse joint is used to make a point on a body track a specified world
 * point. This a soft constraint with a maximum force. This allows the
 * constraint to stretch and without applying huge forces. NOTE: this joint is
 * not documented in the manual because it was developed to be used in the
 * testbed. If you want to learn how to use the mouse joint, look at the
 * testbed.
 */
public class MouseJoint extends Joint {
    /*
     * JNI #include <Box2D/Box2D.h>
     */

    public MouseJoint(World world, long addr) {
        super(world, addr);
    }

    /** Use this to update the target point. */
    public void setTarget(Vector2 target) {
        jniSetTarget(addr, target.x, target.y);
    }

    private native void jniSetTarget(long addr, float x, float y); /*
                                                                    * b2MouseJoint*
                                                                    * joint =
                                                                    * (b2MouseJoint
                                                                    * *)addr;
                                                                    * joint
                                                                    * ->SetTarget
                                                                    * (
                                                                    * b2Vec2(x,
                                                                    * y ) );
                                                                    */

    /** Use this to update the target point. */
    final float[] tmp = new float[2];
    private final Vector2 target = new Vector2();

    public Vector2 getTarget() {
        jniGetTarget(addr, tmp);
        target.x = tmp[0];
        target.y = tmp[1];
        return target;
    }

    private native void jniGetTarget(long addr, float[] target); /*
                                                                  * b2MouseJoint*
                                                                  * joint =
                                                                  * (b2MouseJoint
                                                                  * *)addr;
                                                                  * target[0] =
                                                                  * joint
                                                                  * ->GetTarget
                                                                  * ().x;
                                                                  * target[1] =
                                                                  * joint
                                                                  * ->GetTarget
                                                                  * ().y;
                                                                  */

    /** Set/get the maximum force in Newtons. */
    public void setMaxForce(float force) {
        jniSetMaxForce(addr, force);
    }

    private native void jniSetMaxForce(long addr, float force); /*
                                                                 * b2MouseJoint*
                                                                 * joint =
                                                                 * (b2MouseJoint
                                                                 * *)addr;
                                                                 * joint-
                                                                 * >SetMaxForce(
                                                                 * force );
                                                                 */

    /** Set/get the maximum force in Newtons. */
    public float getMaxForce() {
        return jniGetMaxForce(addr);
    }

    private native float jniGetMaxForce(long addr); /*
                                                     * b2MouseJoint* joint =
                                                     * (b2MouseJoint*)addr;
                                                     * return
                                                     * joint->GetMaxForce();
                                                     */

    /** Set/get the frequency in Hertz. */
    public void setFrequency(float hz) {
        jniSetFrequency(addr, hz);
    }

    private native void jniSetFrequency(long addr, float hz); /*
                                                               * b2MouseJoint*
                                                               * joint =
                                                               * (b2MouseJoint
                                                               * *)addr;
                                                               * joint->SetFrequency
                                                               * (hz);
                                                               */

    /** Set/get the frequency in Hertz. */
    public float getFrequency() {
        return jniGetFrequency(addr);
    }

    private native float jniGetFrequency(long addr); /*
                                                      * b2MouseJoint* joint =
                                                      * (b2MouseJoint*)addr;
                                                      * return
                                                      * joint->GetFrequency();
                                                      */

    /** Set/get the damping ratio (dimensionless). */
    public void setDampingRatio(float ratio) {
        jniSetDampingRatio(addr, ratio);
    }

    private native void jniSetDampingRatio(long addr, float ratio); /*
                                                                     * b2MouseJoint*
                                                                     * joint =
                                                                     * (b2MouseJoint
                                                                     * *)addr;
                                                                     * joint->
                                                                     * SetDampingRatio
                                                                     * ( ratio
                                                                     * );
                                                                     */

    /** Set/get the damping ratio (dimensionless). */
    public float getDampingRatio() {
        return jniGetDampingRatio(addr);
    }

    private native float jniGetDampingRatio(long addr); /*
                                                         * b2MouseJoint* joint =
                                                         * (b2MouseJoint*)addr;
                                                         * return
                                                         * joint->GetDampingRatio
                                                         * ();
                                                         */
}




Java Source Code List

com.badlogic.gdx.math.MathUtils.java
com.badlogic.gdx.math.Matrix3.java
com.badlogic.gdx.math.Matrix4.java
com.badlogic.gdx.math.Quaternion.java
com.badlogic.gdx.math.Vector2.java
com.badlogic.gdx.math.Vector3.java
com.badlogic.gdx.physics.box2d.BodyDef.java
com.badlogic.gdx.physics.box2d.Body.java
com.badlogic.gdx.physics.box2d.ChainShape.java
com.badlogic.gdx.physics.box2d.CircleShape.java
com.badlogic.gdx.physics.box2d.ContactFilter.java
com.badlogic.gdx.physics.box2d.ContactImpulse.java
com.badlogic.gdx.physics.box2d.ContactListener.java
com.badlogic.gdx.physics.box2d.Contact.java
com.badlogic.gdx.physics.box2d.DestructionListener.java
com.badlogic.gdx.physics.box2d.EdgeShape.java
com.badlogic.gdx.physics.box2d.Filter.java
com.badlogic.gdx.physics.box2d.FixtureDef.java
com.badlogic.gdx.physics.box2d.Fixture.java
com.badlogic.gdx.physics.box2d.JointDef.java
com.badlogic.gdx.physics.box2d.JointEdge.java
com.badlogic.gdx.physics.box2d.Joint.java
com.badlogic.gdx.physics.box2d.Manifold.java
com.badlogic.gdx.physics.box2d.MassData.java
com.badlogic.gdx.physics.box2d.PolygonShape.java
com.badlogic.gdx.physics.box2d.QueryCallback.java
com.badlogic.gdx.physics.box2d.RayCastCallback.java
com.badlogic.gdx.physics.box2d.Shape.java
com.badlogic.gdx.physics.box2d.Transform.java
com.badlogic.gdx.physics.box2d.WorldManifold.java
com.badlogic.gdx.physics.box2d.World.java
com.badlogic.gdx.physics.box2d.joints.DistanceJointDef.java
com.badlogic.gdx.physics.box2d.joints.DistanceJoint.java
com.badlogic.gdx.physics.box2d.joints.FrictionJointDef.java
com.badlogic.gdx.physics.box2d.joints.FrictionJoint.java
com.badlogic.gdx.physics.box2d.joints.GearJointDef.java
com.badlogic.gdx.physics.box2d.joints.GearJoint.java
com.badlogic.gdx.physics.box2d.joints.MouseJointDef.java
com.badlogic.gdx.physics.box2d.joints.MouseJoint.java
com.badlogic.gdx.physics.box2d.joints.PrismaticJointDef.java
com.badlogic.gdx.physics.box2d.joints.PrismaticJoint.java
com.badlogic.gdx.physics.box2d.joints.PulleyJointDef.java
com.badlogic.gdx.physics.box2d.joints.PulleyJoint.java
com.badlogic.gdx.physics.box2d.joints.RevoluteJointDef.java
com.badlogic.gdx.physics.box2d.joints.RevoluteJoint.java
com.badlogic.gdx.physics.box2d.joints.RopeJointDef.java
com.badlogic.gdx.physics.box2d.joints.RopeJoint.java
com.badlogic.gdx.physics.box2d.joints.WeldJointDef.java
com.badlogic.gdx.physics.box2d.joints.WeldJoint.java
com.badlogic.gdx.physics.box2d.joints.WheelJointDef.java
com.badlogic.gdx.physics.box2d.joints.WheelJoint.java
com.badlogic.gdx.utils.Array.java
com.badlogic.gdx.utils.ComparableTimSort.java
com.badlogic.gdx.utils.Disposable.java
com.badlogic.gdx.utils.GdxRuntimeException.java
com.badlogic.gdx.utils.LongArray.java
com.badlogic.gdx.utils.LongMap.java
com.badlogic.gdx.utils.NumberUtils.java
com.badlogic.gdx.utils.Pool.java
com.badlogic.gdx.utils.Sort.java
com.badlogic.gdx.utils.StringBuilder.java
com.badlogic.gdx.utils.TimSort.java
com.garrapeta.MathUtils.java
com.garrapeta.gameengine.Actor.java
com.garrapeta.gameengine.AsyncGameMessage.java
com.garrapeta.gameengine.BitmapManager.java
com.garrapeta.gameengine.Box2DActor.java
com.garrapeta.gameengine.Box2DWorld.java
com.garrapeta.gameengine.GameMessage.java
com.garrapeta.gameengine.GameView.java
com.garrapeta.gameengine.GameWorld.java
com.garrapeta.gameengine.ShapeDrawer.java
com.garrapeta.gameengine.SyncGameMessage.java
com.garrapeta.gameengine.Viewport.java
com.garrapeta.gameengine.actor.Box2DAtomicActor.java
com.garrapeta.gameengine.actor.Box2DCircleActor.java
com.garrapeta.gameengine.actor.Box2DEdgeActor.java
com.garrapeta.gameengine.actor.Box2DLoopActor.java
com.garrapeta.gameengine.actor.Box2DOpenChainActor.java
com.garrapeta.gameengine.actor.Box2DPolygonActor.java
com.garrapeta.gameengine.actor.IAtomicActor.java
com.garrapeta.gameengine.actor.SimpleActor.java
com.garrapeta.gameengine.module.LevelActionsModule.java
com.garrapeta.gameengine.module.LoadedLevelActionsModule.java
com.garrapeta.gameengine.module.SoundModule.java
com.garrapeta.gameengine.module.VibrationModule.java
com.garrapeta.gameengine.utils.IOUtils.java
com.garrapeta.gameengine.utils.LogX.java
com.garrapeta.gameengine.utils.PhysicsUtils.java
com.garrapeta.gameengine.utils.Pool.java