fisica
Class FPrismaticJoint

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

public class FPrismaticJoint
extends FJoint

Represents a prismatic joint that restricts the movement of one body with respect to another to a translation along a given axis. Often this joint is used with one of the bodies being static in order to only allow translation of the other body along a given axis. This translation can also be bounded given lower and upper translation limits.


Constructor Summary
FPrismaticJoint(FBody body1, FBody body2)
          Construct a prismatic joint between two bodies.
 
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 of the joint.
 float getAnchorY()
          Get the vertical coordinate of the anchor of the joint.
 float getImageAlpha()
          Get the opacity with which to draw the attached image.
 boolean isDrawable()
          Get whether the object must be drawn or not.
 void setAnchor(float x, float y)
          Sets the position of the anchor of the joint.
 void setAxis(float x, float y)
          Sets the axis of movement of the joint.
 void setDrawable(boolean drawable)
          Set whether the object must be drawn or not.
 void setEnableLimit(boolean value)
          Set limits to the allowed translation of one body respect to the other.
 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 setImageAlpha(float alpha)
          Set the opacity with which to draw the attached image.
 void setLowerTranslation(float translation)
          Set the lowest translation allowed.
 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 setUpperTranslation(float translation)
          Set the highest translation allowed.
 
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

FPrismaticJoint

public FPrismaticJoint(FBody body1,
                       FBody body2)
Construct a prismatic joint between two bodies. The constructor automatically sets the anchor of the joint to the center of the second body.

Parameters:
body1 - first body of the joint
body2 - second body of the joint
Method Detail

setAxis

public void setAxis(float x,
                    float y)
Sets the axis of movement of the joint. This is only axis alog which the bodies can translate with relation to each other. The axis is given global coordinates, relative to the center of the canvas. This property must be set before adding the joint to the world.

Parameters:
x - the horizontal component of the axis in global coordinates, relative to the center of the canvas
y - the vertical coordinate of the axis in global coordinates, relative to the center of the canvas

setAnchor

public void setAnchor(float x,
                      float y)
Sets the position of the anchor of the joint. This position is given global coordinates, relative to the center of the canvas.

Parameters:
x - the horizontal coordinate of the anchor in global coordinates, relative to the center of the canvas
y - the vertical coordinate of the anchor in global coordinates, relative to the center of the canvas

getAnchorX

public float getAnchorX()
Get the horizontal coordinate of the anchor of the joint. This position is given global coordinates, relative to the center of the canvas.

Returns:
the horizontal coordinate of the anchor in global coordinates, relative to the center of the canvas

getAnchorY

public float getAnchorY()
Get the vertical coordinate of the anchor of the joint. This position is given global coordinates, relative to the center of the canvas.

Returns:
the vertical coordinate of the anchor in global coordinates, relative to the center of the canvas

setLowerTranslation

public void setLowerTranslation(float translation)
Set the lowest translation allowed. This property only has effect if the enableLimit has been set to true using setEnableLimit(boolean).

Parameters:
translation - lowest translation position in pixels

setUpperTranslation

public void setUpperTranslation(float translation)
Set the highest translation allowed. This property only has effect if the enableLimit has been set to true using setEnableLimit(boolean).

Parameters:
translation - highest translation position in pixels

setEnableLimit

public void setEnableLimit(boolean value)
Set limits to the allowed translation of one body respect to the other. If set to true the limits imposed using setLowerTranslation and setLowerTranslation are enforced.

Parameters:
value - if true the bodies will be able to translate along the axis only between certain limits

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