com.sun.j3d.utils.geometry
Class Desperate

java.lang.Object
  extended by com.sun.j3d.utils.geometry.Desperate

 class Desperate
extends java.lang.Object


Constructor Summary
Desperate()
           
 
Method Summary
(package private) static boolean desperate(Triangulator triRef, int ind, int i, boolean[] splitted)
          the functions in this file try to ensure that we always end up with something that (topologically) is a triangulation.
(package private) static boolean existsCrossOver(Triangulator triRef, int ind, int[] ind1, int[] i1, int[] ind2, int[] i2, int[] ind3, int[] i3, int[] ind4, int[] i4)
           
(package private) static boolean existsSplit(Triangulator triRef, int ind, int[] ind1, int[] i1, int[] ind2, int[] i2)
           
(package private) static boolean foundSplit(Triangulator triRef, int ind5, int i5, int ind, int ind1, int i1, int i3, int i4, int[] ind2, int[] i2)
           
(package private) static void handleCrossOver(Triangulator triRef, int ind1, int i1, int ind2, int i2, int ind3, int i3, int ind4, int i4)
           
(package private) static void handleSplit(Triangulator triRef, int ind1, int i1, int ind3, int i3)
           
(package private) static boolean letsHope(Triangulator triRef, int ind)
           
(package private) static int windingNumber(Triangulator triRef, int ind, Point2f p)
          This function computes the winding number of a polygon with respect to a point p.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Desperate

Desperate()
Method Detail

desperate

static boolean desperate(Triangulator triRef,
                         int ind,
                         int i,
                         boolean[] splitted)
the functions in this file try to ensure that we always end up with something that (topologically) is a triangulation. the more desperate we get, the more aggressive means we choose for making diagonals "valid".


existsCrossOver

static boolean existsCrossOver(Triangulator triRef,
                               int ind,
                               int[] ind1,
                               int[] i1,
                               int[] ind2,
                               int[] i2,
                               int[] ind3,
                               int[] i3,
                               int[] ind4,
                               int[] i4)

handleCrossOver

static void handleCrossOver(Triangulator triRef,
                            int ind1,
                            int i1,
                            int ind2,
                            int i2,
                            int ind3,
                            int i3,
                            int ind4,
                            int i4)

letsHope

static boolean letsHope(Triangulator triRef,
                        int ind)

existsSplit

static boolean existsSplit(Triangulator triRef,
                           int ind,
                           int[] ind1,
                           int[] i1,
                           int[] ind2,
                           int[] i2)

windingNumber

static int windingNumber(Triangulator triRef,
                         int ind,
                         Point2f p)
This function computes the winding number of a polygon with respect to a point p. no care is taken to handle cases where p lies on the boundary of the polygon. (this is no issue in our application, as we will always compute the winding number with respect to the mid-point of a valid diagonal.)


foundSplit

static boolean foundSplit(Triangulator triRef,
                          int ind5,
                          int i5,
                          int ind,
                          int ind1,
                          int i1,
                          int i3,
                          int i4,
                          int[] ind2,
                          int[] i2)

handleSplit

static void handleSplit(Triangulator triRef,
                        int ind1,
                        int i1,
                        int ind3,
                        int i3)


Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.