NASA World Wind

gov.nasa.worldwind.util
Class GeometryBuilder

java.lang.Object
  extended by gov.nasa.worldwind.util.GeometryBuilder

public class GeometryBuilder
extends Object


Nested Class Summary
static class GeometryBuilder.IndexedTriangleArray
           
 
Field Summary
static int BOTTOM
           
static int CLOCKWISE
           
static int COUNTER_CLOCKWISE
           
static int INSIDE
           
static int LEFT
           
static int OUTSIDE
           
static int RIGHT
           
static int TOP
           
 
Constructor Summary
GeometryBuilder()
           
 
Method Summary
 float computePolygonArea2(int pos, int count, Vec4[] points)
           
 int computePolygonWindingOrder2(int pos, int count, Vec4[] points)
           
 int getBilinearSurfaceFillDrawMode()
           
 int getBilinearSurfaceFillIndexCount(int uStacks, int vStacks)
           
 int getBilinearSurfaceOutlineDrawMode()
           
 int getBilinearSurfaceOutlineIndexCount(int uStacks, int vStacks, int mask)
           
 int getBilinearSurfaceVertexCount(int uStacks, int vStacks)
           
 int getCylinderDrawMode()
           
 int getCylinderIndexCount(int slices, int stacks)
           
 int getCylinderOutlineDrawMode()
           
 int getCylinderOutlineIndexCount(int slices, int stacks)
           
 int getCylinderVertexCount(int slices, int stacks)
           
 int getDiskDrawMode()
           
 int getDiskIndexCount(int slices, int loops)
           
 int getDiskVertexCount(int slices, int loops)
           
 int getIndexedTriangleArrayDrawMode()
           
 int getLongCylinderDrawMode()
           
 int getLongCylinderIndexCount(int arcSlices, int lengthSlices, int stacks)
           
 int getLongCylinderOutlineDrawMode()
           
 int getLongCylinderOutlineIndexCount(int arcSlices, int lengthSlices, int stacks)
           
 int getLongCylinderVertexCount(int arcSlices, int lengthSlices, int stacks)
           
 int getLongDiskDrawMode()
           
 int getLongDiskIndexCount(int arcSlices, int lengthSlices, int loops)
           
 int getLongDiskVertexCount(int arcSlices, int lengthSlices, int loops)
           
 int getOrientation()
           
 int getPartialCylinderDrawMode()
           
 int getPartialCylinderIndexCount(int slices, int stacks)
           
 int getPartialCylinderOutlineDrawMode()
           
 int getPartialCylinderOutlineIndexCount(int slices, int stacks)
           
 int getPartialCylinderVertexCount(int slices, int stacks)
           
 int getPartialDiskDrawMode()
           
 int getPartialDiskIndexCount(int slices, int loops)
           
 int getPartialDiskVertexCount(int slices, int loops)
           
 int getRadialWallDrawMode()
           
 int getRadialWallIndexCount(int pillars, int stacks)
           
 int getRadialWallOutlineDrawMode()
           
 int getRadialWallOutlineIndexCount(int pillars, int stacks)
           
 int getRadialWallVertexCount(int pillars, int stacks)
           
 int getSubdivisionPointsVertexCount(int subdivisions)
           
 void makeBilinearSurfaceFillIndices(int vertexPos, int uStacks, int vStacks, int destPos, int[] dest)
           
 void makeBilinearSurfaceOutlineIndices(int vertexPos, int uStacks, int vStacks, int mask, int destPos, int[] dest)
           
 void makeBilinearSurfaceVertexNormals(int srcPos, int uStacks, int vStacks, float[] srcVerts, int destPos, float[] dest)
           
 void makeBilinearSurfaceVertices(float[] control, int destPos, int uStacks, int vStacks, float[] dest)
           
 void makeCylinderIndices(int slices, int stacks, int[] dest)
           
 void makeCylinderNormals(int slices, int stacks, float[] dest)
           
 void makeCylinderOutlineIndices(int slices, int stacks, int[] dest)
           
 void makeCylinderVertices(float radius, float height, int slices, int stacks, float[] dest)
           
 void makeDiskIndices(int slices, int loops, int[] dest)
           
 void makeDiskNormals(int slices, int loops, float[] dest)
           
 void makeDiskVertexNormals(float innerRadius, float outerRadius, int slices, int loops, float[] srcVerts, float[] dest)
           
 void makeDiskVertices(float innerRadius, float outerRadius, int slices, int loops, float[] dest)
           
 void makeIndexedTriangleArrayNormals(GeometryBuilder.IndexedTriangleArray ita, float[] dest)
           
 void makeIndexedTriangleArrayNormals(int indexPos, int indexCount, int[] indices, int vertexPos, int vertexCount, float[] vertices, float[] dest)
           
 void makeIndexedTriangleStripNormals(int indexPos, int indexCount, int[] indices, int vertexPos, int vertexCount, float[] vertices, float[] dest)
           
 void makeLongCylinderIndices(int arcSlices, int lengthSlices, int stacks, int[] dest)
           
 void makeLongCylinderNormals(int arcSlices, int lengthSlices, int stacks, float[] dest)
           
 void makeLongCylinderOutlineIndices(int arcSlices, int lengthSlices, int stacks, int[] dest)
           
 void makeLongCylinderVertices(float radius, float length, float height, int arcSlices, int lengthSlices, int stacks, float[] dest)
           
 void makeLongDiskIndices(int arcSlices, int lengthSlices, int loops, int[] dest)
           
 void makeLongDiskNormals(int arcSlices, int lengthSlices, int loops, float[] dest)
           
 void makeLongDiskVertexNormals(float innerRadius, float outerRadius, float length, int arcSlices, int lengthSlices, int loops, float[] srcVerts, float[] dest)
           
 void makeLongDiskVertices(float innerRadius, float outerRadius, float length, int arcSlices, int lengthSlices, int loops, float[] dest)
           
 void makePartialCylinderIndices(int slices, int stacks, int[] dest)
           
 void makePartialCylinderNormals(float radius, float height, int slices, int stacks, float start, float sweep, float[] dest)
           
 void makePartialCylinderOutlineIndices(int slices, int stacks, int[] dest)
           
 void makePartialCylinderVertices(float radius, float height, int slices, int stacks, float start, float sweep, float[] dest)
           
 void makePartialDiskIndices(int slices, int loops, int[] dest)
           
 void makePartialDiskNormals(int slices, int loops, float[] dest)
           
 void makePartialDiskVertexNormals(float innerRadius, float outerRadius, int slices, int loops, float start, float sweep, float[] srcVerts, float[] dest)
           
 void makePartialDiskVertices(float innerRadius, float outerRadius, int slices, int loops, float start, float sweep, float[] dest)
           
 void makeRadialWallIndices(int pillars, int stacks, int[] dest)
           
 void makeRadialWallNormals(float innerRadius, float outerRadius, float height, float angle, int pillars, int stacks, float[] dest)
           
 void makeRadialWallOutlineIndices(int pillars, int stacks, int[] dest)
           
 void makeRadialWallVertices(float innerRadius, float outerRadius, float height, float angle, int pillars, int stacks, float[] dest)
           
 void makeSubdivisionPoints(float x1, float y1, float z1, float x2, float y2, float z2, int subdivisions, float[] dest)
           
<T> void
reversePoints(int pos, int count, T[] points)
           
 void setOrientation(int orientation)
           
 void subdivideIndexedTriangleArray(GeometryBuilder.IndexedTriangleArray ita)
           
 GeometryBuilder.IndexedTriangleArray subdivideIndexedTriangles(int indexCount, int[] indices, int vertexCount, float[] vertices)
           
 GeometryBuilder.IndexedTriangleArray tessellatePolygon2(int pos, int count, float[] vertices)
           
 GeometryBuilder.IndexedTriangleArray tessellateSphere(float radius, int subdivisions)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOTTOM

public static final int BOTTOM
See Also:
Constant Field Values

CLOCKWISE

public static final int CLOCKWISE
See Also:
Constant Field Values

COUNTER_CLOCKWISE

public static final int COUNTER_CLOCKWISE
See Also:
Constant Field Values

INSIDE

public static final int INSIDE
See Also:
Constant Field Values

LEFT

public static final int LEFT
See Also:
Constant Field Values

OUTSIDE

public static final int OUTSIDE
See Also:
Constant Field Values

RIGHT

public static final int RIGHT
See Also:
Constant Field Values

TOP

public static final int TOP
See Also:
Constant Field Values
Constructor Detail

GeometryBuilder

public GeometryBuilder()
Method Detail

computePolygonArea2

public float computePolygonArea2(int pos,
                                 int count,
                                 Vec4[] points)

computePolygonWindingOrder2

public int computePolygonWindingOrder2(int pos,
                                       int count,
                                       Vec4[] points)

getBilinearSurfaceFillDrawMode

public int getBilinearSurfaceFillDrawMode()

getBilinearSurfaceFillIndexCount

public int getBilinearSurfaceFillIndexCount(int uStacks,
                                            int vStacks)

getBilinearSurfaceOutlineDrawMode

public int getBilinearSurfaceOutlineDrawMode()

getBilinearSurfaceOutlineIndexCount

public int getBilinearSurfaceOutlineIndexCount(int uStacks,
                                               int vStacks,
                                               int mask)

getBilinearSurfaceVertexCount

public int getBilinearSurfaceVertexCount(int uStacks,
                                         int vStacks)

getCylinderDrawMode

public int getCylinderDrawMode()

getCylinderIndexCount

public int getCylinderIndexCount(int slices,
                                 int stacks)

getCylinderOutlineDrawMode

public int getCylinderOutlineDrawMode()

getCylinderOutlineIndexCount

public int getCylinderOutlineIndexCount(int slices,
                                        int stacks)

getCylinderVertexCount

public int getCylinderVertexCount(int slices,
                                  int stacks)

getDiskDrawMode

public int getDiskDrawMode()

getDiskIndexCount

public int getDiskIndexCount(int slices,
                             int loops)

getDiskVertexCount

public int getDiskVertexCount(int slices,
                              int loops)

getIndexedTriangleArrayDrawMode

public int getIndexedTriangleArrayDrawMode()

getLongCylinderDrawMode

public int getLongCylinderDrawMode()

getLongCylinderIndexCount

public int getLongCylinderIndexCount(int arcSlices,
                                     int lengthSlices,
                                     int stacks)

getLongCylinderOutlineDrawMode

public int getLongCylinderOutlineDrawMode()

getLongCylinderOutlineIndexCount

public int getLongCylinderOutlineIndexCount(int arcSlices,
                                            int lengthSlices,
                                            int stacks)

getLongCylinderVertexCount

public int getLongCylinderVertexCount(int arcSlices,
                                      int lengthSlices,
                                      int stacks)

getLongDiskDrawMode

public int getLongDiskDrawMode()

getLongDiskIndexCount

public int getLongDiskIndexCount(int arcSlices,
                                 int lengthSlices,
                                 int loops)

getLongDiskVertexCount

public int getLongDiskVertexCount(int arcSlices,
                                  int lengthSlices,
                                  int loops)

getOrientation

public int getOrientation()

getPartialCylinderDrawMode

public int getPartialCylinderDrawMode()

getPartialCylinderIndexCount

public int getPartialCylinderIndexCount(int slices,
                                        int stacks)

getPartialCylinderOutlineDrawMode

public int getPartialCylinderOutlineDrawMode()

getPartialCylinderOutlineIndexCount

public int getPartialCylinderOutlineIndexCount(int slices,
                                               int stacks)

getPartialCylinderVertexCount

public int getPartialCylinderVertexCount(int slices,
                                         int stacks)

getPartialDiskDrawMode

public int getPartialDiskDrawMode()

getPartialDiskIndexCount

public int getPartialDiskIndexCount(int slices,
                                    int loops)

getPartialDiskVertexCount

public int getPartialDiskVertexCount(int slices,
                                     int loops)

getRadialWallDrawMode

public int getRadialWallDrawMode()

getRadialWallIndexCount

public int getRadialWallIndexCount(int pillars,
                                   int stacks)

getRadialWallOutlineDrawMode

public int getRadialWallOutlineDrawMode()

getRadialWallOutlineIndexCount

public int getRadialWallOutlineIndexCount(int pillars,
                                          int stacks)

getRadialWallVertexCount

public int getRadialWallVertexCount(int pillars,
                                    int stacks)

getSubdivisionPointsVertexCount

public int getSubdivisionPointsVertexCount(int subdivisions)

makeBilinearSurfaceFillIndices

public void makeBilinearSurfaceFillIndices(int vertexPos,
                                           int uStacks,
                                           int vStacks,
                                           int destPos,
                                           int[] dest)

makeBilinearSurfaceOutlineIndices

public void makeBilinearSurfaceOutlineIndices(int vertexPos,
                                              int uStacks,
                                              int vStacks,
                                              int mask,
                                              int destPos,
                                              int[] dest)

makeBilinearSurfaceVertexNormals

public void makeBilinearSurfaceVertexNormals(int srcPos,
                                             int uStacks,
                                             int vStacks,
                                             float[] srcVerts,
                                             int destPos,
                                             float[] dest)

makeBilinearSurfaceVertices

public void makeBilinearSurfaceVertices(float[] control,
                                        int destPos,
                                        int uStacks,
                                        int vStacks,
                                        float[] dest)

makeCylinderIndices

public void makeCylinderIndices(int slices,
                                int stacks,
                                int[] dest)

makeCylinderNormals

public void makeCylinderNormals(int slices,
                                int stacks,
                                float[] dest)

makeCylinderOutlineIndices

public void makeCylinderOutlineIndices(int slices,
                                       int stacks,
                                       int[] dest)

makeCylinderVertices

public void makeCylinderVertices(float radius,
                                 float height,
                                 int slices,
                                 int stacks,
                                 float[] dest)

makeDiskIndices

public void makeDiskIndices(int slices,
                            int loops,
                            int[] dest)

makeDiskNormals

public void makeDiskNormals(int slices,
                            int loops,
                            float[] dest)

makeDiskVertexNormals

public void makeDiskVertexNormals(float innerRadius,
                                  float outerRadius,
                                  int slices,
                                  int loops,
                                  float[] srcVerts,
                                  float[] dest)

makeDiskVertices

public void makeDiskVertices(float innerRadius,
                             float outerRadius,
                             int slices,
                             int loops,
                             float[] dest)

makeIndexedTriangleArrayNormals

public void makeIndexedTriangleArrayNormals(GeometryBuilder.IndexedTriangleArray ita,
                                            float[] dest)

makeIndexedTriangleArrayNormals

public void makeIndexedTriangleArrayNormals(int indexPos,
                                            int indexCount,
                                            int[] indices,
                                            int vertexPos,
                                            int vertexCount,
                                            float[] vertices,
                                            float[] dest)

makeIndexedTriangleStripNormals

public void makeIndexedTriangleStripNormals(int indexPos,
                                            int indexCount,
                                            int[] indices,
                                            int vertexPos,
                                            int vertexCount,
                                            float[] vertices,
                                            float[] dest)

makeLongCylinderIndices

public void makeLongCylinderIndices(int arcSlices,
                                    int lengthSlices,
                                    int stacks,
                                    int[] dest)

makeLongCylinderNormals

public void makeLongCylinderNormals(int arcSlices,
                                    int lengthSlices,
                                    int stacks,
                                    float[] dest)

makeLongCylinderOutlineIndices

public void makeLongCylinderOutlineIndices(int arcSlices,
                                           int lengthSlices,
                                           int stacks,
                                           int[] dest)

makeLongCylinderVertices

public void makeLongCylinderVertices(float radius,
                                     float length,
                                     float height,
                                     int arcSlices,
                                     int lengthSlices,
                                     int stacks,
                                     float[] dest)

makeLongDiskIndices

public void makeLongDiskIndices(int arcSlices,
                                int lengthSlices,
                                int loops,
                                int[] dest)

makeLongDiskNormals

public void makeLongDiskNormals(int arcSlices,
                                int lengthSlices,
                                int loops,
                                float[] dest)

makeLongDiskVertexNormals

public void makeLongDiskVertexNormals(float innerRadius,
                                      float outerRadius,
                                      float length,
                                      int arcSlices,
                                      int lengthSlices,
                                      int loops,
                                      float[] srcVerts,
                                      float[] dest)

makeLongDiskVertices

public void makeLongDiskVertices(float innerRadius,
                                 float outerRadius,
                                 float length,
                                 int arcSlices,
                                 int lengthSlices,
                                 int loops,
                                 float[] dest)

makePartialCylinderIndices

public void makePartialCylinderIndices(int slices,
                                       int stacks,
                                       int[] dest)

makePartialCylinderNormals

public void makePartialCylinderNormals(float radius,
                                       float height,
                                       int slices,
                                       int stacks,
                                       float start,
                                       float sweep,
                                       float[] dest)

makePartialCylinderOutlineIndices

public void makePartialCylinderOutlineIndices(int slices,
                                              int stacks,
                                              int[] dest)

makePartialCylinderVertices

public void makePartialCylinderVertices(float radius,
                                        float height,
                                        int slices,
                                        int stacks,
                                        float start,
                                        float sweep,
                                        float[] dest)

makePartialDiskIndices

public void makePartialDiskIndices(int slices,
                                   int loops,
                                   int[] dest)

makePartialDiskNormals

public void makePartialDiskNormals(int slices,
                                   int loops,
                                   float[] dest)

makePartialDiskVertexNormals

public void makePartialDiskVertexNormals(float innerRadius,
                                         float outerRadius,
                                         int slices,
                                         int loops,
                                         float start,
                                         float sweep,
                                         float[] srcVerts,
                                         float[] dest)

makePartialDiskVertices

public void makePartialDiskVertices(float innerRadius,
                                    float outerRadius,
                                    int slices,
                                    int loops,
                                    float start,
                                    float sweep,
                                    float[] dest)

makeRadialWallIndices

public void makeRadialWallIndices(int pillars,
                                  int stacks,
                                  int[] dest)

makeRadialWallNormals

public void makeRadialWallNormals(float innerRadius,
                                  float outerRadius,
                                  float height,
                                  float angle,
                                  int pillars,
                                  int stacks,
                                  float[] dest)

makeRadialWallOutlineIndices

public void makeRadialWallOutlineIndices(int pillars,
                                         int stacks,
                                         int[] dest)

makeRadialWallVertices

public void makeRadialWallVertices(float innerRadius,
                                   float outerRadius,
                                   float height,
                                   float angle,
                                   int pillars,
                                   int stacks,
                                   float[] dest)

makeSubdivisionPoints

public void makeSubdivisionPoints(float x1,
                                  float y1,
                                  float z1,
                                  float x2,
                                  float y2,
                                  float z2,
                                  int subdivisions,
                                  float[] dest)

reversePoints

public <T> void reversePoints(int pos,
                              int count,
                              T[] points)

setOrientation

public void setOrientation(int orientation)

subdivideIndexedTriangleArray

public void subdivideIndexedTriangleArray(GeometryBuilder.IndexedTriangleArray ita)

subdivideIndexedTriangles

public GeometryBuilder.IndexedTriangleArray subdivideIndexedTriangles(int indexCount,
                                                                      int[] indices,
                                                                      int vertexCount,
                                                                      float[] vertices)

tessellatePolygon2

public GeometryBuilder.IndexedTriangleArray tessellatePolygon2(int pos,
                                                               int count,
                                                               float[] vertices)

tessellateSphere

public GeometryBuilder.IndexedTriangleArray tessellateSphere(float radius,
                                                             int subdivisions)

NASA World Wind