com.jmex.subdivision
Enum SubdivisionButterfly.Rule

java.lang.Object
  extended by java.lang.Enum<SubdivisionButterfly.Rule>
      extended by com.jmex.subdivision.SubdivisionButterfly.Rule
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<SubdivisionButterfly.Rule>
Enclosing class:
SubdivisionButterfly

public static enum SubdivisionButterfly.Rule
extends java.lang.Enum<SubdivisionButterfly.Rule>

Which rule to use when splitting a certain Edge
See Page 73-75 in SIGGRAPH 2000 Course Notes, Denis Zorin, et al.

Author:
Tobias

Enum Constant Summary
EXTRAORDINARY_AVERAGE
           
EXTRAORDINARY_CREASE
           
EXTRAORDINARY_INTERIOR
           
REGULAR_CREASE_CREASE
           
REGULAR_INTERIOR_CREASE
           
STANDARD
           
 
Field Summary
(package private) static int extraordinaryAverage
           
(package private) static int extraordinaryCrease
           
(package private) static int extraordinaryInterior
           
(package private)  Vector newVector
           
(package private) static int regularCreaseCrease
           
(package private) static int regularInteriorCrease
           
(package private) static int standard
           
 
Method Summary
(package private) abstract  Vector split(SubdivisionButterfly.Edge edge, java.nio.FloatBuffer vb, int bufferElementSize, java.util.ArrayList<SubdivisionButterfly.Edge>[] vertexEdgeMap, java.util.ArrayList<SubdivisionButterfly.Triangle> triangles, SubdivisionButterfly.Valence[] vertexValence, SubdivisionButterfly.Location[] vertexLocation)
           
static java.lang.String stats()
           
static SubdivisionButterfly.Rule valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static SubdivisionButterfly.Rule[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

STANDARD

public static final SubdivisionButterfly.Rule STANDARD

REGULAR_INTERIOR_CREASE

public static final SubdivisionButterfly.Rule REGULAR_INTERIOR_CREASE

REGULAR_CREASE_CREASE

public static final SubdivisionButterfly.Rule REGULAR_CREASE_CREASE

EXTRAORDINARY_AVERAGE

public static final SubdivisionButterfly.Rule EXTRAORDINARY_AVERAGE

EXTRAORDINARY_INTERIOR

public static final SubdivisionButterfly.Rule EXTRAORDINARY_INTERIOR

EXTRAORDINARY_CREASE

public static final SubdivisionButterfly.Rule EXTRAORDINARY_CREASE
Field Detail

newVector

Vector newVector

standard

static int standard

regularCreaseCrease

static int regularCreaseCrease

regularInteriorCrease

static int regularInteriorCrease

extraordinaryAverage

static int extraordinaryAverage

extraordinaryInterior

static int extraordinaryInterior

extraordinaryCrease

static int extraordinaryCrease
Method Detail

values

public static SubdivisionButterfly.Rule[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (SubdivisionButterfly.Rule c : SubdivisionButterfly.Rule.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static SubdivisionButterfly.Rule valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
java.lang.NullPointerException - if the argument is null

split

abstract Vector split(SubdivisionButterfly.Edge edge,
                      java.nio.FloatBuffer vb,
                      int bufferElementSize,
                      java.util.ArrayList<SubdivisionButterfly.Edge>[] vertexEdgeMap,
                      java.util.ArrayList<SubdivisionButterfly.Triangle> triangles,
                      SubdivisionButterfly.Valence[] vertexValence,
                      SubdivisionButterfly.Location[] vertexLocation)

stats

public static java.lang.String stats()
Returns:
A String showing some statistics on the number of types of vertices of the subdivision