public class Ray
extends java.lang.Object
Pretty useful for detecting collisions between objects in a scene.
Based on three.js code.
Constructor and Description |
---|
Ray() |
Ray(Vector3 origin,
Vector3 direction) |
Modifier and Type | Method and Description |
---|---|
Ray |
apply(Matrix4 matrix4) |
Vector3 |
at(double t) |
Vector3 |
at(double t,
Vector3 optionalTarget) |
Ray |
clone() |
Vector3 |
closestPointToPoint(Vector3 point) |
Vector3 |
closestPointToPoint(Vector3 point,
Vector3 optionalTarget) |
Ray |
copy(Ray ray) |
double |
distanceSqToSegment(Vector3 v0,
Vector3 v1,
Vector3 optionalPointOnRay,
Vector3 optionalPointOnSegment) |
java.lang.Double |
distanceToPlane(Plane plane) |
double |
distanceToPoint(Vector3 point) |
boolean |
equals(Ray ray) |
Vector3 |
getDirection() |
Vector3 |
getOrigin() |
Vector3 |
intersectBox(Box3 box,
Vector3 optionalTarget)
http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-7-intersecting-simple-shapes/ray-box-intersection/
|
Vector3 |
intersectPlane(Plane plane) |
Vector3 |
intersectPlane(Plane plane,
Vector3 optionalTarget) |
Vector3 |
intersectSphere(Sphere sphere) |
Vector3 |
intersectSphere(Sphere sphere,
Vector3 optionalTarget)
from http://www.scratchapixel.com/lessons/3d-basic-lessons/lesson-7-intersecting-simple-shapes/ray-sphere-intersection/
|
Vector3 |
intersectTriangle(Vector3 a,
Vector3 b,
Vector3 c,
boolean backfaceCulling) |
Vector3 |
intersectTriangle(Vector3 a,
Vector3 b,
Vector3 c,
boolean backfaceCulling,
Vector3 optionalTarget)
from http://www.geometrictools.com/LibMathematics/Intersection/Wm5IntrRay3Triangle3.cpp
|
boolean |
isIntersectionBox(Box3 box) |
boolean |
isIntersectionPlane(Plane plane) |
boolean |
isIntersectionSphere(Sphere sphere) |
Ray |
recast(double t) |
Ray |
set(Vector3 origin,
Vector3 direction) |
void |
setDirection(Vector3 direction) |
void |
setOrigin(Vector3 origin) |
public Vector3 getOrigin()
public void setOrigin(Vector3 origin)
public Vector3 getDirection()
public void setDirection(Vector3 direction)
public Vector3 at(double t)
public Ray recast(double t)
public double distanceToPoint(Vector3 point)
public double distanceSqToSegment(Vector3 v0, Vector3 v1, Vector3 optionalPointOnRay, Vector3 optionalPointOnSegment)
public boolean isIntersectionSphere(Sphere sphere)
public Vector3 intersectSphere(Sphere sphere, Vector3 optionalTarget)
sphere
- optionalTarget
- public boolean isIntersectionPlane(Plane plane)
public java.lang.Double distanceToPlane(Plane plane)
public boolean isIntersectionBox(Box3 box)
public Vector3 intersectBox(Box3 box, Vector3 optionalTarget)
box
- optionalTarget
- public Vector3 intersectTriangle(Vector3 a, Vector3 b, Vector3 c, boolean backfaceCulling)
public Vector3 intersectTriangle(Vector3 a, Vector3 b, Vector3 c, boolean backfaceCulling, Vector3 optionalTarget)
a
- b
- c
- backfaceCulling
- optionalTarget
- public boolean equals(Ray ray)
public Ray clone()
clone
in class java.lang.Object