
// MoveableEllipticLimb.java
// Thana Konglikhit, October 2003, s4310170@maliwan.psu.ac.th
// Andrew Davison, April 2005, ad@fivedots.coe.psu.ac.th

/* Objekt typu MoveableLimb používá místo kruhového elitpický lathe-tvar.
   Je téměř stejný jako objekt typu EllipticLimb.
*/

import javax.media.j3d.*;
import com.sun.j3d.utils.image.*;


public class MoveableEllipticLimb extends MoveableLimb
{  
  public MoveableEllipticLimb(String lName, int lNo, String jn0, String jn1, 
                              int axis, double angle,
                              double[] xs, double[] ys, String tex)
  {  super(lName, lNo, jn0, jn1, axis, angle, xs, ys, tex);  }



  protected void makeShape()
  // přetížená metoda, která vytváří instanci třídy EllipseShape3D místo LatheShape3D
  {
    EllipseShape3D es;
    if (texPath != null) {
      // System.out.println("Loading textures/" + texPath);
      TextureLoader texLd = new TextureLoader("textures/"+texPath, null);
      Texture tex = texLd.getTexture();      
      es = new EllipseShape3D(xsIn, ysIn, tex);
    }
    else  
      es = new EllipseShape3D(xsIn, ysIn, null);
    
    zAxisTG.addChild(es);  // přidej tvar do grafu končetiny
  }  // konec metody: makeEllipseShape()


}  // konec třídy: MoveableEllipticLimb