Open Search
    NURBSMath.h File Reference

    Classes

    class  NURBSCurveInterface
     
    class  StackArrayHelper< N, T >
     
    class  StackMatrixHelper< T, N, M >
     
    struct  KnotInfo
     
    class  NURBSCurve< D >
     

    Namespaces

     maxon
     
     maxon::detail
     

    Typedefs

    template<Int N, typename T >
    using SmallStackArray = typename std::conditional_t< N==SMALLSTACK, BaseArray< T >, StackArrayHelper< N, T > >
     
    template<Int N, typename T >
    using SmallSquareStackMatrix = typename std::conditional_t< N==SMALLSTACK, MatrixNxM< T >, StackMatrixHelper< T, N, N > >
     
    template<Int N, Int M, typename T >
    using SmallStackMatrix = typename std::conditional_t< N==SMALLSTACK||M==SMALLSTACK, MatrixNxM< T >, StackMatrixHelper< T, N, M > >
     

    Enumerations

    enum class  NURBSCURVE_KNOTMODE {
      CLAMPED_UNIFORM ,
      CLAMPED_CHORDAL ,
      CLAMPED_CENTRIPETAL ,
      UNCLAMPED_UNIFORM ,
      USER_DEFINED
    }
     

    Functions

    Vector4d HomogeneousToNormal (const Vector4d &p)
     
    Vector4d NormalToHomogeneous (const Vector4d &p)
     
    enum maxon::NURBSCURVE_KNOTMODE MAXON_ENUM_LIST (NURBSCURVE_KNOTMODE)
     
    template<Int D>
     MAXON_IMPLEMENTATION_SIMPLE_REGISTER (NURBSCurve< D >)
     

    Variables

    static constexpr Int SMALLSTACK
     
     CLAMPED_UNIFORM
     
     CLAMPED_CHORDAL
     
     CLAMPED_CENTRIPETAL
     
     UNCLAMPED_UNIFORM
     
     USER_DEFINED
     
    static constexpr Int DYNAMICDEGREE
     

    Variable Documentation

    ◆ CLAMPED_UNIFORM

    CLAMPED_UNIFORM

    Clamped uniform (open uniform / quasi uniform) NURBS/B-Spline/Bezier knot vector with end knots of multiplicity of degree. Internal knots are uniform e.g. [0, 0, 0, 1/3, 2/3, 1, 1, 1]. If there are no internal knots then the spline is equal to a bezier spline of same degree e.g. [0, 0, 0, 0, 1, 1, 1, 1].

    ◆ CLAMPED_CHORDAL

    CLAMPED_CHORDAL

    Clamped nonuniform knot vector whose inner knots are computed according to the actual position of control points in space according to the chord length method. Works only correct if SetPoints has been called before since the routines needs to compute the point distances.

    ◆ CLAMPED_CENTRIPETAL

    CLAMPED_CENTRIPETAL

    Clamped nonuniform knot vector whose inner knots are computed according to the actual position of control points in space according to the centripetal method.Works only correct if SetPoints has been called before since the routines needs to compute the point distances.

    ◆ UNCLAMPED_UNIFORM

    UNCLAMPED_UNIFORM

    uniform knot vector e.g. [0.0, 0.25, 0.5, 0.75, 1.0]. Mostly useful for periodic (closed) splines

    ◆ USER_DEFINED

    USER_DEFINED

    Arbitrary knot vector, supplied by the user.