Home | History | Annotate | Download | only in joints
      1 /*******************************************************************************
      2  * Copyright (c) 2013, Daniel Murphy
      3  * All rights reserved.
      4  *
      5  * Redistribution and use in source and binary forms, with or without modification,
      6  * are permitted provided that the following conditions are met:
      7  * 	* Redistributions of source code must retain the above copyright notice,
      8  * 	  this list of conditions and the following disclaimer.
      9  * 	* Redistributions in binary form must reproduce the above copyright notice,
     10  * 	  this list of conditions and the following disclaimer in the documentation
     11  * 	  and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
     14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     16  * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
     17  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     18  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     19  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     20  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     21  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     22  * POSSIBILITY OF SUCH DAMAGE.
     23  ******************************************************************************/
     24 package org.jbox2d.dynamics.joints;
     25 
     26 import org.jbox2d.common.Vec2;
     27 
     28 /**
     29  * Mouse joint definition. This requires a world target point, tuning parameters, and the time step.
     30  *
     31  * @author Daniel
     32  */
     33 public class MouseJointDef extends JointDef {
     34   /**
     35    * The initial world target point. This is assumed to coincide with the body anchor initially.
     36    */
     37   public final Vec2 target = new Vec2();
     38 
     39   /**
     40    * The maximum constraint force that can be exerted to move the candidate body. Usually you will
     41    * express as some multiple of the weight (multiplier * mass * gravity).
     42    */
     43   public float maxForce;
     44 
     45   /**
     46    * The response speed.
     47    */
     48   public float frequencyHz;
     49 
     50   /**
     51    * The damping ratio. 0 = no damping, 1 = critical damping.
     52    */
     53   public float dampingRatio;
     54 
     55   public MouseJointDef() {
     56     super(JointType.MOUSE);
     57     target.set(0, 0);
     58     maxForce = 0;
     59     frequencyHz = 5;
     60     dampingRatio = .7f;
     61   }
     62 }
     63