// Gnurbs - A curve and surface library
// Copyright (C) 2008-2026 Eric Bechet
//
// See the LICENSE file for contributions and license information.
// Please report all bugs and problems to <bechet@cadxfem.org>.
//

#include <iostream>
#include <vector>

#include "nvtkdisplay.h"
#include "nbspline.h"

// function that computes the parameters of an interpolation curve
void b_spline_features(nbspline &crv,nbspline &s,nbspline &ds,nbspline &T,nbspline &C)
{
  // part to code 
}



int main(void)
{
  data_container data;
  nvtkdisplay display;


  nbspline curve(5,3); // b_spline curve
  curve.u(0)=0.;  curve.u(1)=0.;
  curve.u(2)=0.;  curve.u(3)=0.;
  curve.u(4)=1.;
  curve.u(5)=2.;  curve.u(6)=2.;
  curve.u(7)=2.;  curve.u(8)=2.;
  curve.CP(0)=npoint(0,0,0,1);
  curve.CP(1)=npoint(0,1,0,1);
  curve.CP(2)=npoint(1,0,0,1);
  curve.CP(3)=npoint(1,1,0,1);
  curve.CP(4)=npoint(1,2,0,1);
  
  nbspline length(5,3),dlength(5,3),tangent(5,3),curvature(5,3); // b_splines
  b_spline_features(curve,length,dlength,tangent,curvature); // call to the function

  curve.Display(data); // display the original curve
  // here show that your function works...
  display.init_data(data);
  display.display();
  return 0;
}

