/* ----------------------------------------
 * Origin  : GFI INFORMATIQUE 
 * Project : CDPP Propagation Tool 
 * ----------------------------------------
 * History 
 * ----------------------------------------
 */
package fr.tlse.irap.spaceElement;

import java.io.Serializable;

import jakarta.xml.bind.annotation.XmlType;

@XmlType
public class Camera implements Serializable {

	private static final long serialVersionUID = 1L;

	private String name; 		// name of the camera
	private int id;				// Naif ID S/C
	private String color;		// display color
	private String instrument; 	// instrument name
	private double angleFov;	// FOV angle longitude in degree  
	private double extentFov;	// FOV extent in degrees  
	private boolean symmetric = false; // symmetric view

	public Camera() {
	}

	public Camera(String name, int id, String color, String instrument) {
		super();
		setName(name);
		setId(id);
		setColor(color);
		setInstrument(instrument);
	}

	public Camera(String name, int id, String color, String instrument, double angle, double extent) {
		this(name, id, color, instrument, extent, angle, false);
	}

	public Camera(String name, int id, String color, String instrument, double angle, double extent, boolean symmetric) {
		this(name, id, color, instrument);
		setExtentFov(extent);
		setAngleFov(angle);
		setSymmetric(symmetric);
	}

	@Override
	public String toString() {
		return (name + ": id=" + id + ",instrument=" + instrument + ",angle=" + angleFov + ",extent=" + extentFov + ": isSymmetric="
				+ isSymmetric() + ",color=" + color);
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public boolean isSymmetric() {
		return symmetric;
	}

	public void setSymmetric(boolean symmetric) {
		this.symmetric = symmetric;
	}

	public String getInstrument() {
		return instrument;
	}

	public void setInstrument(String instrument) {
		this.instrument = instrument;
	}

	public double getExtentFov() {
		return extentFov;
	}

	public void setExtentFov(double extentFov) {
		this.extentFov = extentFov;
	}

	public double getAngleFov() {
		return angleFov;
	}

	public void setAngleFov(double angleFov) {
		this.angleFov = angleFov;
	}
}
