package Common;
public class Ray3 {
/**
* @uml.property name="origin"
* @uml.associationEnd multiplicity="(1 1)"
*/
Vector3f origin;
/**
* @uml.property name="direction"
* @uml.associationEnd multiplicity="(1 1)"
*/
Vector3f direction;
public Ray3() {
this.origin = new Vector3f();
this.direction = new Vector3f();
}
/**
* @return
* @uml.property name="origin"
*/
public Vector3f getOrigin() {
return origin;
}
/**
* @param origin
* @uml.property name="origin"
*/
public void setOrigin(Vector3f origin) {
this.origin = origin;
}
/**
* @return
* @uml.property name="direction"
*/
public Vector3f getDirection() {
return direction;
}
/**
* @param direction
* @uml.property name="direction"
*/
public void setDirection(Vector3f direction) {
this.direction = direction;
}
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj instanceof Ray3 == false)
return false;
Ray3 other = (Ray3) obj;
//Don't use MatrixMath.compareFloat. It does not provide enough precision.
if (other.origin.sub(origin).length() <0.001f && other.direction.sub(direction).length() < 0.001f)
return true;
return false;
}
}