* self-intersecting (?)
* degenerate points
* 0-manifold intersections (point) (geometrical)n
* 1-manifold intersections (curve) (parametrical)
* 2-manifold intersections (surface, PAC)

* isoparametric intersection curves
* intersection along border

-------------------------------------------------------------------------
the files here are B-spline approximations of the surfaces expressed by:

struct CosSinSurface
{
  real alpha, beta;

  void eval( Point& p, const real& u, const real& v ) const
  {
    real a = cos(alpha*u);
    real b = sin(beta*v);
    real a2 = pow(a,2);
    real b2 = pow(b,2);
    real r = sqrt((a2+b2));
    real c = cos(u);
    real s = sin(u);
    p[0] =c*sin(v)*r;
    p[1] = c*cos(v)*r;
    p[2] = s*r;
  };

  CosSinSurface( const real& alpha, const real& beta )
    
  {
    this->alpha = alpha;
    this->beta  = beta;
  };
};   

with alpha, beta = 2,3    3,5    5,7

