//[Update:[Thu Jul 23 IST 2020]]
/*History:
**Wed Nov 06 2019
   Started.
**Thu Jul 23 2020
   Completed some apparently incomplete code.
*/


import java.util.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;

public class Pos extends Object3D {

    private static int count;
    public Pos(Screen scr) {
        super(new Pose(scr,0,0,0,0,0,0),scr,"Pos"+count);
        count++;
    }
    protected void updating() {
    }


    public void save(PrintWriter pw) {
        pose.save(pw);
    }

    protected void load(Scanner scnr) {
        System.err.println("Loading a position");
        try {
            pose.load(scnr);
        }
        catch(Exception ex) {
            System.err.println("Failed to load position");
            ex.printStackTrace(System.err);
            return;
        }
        scr.repaint();
    }

    protected void dump(Camera cam, Pad pad) {
        Vec2 xa = cam.see(pose.wrt(new Vec3(-0.5,0,0)));
        Vec2 xb = cam.see(pose.wrt(new Vec3(1,0,0)));
        Vec2 ya = cam.see(pose.wrt(new Vec3(0,-0.5,0)));
        Vec2 yb = cam.see(pose.wrt(new Vec3(0,1,0)));
        Vec2 za = cam.see(pose.wrt(new Vec3(0,0,-0.5)));
        Vec2 zb = cam.see(pose.wrt(new Vec3(0,0,1)));

        pad.startGroup();

        pad.startPath();
        pad.addPoint(xa);
        pad.addPoint(xb);
        pad.endPath();

        pad.startPath();
        pad.addPoint(ya);
        pad.addPoint(yb);
        pad.endPath();

        pad.startPath();
        pad.addPoint(za);
        pad.addPoint(zb);
        pad.endPath();

        pad.endGroup();

    }
    
    protected void fillGui() {
    }

}
