com.jme3.scene.shape
Class Surface

java.lang.Object
  extended by com.jme3.scene.Mesh
      extended by com.jme3.scene.shape.Surface
All Implemented Interfaces:
Savable, java.lang.Cloneable

public class Surface
extends Mesh

This class represents a surface described by knots, weights and control points. Currently the following types are supported: a) NURBS


Nested Class Summary
 
Nested classes/interfaces inherited from class com.jme3.scene.Mesh
Mesh.Mode
 
Method Summary
static Surface createNurbsSurface(java.util.List<java.util.List<Vector4f>> controlPoints, java.util.List<java.lang.Float>[] nurbKnots, int uSegments, int vSegments, int basisUFunctionDegree, int basisVFunctionDegree)
          This method creates a NURBS surface.
 int getBasisUFunctionDegree()
          This method returns the degree of basis U function.
 int getBasisVFunctionDegree()
          This method returns the degree of basis V function.
 java.util.List<java.util.List<Vector4f>> getControlPoints()
           
 java.util.List<java.lang.Float> getKnots(int dim)
          This method returns the knots for specified dimension (U knots - value: '0', V knots - value: '1').
 Spline.SplineType getType()
          This method returns the type of the surface.
 int getUControlPointsAmount()
          This method returns the amount of U control points.
 int getVControlPointsAmount()
          This method returns the amount of V control points.
 
Methods inherited from class com.jme3.scene.Mesh
clearBuffer, clone, cloneForAnim, collideWith, createCollisionData, deepClone, extractVertexData, generateBindPose, getBound, getBuffer, getBufferList, getBuffers, getElementLengths, getFloatBuffer, getId, getIndexBuffer, getIndicesAsList, getLineWidth, getLodLevel, getMaxNumWeights, getMode, getModeStart, getNumLodLevels, getPointSize, getShortBuffer, getTriangle, getTriangle, getTriangle, getTriangleCount, getTriangleCount, getVertexCount, prepareForAnim, read, scaleTextureCoordinates, setBound, setBuffer, setBuffer, setBuffer, setBuffer, setBuffer, setBuffer, setBuffer, setBuffer, setBuffer, setBuffer, setDynamic, setElementLengths, setId, setInterleaved, setLineWidth, setLodLevels, setMaxNumWeights, setMode, setModeStart, setPointSize, setStatic, setStreamed, updateBound, updateCounts, write
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createNurbsSurface

public static final Surface createNurbsSurface(java.util.List<java.util.List<Vector4f>> controlPoints,
                                               java.util.List<java.lang.Float>[] nurbKnots,
                                               int uSegments,
                                               int vSegments,
                                               int basisUFunctionDegree,
                                               int basisVFunctionDegree)
This method creates a NURBS surface.

Parameters:
controlPoints - space control points
nurbKnots - knots of the surface
uSegments - the amount of U segments
vSegments - the amount of V segments
basisUFunctionDegree - the degree of basis U function
basisVFunctionDegree - the degree of basis V function
Returns:
an instance of NURBS surface

getControlPoints

public java.util.List<java.util.List<Vector4f>> getControlPoints()

getUControlPointsAmount

public int getUControlPointsAmount()
This method returns the amount of U control points.

Returns:
the amount of U control points

getVControlPointsAmount

public int getVControlPointsAmount()
This method returns the amount of V control points.

Returns:
the amount of V control points

getBasisUFunctionDegree

public int getBasisUFunctionDegree()
This method returns the degree of basis U function.

Returns:
the degree of basis U function

getBasisVFunctionDegree

public int getBasisVFunctionDegree()
This method returns the degree of basis V function.

Returns:
the degree of basis V function

getKnots

public java.util.List<java.lang.Float> getKnots(int dim)
This method returns the knots for specified dimension (U knots - value: '0', V knots - value: '1').

Parameters:
dim - an integer specifying if the U or V knots are required
Returns:
an array of knots

getType

public Spline.SplineType getType()
This method returns the type of the surface.

Returns:
the type of the surface