Class Surface

java.lang.Object
com.jme3.scene.Mesh
com.jme3.scene.shape.Surface
All Implemented Interfaces:
Savable, JmeCloneable, 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
  • Constructor Details

    • Surface

      protected Surface()
      For serialization only. Do not use.
  • Method Details

    • createNurbsSurface

      public static final Surface createNurbsSurface(List<List<Vector4f>> controlPoints, List<Float>[] nurbKnots, int uSegments, int vSegments, int basisUFunctionDegree, int basisVFunctionDegree)
      This method creates a NURBS surface. The created mesh is smooth by default.
      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
    • createNurbsSurface

      public static final Surface createNurbsSurface(List<List<Vector4f>> controlPoints, List<Float>[] nurbKnots, int uSegments, int vSegments, int basisUFunctionDegree, int basisVFunctionDegree, boolean smooth)
      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
      smooth - true for a smooth mesh
      Returns:
      an instance of NURBS surface
    • getControlPoints

      public List<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 List<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
    • read

      public void read(JmeImporter importer) throws IOException
      De-serializes from the specified importer, for example when loading from a J3O file.
      Specified by:
      read in interface Savable
      Overrides:
      read in class Mesh
      Parameters:
      importer - the importer to use (not null)
      Throws:
      IOException - from the importer
    • write

      public void write(JmeExporter exporter) throws IOException
      Serializes to the specified exporter, for example when saving to a J3O file. The current instance is unaffected.
      Specified by:
      write in interface Savable
      Overrides:
      write in class Mesh
      Parameters:
      exporter - the exporter to use (not null)
      Throws:
      IOException - from the exporter