Interface NurbsSurface

All Known Implementing Classes:
BasicNurbsSurface

public interface NurbsSurface
Interface for Nurbs Surfaces.
Version:
1.2
Author:
sg
  • Method Details

    • getControlNet

      ControlNet getControlNet()
      Get the Contol points of the NurbsSurface
      Returns:
      ControlNet of the Nurbs
    • getUDegree

      int getUDegree()
      Get the degree in u direction
      Returns:
      degree in u direction
    • getUKnots

      float[] getUKnots()
      Get the knot values in u direction
      Returns:
      knot values in u direction
    • getUKnotVector

      KnotVector getUKnotVector()
    • getVDegree

      int getVDegree()
      Get the degree in v direction
      Returns:
      degree in v direction
    • getVKnots

      float[] getVKnots()
      Get the knot values in v direction
      Returns:
      knot values in v direction
    • getVKnotVector

      KnotVector getVKnotVector()
    • pointOnSurface

      Vec3D pointOnSurface(double u, double v)
    • pointOnSurface

      Vec3D pointOnSurface(float u, float v)
      Calculate point on surface for the given u and v values
      Parameters:
      u - u value to caculate point from
      v - v value to caculate point from
      Returns:
      calculated point
    • pointOnSurface

      Vec3D pointOnSurface(float u, float v, Vec3D out)
      Calculate point on surface for the given u and v values
      Parameters:
      u - u value to caculate point from
      v - v value to caculate point from
      out - point to place result in.
    • surfaceDerivCpts

      Vec4D[][][][] surfaceDerivCpts(int d, int r1, int r2, int s1, int s2)
      Computes control points of dth derivative
      Piegel, L. The Nurbs Book, Algorithm A3.7 -> Page 114
      Parameters:
      d - - dth derivative (0<=k+l<=d)
      r1 - - from control point (u direction; 0 for all control points)
      r2 - - to control point (u direction; n for all control points)
      s1 - - from control point (v direction; 0 for all control points)
      s2 - - to control point (v direction; n for all control points)
      Returns:
      ControlPoint4f[k][l][i][j] i,jth control point, differentiated k times
      with respect to u and l times with respect to v