fisica
Class FMouseJoint

java.lang.Object
  extended by fisica.FJoint
      extended by fisica.FMouseJoint

public class FMouseJoint
extends FJoint

Represents a mouse joint that tries to keep a body at a constant distance from the target. This joint is similar to connecting a spring from from the body to a target whose position can be changed programatically using setTarget(float, float).


Constructor Summary
FMouseJoint(FBody body, float x, float y)
          Construct a mouse joint between a body and a target.
 
Method Summary
 void attachImage(processing.core.PImage img)
          Attach an image to the object.
 void dettachImage()
          Dettach any image that has been attached to the object.
 void draw(processing.core.PApplet applet)
           
 void draw(processing.core.PGraphics applet)
          This method is called when calling world.draw().
 float getAnchorX()
          Get the horizontal coordinate of the anchor point on the body.
 float getAnchorY()
          Get the vertical coordinate of the anchor point on the body.
 FBody getGrabbedBody()
          Returns the body grabbed by this joint.
 float getImageAlpha()
          Get the opacity with which to draw the attached image.
 float getTargetX()
          Returns the horizontal target position of the joint.
 float getTargetY()
          Returns the vertical target position of the joint.
 boolean isDrawable()
          Get whether the object must be drawn or not.
 void releaseGrabbedBody()
          Releases the body grabbed by this joint.
 void setAnchor(float x, float y)
          Sets the anchor position at which the joint grabs the body.
 void setDamping(float damping)
          Sets the damping of the spring used to maintain the body and the target together.
 void setDrawable(boolean drawable)
          Set whether the object must be drawn or not.
 void setFill(float g)
          Set the fill color of the object.
 void setFill(float g, float a)
          Set the fill color of the object.
 void setFill(float r, float g, float b)
          Set the fill color of the object.
 void setFill(float r, float g, float b, float a)
          Set the fill color of the object.
 void setFillColor(int col)
          Set the fill color of the object.
 void setFrequency(float frequency)
          Sets the frequency of the spring used to maintain the body and the target together.
 void setGrabbedBodyAndTarget(FBody body, float x, float y)
          Sets the body grabbed by this joint and the target position.
 void setImageAlpha(float alpha)
          Set the opacity with which to draw the attached image.
 void setNoFill()
          Set that the object must be drawn without fill.
 void setNoStroke()
          Set that the object must be drawn without stroke.
 void setStroke(float g)
          Set the stroke color of the object.
 void setStroke(float g, float a)
          Set the stroke color of the object.
 void setStroke(float r, float g, float b)
          Set the stroke color of the object.
 void setStroke(float r, float g, float b, float a)
          Set the stroke color of the object.
 void setStrokeColor(int col)
          Set the stroke color of the object.
 void setStrokeWeight(float weight)
          Set the stroke weight of the object.
 void setTarget(float x, float y)
          Sets the target position of the joint.
 
Methods inherited from class fisica.FJoint
getBody1, getBody2, getReactionForceX, getReactionForceY, getReactionTorque, setCollideConnected
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FMouseJoint

public FMouseJoint(FBody body,
                   float x,
                   float y)
Construct a mouse joint between a body and a target. The constructor automatically sets the anchors of the joint to the center of the body.

Parameters:
body - the body to be grabbed by the joint
x - horizontal coordinate of the initial target of the joint
y - vertical coordinate of the initial target of the joint
Method Detail

setDamping

public void setDamping(float damping)
Sets the damping of the spring used to maintain the body and the target together. This property must be set before adding the joint to the world.

Parameters:
damping - the damping of the spring

setFrequency

public void setFrequency(float frequency)
Sets the frequency of the spring used to maintain the body and the target together. This property must be set before adding the joint to the world.

Parameters:
frequency - the frequency of the spring

setTarget

public void setTarget(float x,
                      float y)
Sets the target position of the joint. By setting this property everytime the mouse is used we are able to make the body of this joint follow mouse.

Parameters:
x - horizontal coordinate of the target of the joint
y - vertical coordinate of the target of the joint

getTargetX

public float getTargetX()
Returns the horizontal target position of the joint.

Returns:
horizontal coordinate of the target of the joint

getTargetY

public float getTargetY()
Returns the vertical target position of the joint.

Returns:
vertical coordinate of the target of the joint

setGrabbedBodyAndTarget

public void setGrabbedBodyAndTarget(FBody body,
                                    float x,
                                    float y)
Sets the body grabbed by this joint and the target position.

Parameters:
body - the body to be grabbed by the joint
x - horizontal coordinate of the target of the joint
y - vertical coordinate of the target of the joint

releaseGrabbedBody

public void releaseGrabbedBody()
Releases the body grabbed by this joint.


getGrabbedBody

public FBody getGrabbedBody()
Returns the body grabbed by this joint.

Returns:
the body grabbed by this joint

setAnchor

public void setAnchor(float x,
                      float y)
Sets the anchor position at which the joint grabs the body. The anchor point is the point used to apply forces in order to move the body.

Parameters:
x - the horizontal coordinate of the anchor relative to the center of the body
y - the vertical coordinate of the anchor relative to the center of the body

getAnchorX

public float getAnchorX()
Get the horizontal coordinate of the anchor point on the body. This position is given relative to the center of the body.

Returns:
the horizontal coordinate of the anchor relative to the center of the first body

getAnchorY

public float getAnchorY()
Get the vertical coordinate of the anchor point on the body. This position is given relative to the center of the body.

Returns:
the vertical coordinate of the anchor relative to the center of the first body

draw

public void draw(processing.core.PGraphics applet)
This method is called when calling world.draw(). This method may be overriden to allow custom drawing of the object.

Parameters:
applet - the applet onto which the object must be drawn.

draw

public void draw(processing.core.PApplet applet)

attachImage

public void attachImage(processing.core.PImage img)
Attach an image to the object. This method allows to draw an image onto the screen instead of calling the draw(PApplet) method.

Parameters:
img - the PImage to attach to the object.

dettachImage

public void dettachImage()
Dettach any image that has been attached to the object.

See Also:
attachImage(PImage)

getImageAlpha

public float getImageAlpha()
Get the opacity with which to draw the attached image.

Returns:
the opacity, a value from 0.0 to 1.0 with which to draw the attached image
See Also:
attachImage(PImage), setImageAlpha(float)

setImageAlpha

public void setImageAlpha(float alpha)
Set the opacity with which to draw the attached image.

Parameters:
alpha - the opacity, a value from 0.0 to 1.0 with which to draw the attached image
See Also:
attachImage(PImage), getImageAlpha()

setDrawable

public void setDrawable(boolean drawable)
Set whether the object must be drawn or not.

Parameters:
drawable - if true the object will be drawn, else it will not
See Also:
isDrawable()

isDrawable

public boolean isDrawable()
Get whether the object must be drawn or not.

Returns:
drawable if true the object will be drawn, else it will not
See Also:
setDrawable(boolean)

setFillColor

public void setFillColor(int col)
Set the fill color of the object. This method must be used in conjunction with Processing's color(). In most cases users will find it more convenient to use the versions of setFill(float), setFill(float,float), setFill(float,float,float) or setFill(float,float,float,float)

Parameters:
col - a Processing color type. e.g. myBody.setFillColor(color(20,100,30,90));
See Also:
setNoFill(), setFill(float), setFill(float,float), setFill(float,float,float), setFill(float,float,float,float)

setNoFill

public void setNoFill()
Set that the object must be drawn without fill.

See Also:
setFill(float), setFill(float,float), setFill(float,float,float), setFill(float,float,float,float)

setFill

public void setFill(float g)
Set the fill color of the object.

Parameters:
g - gray value
See Also:
setFill(float), setFill(float,float), setFill(float,float,float), setFill(float,float,float,float)

setFill

public void setFill(float g,
                    float a)
Set the fill color of the object.

Parameters:
g - gray value
a - alpha (opacity) value
See Also:
setFill(float), setFill(float,float), setFill(float,float,float), setFill(float,float,float,float)

setFill

public void setFill(float r,
                    float g,
                    float b)
Set the fill color of the object.

Parameters:
r - red value
g - green value
b - blue value
See Also:
setFill(float), setFill(float,float), setFill(float,float,float), setFill(float,float,float,float)

setFill

public void setFill(float r,
                    float g,
                    float b,
                    float a)
Set the fill color of the object.

Parameters:
r - red value
g - green value
b - blue value
a - alpha (opacity) value
See Also:
setFill(float), setFill(float,float), setFill(float,float,float), setFill(float,float,float,float)

setStrokeColor

public void setStrokeColor(int col)
Set the stroke color of the object. This method must be used in conjunction with Processing's color(). In most cases users will find it more convenient to use the versions of setStroke(float), setStroke(float,float), setStroke(float,float,float) or setStroke(float,float,float,float)

Parameters:
col - a Processing color type. e.g. myBody.setStrokeColor(color(20,100,30,90));
See Also:
setNoStroke(), setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)

setNoStroke

public void setNoStroke()
Set that the object must be drawn without stroke.

See Also:
setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)

setStroke

public void setStroke(float g)
Set the stroke color of the object.

Parameters:
g - gray value
See Also:
setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)

setStroke

public void setStroke(float g,
                      float a)
Set the stroke color of the object.

Parameters:
g - gray value
a - alpha (opacity) value
See Also:
setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)

setStroke

public void setStroke(float r,
                      float g,
                      float b)
Set the stroke color of the object.

Parameters:
r - red value
g - green value
b - blue value
See Also:
setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)

setStroke

public void setStroke(float r,
                      float g,
                      float b,
                      float a)
Set the stroke color of the object.

Parameters:
r - red value
g - green value
b - blue value
a - alpha (opacity) value
See Also:
setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)

setStrokeWeight

public void setStrokeWeight(float weight)
Set the stroke weight of the object.

Parameters:
weight - weight value in pixels
See Also:
setStroke(float), setStroke(float,float), setStroke(float,float,float), setStroke(float,float,float,float)


processing library fisica by Ricard Marxer. (c) 2009