---------------- CTrackball public functions and variables: public CTrackball() public CTrackball(double Radius,Point3D Center) public CTrackball(double Radius,double cx,double cy,double cz) public void track(Quaternion q,double old_X,double old_Y, double new_X,double new_Y) ---------------- Draw_Object public functions and variables: public Draw_Object() public int DRAWMODE; public boolean USECOLOR; public Color thecolor; public Vector vertices; public Vector edges; public Vector polygons; public Point3D Pivot; //The center of mass public void addVertex(Point3D v) //Add a Vertex/Point3D Object public void addEdge(Line3D e) //Add an Edge/Line3D object public void addPolygon(Poly3D new_poly) //Add an Polygon/Poly3D object public void addEdge(int index1,int index2) //Add edge through existing indices public void addEdge(Point3D v1,Point3D v2) //Adds vertices to vector public void addPolygon(Vector indices) //Adds new polygon using public void addVertex(double x,double y,double z) //Adds vertex by xyz coords public void removeVertex(Point3D v) public void removeEdge(Line3D e) public void removePolygon(Poly3D p) public void removeEdge(int index) public void removeVertex(int index) public void removePolygon(int index) public void Clear() public void setEdge(int index,Line3D e) public void setVertex(int index,Point3D v) public void setPolygon(int index,Poly3D p) public void setDrawMode(int mode) public void setColor(float r,float g,float b) public void translate(float dx,float dy,float dz) public void COM() //Sets Pivot to the center of mass ---------------- Line3D public functions and variables: public class Line3D public Line3D() public Line3D(int p1,int p2) public Line3D(Line3D L) public void Set(int p1,int p2) public void setColor(float r,float g,float b) ---------------- Point3D public functions and variables: public class Point3D public double vtx[]; public Color thecolor; public Point3D() public Point3D(Point3D p) public Point3D(double x,double y,double z) public Point3D(double array[]) public Point3D Set(double x,double y,double z) public Point3D Set(Point3D p) public Point3D Set(double array[]) public Point3D P3_Add(Point3D p2) public Point3D P3_Add(Point3D p2,Point3D result) public Point3D P3_Sub(Point3D p2) public Point3D P3_Sub(Point3D p2,Point3D result) public double P3_dot(Point3D p2) public Point3D P3_cross(Point3D p2) public Point3D P3_cross(Point3D p2,Point3D result) public Point3D Normalize() public double Norm() public Point3D Transform(RMatrix rot,Point3D trans) public Point3D Transform(RMatrix rot,Point3D trans,Point3D result) Point3D.java: public void print() Point3D.java: public void setColor(float r,float g,float b) public class Poly3D public Vector vertex_indices; public Color thecolor; public Poly3D() public Poly3D(Vector indices) public void Add_Index(Integer index) public void setColor(float r,float g,float b) ---------------- Quaternion public functions and variables: public class Quaternion public double q[]; public static int qcount; public Quaternion() public Quaternion(double S,double X,double Y,double Z) public Quaternion qmul(Quaternion Q) public Quaternion qmul(Quaternion Q,Quaternion result) public Quaternion normalize() public RMatrix quat2mat() public void quat2mat(RMatrix result) public Quaternion Scalar_mul(double s) public Quaternion Scalar_mul(double s,Quaternion result) public void print() public Quaternion conjugate() ---------------- RMatrix public functions and variables: public class RMatrix public RMatrix() public Point3D RVmul(Point3D V,Point3D result) //RMatrix*Vertex ->3D Point public Point3D RVmul(Point3D V) //RMatrix*Vertex ->3D Point public RMatrix RMadd(RMatrix M2,RMatrix result) public RMatrix RMadd(RMatrix M2) public RMatrix RMsub(RMatrix M2) public RMatrix RMsub(RMatrix M2,RMatrix result) public RMatrix RRmul(RMatrix M2) public RMatrix RRmul(RMatrix M2,RMatrix result) public RMatrix RTrans(RMatrix M1) public RMatrix Invert() public RMatrix Invert(RMatrix result) public double Det() public void print() public void Identity() ---------------- ScreenPoint public functions and variables: public class ScreenPoint public int v[]; public double z; public ScreenPoint() public ScreenPoint(ScreenPoint p) public ScreenPoint(int x,int y) public void print() ---------------- Window3D public functions and variables: public class Window3D extends Canvas public static Graphics offscreenGraphics; public static Image offscreenImage; public static Graphics g; public Window3D() // default constructor public static void set_ortho( public void init() public void makeDoubleBuffer(Window3D w) public void setMode(int m) public int getMode() public void setGrid(boolean grid) public boolean getGrid() public void setAxis(boolean axis) public boolean getAxis() public boolean getPick() public void setPick(boolean pick) public void clear() public void paint(Graphics g) public void update(Graphics g) public boolean mouseDown(Event e, int x, int y) public boolean mouseUp(Event e, int x, int y) public boolean mouseDrag(Event e, int x, int y) public void Draw_Grid() public void do_actions() public void Draw() public void addActor(Draw_Object new_actor) public void removeActor(Draw_Object new_actor) public void removeAllActors() public void setGeosize(int size) public int createObject() //CREATES NEW DRAW OBJECT public void addVertex(int index,String xstr,String ystr,String zstr) public void addVertex(int index,double x,double y,double z) public void addEdge(int index,int i1,int i2) public void addPolygon(int index,Vector indices) public void setDrawMode(int index,int mode) public void Load(String name) //throws IOException, FileNotFoundException