maspack.geometry
Class Intersector2d

java.lang.Object
  extended by maspack.geometry.Intersector2d

public class Intersector2d
extends java.lang.Object

Used to perform 2D intersections, or solve intersection problems on the plane

Author:
Antonio

Field Summary
 double epsilon
           
 
Constructor Summary
Intersector2d()
           
 
Method Summary
static Point2d get2dCoordinate(Point3d pnt, Vector3d vx, Vector3d vy, Point3d o)
           
static Vector2d get2dVector(Vector3d v, Vector3d vx, Vector3d vy)
           
static Point3d get3dCoordinate(Point2d pnt, Vector3d vx, Vector3d vy, Point3d o)
           
static Point3d getBarycentric(Point2d p, Point2d p1, Point2d p2, Point2d p3, Point3d uvw)
           
 double getEpsilon()
           
static java.util.ArrayList<Point2d> getUnique(java.util.ArrayList<Point2d> pnts, double tol)
           
 int intersectLineLine(Point2d c1, Vector2d v1, Point2d c2, Vector2d v2, java.util.ArrayList<Point2d> points)
           
 int intersectLineLineSegment(Point2d p1, Vector2d v1, Point2d p2a, Point2d p2b, java.util.ArrayList<Point2d> points)
           
 int intersectLineSegmentLineSegment(Point2d p1a, Point2d p1b, Point2d p2a, Point2d p2b, java.util.ArrayList<Point2d> points)
           
 int intersectTriangleLineSegment(Point2d v0, Point2d v1, Point2d v2, Point2d l0, Point2d l1, java.util.ArrayList<Point2d> points)
           
 void setEpsilon(double e)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

epsilon

public double epsilon
Constructor Detail

Intersector2d

public Intersector2d()
Method Detail

setEpsilon

public void setEpsilon(double e)

getEpsilon

public double getEpsilon()

intersectTriangleLineSegment

public int intersectTriangleLineSegment(Point2d v0,
                                        Point2d v1,
                                        Point2d v2,
                                        Point2d l0,
                                        Point2d l1,
                                        java.util.ArrayList<Point2d> points)

getUnique

public static java.util.ArrayList<Point2d> getUnique(java.util.ArrayList<Point2d> pnts,
                                                     double tol)

get3dCoordinate

public static Point3d get3dCoordinate(Point2d pnt,
                                      Vector3d vx,
                                      Vector3d vy,
                                      Point3d o)

get2dCoordinate

public static Point2d get2dCoordinate(Point3d pnt,
                                      Vector3d vx,
                                      Vector3d vy,
                                      Point3d o)

getBarycentric

public static Point3d getBarycentric(Point2d p,
                                     Point2d p1,
                                     Point2d p2,
                                     Point2d p3,
                                     Point3d uvw)

get2dVector

public static Vector2d get2dVector(Vector3d v,
                                   Vector3d vx,
                                   Vector3d vy)

intersectLineLine

public int intersectLineLine(Point2d c1,
                             Vector2d v1,
                             Point2d c2,
                             Vector2d v2,
                             java.util.ArrayList<Point2d> points)

intersectLineLineSegment

public int intersectLineLineSegment(Point2d p1,
                                    Vector2d v1,
                                    Point2d p2a,
                                    Point2d p2b,
                                    java.util.ArrayList<Point2d> points)

intersectLineSegmentLineSegment

public int intersectLineSegmentLineSegment(Point2d p1a,
                                           Point2d p1b,
                                           Point2d p2a,
                                           Point2d p2b,
                                           java.util.ArrayList<Point2d> points)