Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

/home/xchen/xia/src/glrender/demoSphere2.cc

#include <View.H>
#include <TensorBlossom.H>

using namespace xchen;

void bspsph(View* v)
{
  TensorBlossom<2,4> *sph = new TensorBlossom<2,4>(2,5, 2,8);
  double w = sqrt(2.0) / 2;
  E4 p(0, 1, 0, 1);
  E4 
    p1 = p, 
    p2 = rZ(-45)(p).Szw(w), 
    p3 = rZ(-90)(p), 
    p4 = rZ(-135)(p).Szw(w),
    p5 = rZ(-180)(p);

  sph->ControlMesh() = 
    p1, rY(45)(p1).Syw(w), rY(90)(p1), rY(135)(p1).Syw(w), rY(180)(p1), rY(225)(p1).Syw(w),rY(270)(p1), rY(315)(p1).Syw(w),
    p2, rY(45)(p2).Syw(w), rY(90)(p2), rY(135)(p2).Syw(w), rY(180)(p2), rY(225)(p2).Syw(w),rY(270)(p2), rY(315)(p2).Syw(w),
    p3, rY(45)(p3).Syw(w), rY(90)(p3), rY(135)(p3).Syw(w), rY(180)(p3), rY(225)(p3).Syw(w),rY(270)(p3), rY(315)(p3).Syw(w),
    p4, rY(45)(p4).Syw(w), rY(90)(p4), rY(135)(p4).Syw(w), rY(180)(p4), rY(225)(p4).Syw(w),rY(270)(p4), rY(315)(p4).Syw(w),
    p5, rY(45)(p5).Syw(w), rY(90)(p5), rY(135)(p5).Syw(w), rY(180)(p5), rY(225)(p5).Syw(w),rY(270)(p5), rY(315)(p5).Syw(w);
    
  sph->SetPeriodicEnd(0);
  sph->KnotVector() = 
    0.,0, 1, 1, 2, 2, 3, 3, 4,
    0.,0, 1, 1, 2, 2;
  sph->IsRational() = true;

  cout << "\n________________________________________________________________________________________________________________________";
  cout << "\nSphere is \n" << *sph << endl;
    
  new glModel(v, sph);
}
  

  

void new_glModel(View* v) 
{
  bspsph(v);
}

Generated on Wed Apr 7 21:40:48 2004 by doxygen1.2.18