jmri.util
Class PhysicalLocation

Show UML class diagram
java.lang.Object
  extended by javax.vecmath.Tuple3f
      extended by javax.vecmath.Vector3f
          extended by jmri.util.PhysicalLocation
All Implemented Interfaces:
Serializable, Cloneable

public class PhysicalLocation
extends javax.vecmath.Vector3f

PhysicalLocation Represents a physical location on the layout in 3D space. Dimension units are not specified, but should be kept consistent in all three dimensions for a given usage. Used by VSDecoder for spatially positioning sounds on the layout. Could also be used, for example, for velocity calculations between sensors, or for keying operations locations or panel icons to a physical map view of the layout.

See Also:
Serialized Form

Field Summary
(package private)  float[] f
           
static String NBPropertyKey
          NBPropertyKey : Key name used when storing a PhysicalLocation as a NamedBean Property
static PhysicalLocation Origin
          Origin : constant representation of (0, 0, 0)
 
Fields inherited from class javax.vecmath.Tuple3f
x, y, z
 
Constructor Summary
PhysicalLocation()
          Default constructor
PhysicalLocation(double x, double y, double z)
          Constructor from X, Y, Z (double)
PhysicalLocation(double x, double y, double z, boolean is_tunnel)
          Constructor from X, Y, Z (double)
PhysicalLocation(float x, float y, float z)
          Constructor from X, Y, Z (float)
PhysicalLocation(float x, float y, float z, boolean is_tunnel)
          Constructor from X, Y, Z (float) + is_tunnel (boolean)
PhysicalLocation(PhysicalLocation p)
          Copy Constructor
PhysicalLocation(javax.vecmath.Vector3d v)
           
PhysicalLocation(javax.vecmath.Vector3f v)
          Constructor from Vector3f
 
Method Summary
 Boolean equals(PhysicalLocation l)
          equals()
static PhysicalLocation getBeanPhysicalLocation(NamedBean b)
          getBeanPhysicalLocation(NamedBean b) Extract the PhysicalLocation stored in NamedBean b, and return as a new PhysicalLocation object.
static PhysicalLocationPanel getPanel(String title)
          Get a panel component that can be used to view and/or edit a location.
 float getX()
          Get X dimension
 float getY()
          Get Y dimension
 float getZ()
          Get Z dimension
 boolean isTunnel()
           
static PhysicalLocation parse(String pos)
          Parse a string representation (x,y,z) Returns a new PhysicalLocation object.
static void setBeanPhysicalLocation(PhysicalLocation p, NamedBean b)
          setBeanPhysicalLocation(PhysicalLocation p, NamedBean b) Store PhysicalLocation p as a property in NamedBean b.
 void setIsTunnel(boolean t)
           
 void setX(float x)
          Set X dimension
 void setY(float y)
          Set Y dimension
 void setZ(float z)
          Set Z dimension
 String toString()
          toString() Output a string representation (x,y,z)
 javax.vecmath.Vector3d toVector3d()
           
 void translate(PhysicalLocation ref)
          translate() Translate this PhysicalLocation's coordinates to be relative to point "ref".
static PhysicalLocation translate(PhysicalLocation loc, PhysicalLocation ref)
          translate() Return a PhysicalLocation that represents the position of point "loc" relative to reference point "ref".
 
Methods inherited from class javax.vecmath.Vector3f
angle, cross, dot, length, lengthSquared, normalize, normalize
 
Methods inherited from class javax.vecmath.Tuple3f
absolute, absolute, add, add, clamp, clamp, clampMax, clampMax, clampMin, clampMin, clone, epsilonEquals, equals, equals, get, get, hashCode, interpolate, interpolate, negate, negate, scale, scale, scaleAdd, scaleAdd, set, set, set, set, sub, sub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

f

float[] f

Origin

public static final PhysicalLocation Origin
Origin : constant representation of (0, 0, 0)


NBPropertyKey

public static final String NBPropertyKey
NBPropertyKey : Key name used when storing a PhysicalLocation as a NamedBean Property

See Also:
Constant Field Values
Constructor Detail

PhysicalLocation

public PhysicalLocation()
Default constructor


PhysicalLocation

public PhysicalLocation(javax.vecmath.Vector3f v)
Constructor from Vector3f


PhysicalLocation

public PhysicalLocation(javax.vecmath.Vector3d v)

PhysicalLocation

public PhysicalLocation(float x,
                        float y,
                        float z,
                        boolean is_tunnel)
Constructor from X, Y, Z (float) + is_tunnel (boolean)


PhysicalLocation

public PhysicalLocation(float x,
                        float y,
                        float z)
Constructor from X, Y, Z (float)


PhysicalLocation

public PhysicalLocation(double x,
                        double y,
                        double z)
Constructor from X, Y, Z (double)


PhysicalLocation

public PhysicalLocation(double x,
                        double y,
                        double z,
                        boolean is_tunnel)
Constructor from X, Y, Z (double)


PhysicalLocation

public PhysicalLocation(PhysicalLocation p)
Copy Constructor

Method Detail

translate

public static PhysicalLocation translate(PhysicalLocation loc,
                                         PhysicalLocation ref)
translate() Return a PhysicalLocation that represents the position of point "loc" relative to reference point "ref".

Parameters:
loc - : PhysicalLocation to translate
ref - : PhysicalLocation to use as new reference point (origin)
Returns:
PhysicalLocation

getBeanPhysicalLocation

public static PhysicalLocation getBeanPhysicalLocation(NamedBean b)
getBeanPhysicalLocation(NamedBean b) Extract the PhysicalLocation stored in NamedBean b, and return as a new PhysicalLocation object. If the given NamedBean does not have a PhysicalLocation property returns Origin. (should probably return null instead, but...)

Parameters:
b - : NamedBean
Returns:
PhysicalLocation

setBeanPhysicalLocation

public static void setBeanPhysicalLocation(PhysicalLocation p,
                                           NamedBean b)
setBeanPhysicalLocation(PhysicalLocation p, NamedBean b) Store PhysicalLocation p as a property in NamedBean b.

Parameters:
p - PhysicalLocation
b - NamedBean

getPanel

public static PhysicalLocationPanel getPanel(String title)
Get a panel component that can be used to view and/or edit a location.


parse

public static PhysicalLocation parse(String pos)
Parse a string representation (x,y,z) Returns a new PhysicalLocation object.

Parameters:
pos - : String "(X, Y, Z)"
Returns:
PhysicalLocation

toString

public String toString()
toString() Output a string representation (x,y,z)

Overrides:
toString in class javax.vecmath.Tuple3f
Returns:
String "(X, Y, Z)"

toVector3d

public javax.vecmath.Vector3d toVector3d()

getX

public float getX()
Get X dimension


setX

public void setX(float x)
Set X dimension


getY

public float getY()
Get Y dimension


setY

public void setY(float y)
Set Y dimension


getZ

public float getZ()
Get Z dimension


setZ

public void setZ(float z)
Set Z dimension


isTunnel

public boolean isTunnel()

setIsTunnel

public void setIsTunnel(boolean t)

equals

public Boolean equals(PhysicalLocation l)
equals()


translate

public void translate(PhysicalLocation ref)
translate() Translate this PhysicalLocation's coordinates to be relative to point "ref". NOTE: This is a "permanent" internal translation, and permanently changes this PhysicalLocation's value. If you want a new PhysicalLocation that represents the relative position, call the class method translate(loc, ref)

Parameters:
ref - new reference (origin) point


Copyright © 1997-2013 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads