
package cdpp3dview.types;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for Instrument complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="Instrument">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="naifId" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="repr" type="{http://cdpp3dview/types}InstrumentRep"/>
 *         &lt;element name="color" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="vBSight" type="{http://cdpp3dview/types}Tuple3d"/>
 *         &lt;element name="vUp" type="{http://cdpp3dview/types}Tuple3d"/>
 *         &lt;element name="xFovDeg" type="{http://www.w3.org/2001/XMLSchema}float"/>
 *         &lt;element name="yFovDeg" type="{http://www.w3.org/2001/XMLSchema}float"/>
 *         &lt;element name="fronClipDist" type="{http://www.w3.org/2001/XMLSchema}float"/>
 *         &lt;element name="backClipDist" type="{http://www.w3.org/2001/XMLSchema}float"/>
 *         &lt;element name="isAdaptative" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="targetOrLength" type="{http://www.w3.org/2001/XMLSchema}float"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Instrument", propOrder = {
    "naifId",
    "name",
    "repr",
    "color",
    "vbSight",
    "vUp",
    "xFovDeg",
    "yFovDeg",
    "fronClipDist",
    "backClipDist",
    "isAdaptative",
    "targetOrLength"
})
public class Instrument {

    protected int naifId;
    @XmlElement(required = true)
    protected String name;
    @XmlElement(required = true)
    protected InstrumentRep repr;
    @XmlElement(required = true)
    protected String color;
    @XmlElement(name = "vBSight", required = true)
    protected Tuple3D vbSight;
    @XmlElement(required = true)
    protected Tuple3D vUp;
    protected float xFovDeg;
    protected float yFovDeg;
    protected float fronClipDist;
    protected float backClipDist;
    protected boolean isAdaptative;
    protected float targetOrLength;

    public Instrument() {
    }


    /**
     * Gets the value of the naifId property.
     * 
     */
    public int getNaifId() {
        return naifId;
    }

    /**
     * Sets the value of the naifId property.
     * 
     */
    public void setNaifId(int value) {
        this.naifId = value;
    }

    /**
     * Gets the value of the name property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setName(String value) {
        this.name = value;
    }

    /**
     * Gets the value of the repr property.
     * 
     * @return
     *     possible object is
     *     {@link InstrumentRep }
     *     
     */
    public InstrumentRep getRepr() {
        return repr;
    }

    /**
     * Sets the value of the repr property.
     * 
     * @param value
     *     allowed object is
     *     {@link InstrumentRep }
     *     
     */
    public void setRepr(InstrumentRep value) {
        this.repr = value;
    }

    /**
     * Gets the value of the color property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColor() {
        return color;
    }

    /**
     * Sets the value of the color property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColor(String value) {
        this.color = value;
    }

    /**
     * Gets the value of the boresight direction.
     * 
     * @return
     *     possible object is
     *     {@link Tuple3D }
     *     
     */
    public Tuple3D getVBSight() {
        return vbSight;
    }

    /**
     * Sets the value of the boresight direction.
     * 
     * @param value
     *     allowed object is
     *     {@link Tuple3D }
     *     
     */
    public void setVBSight(Tuple3D value) {
        this.vbSight = value;
    }

    /**
     * Gets the value of the up vector
     * 
     * @return
     *     possible object is
     *     {@link Tuple3D }
     *     
     */
    public Tuple3D getVUp() {
        return vUp;
    }


    /**
     * Sets the value of the up vector
     * 
     * @param value
     *     allowed object is
     *     {@link Tuple3D }
     *     
     */
    public void setVUp(Tuple3D value) {
        this.vUp = value;
    }
    
    /**
     * Gets the value of the xFovDeg property.
     * 
     */
    public float getXFovDeg() {
        return xFovDeg;
    }

    /**
     * Sets the value of the xFovDeg property.
     * 
     */
    public void setXFovDeg(float value) {
        this.xFovDeg = value;
    }

    /**
     * Gets the value of the yFovDeg property.
     * 
     */
    public float getYFovDeg() {
        return yFovDeg;
    }

    /**
     * Sets the value of the yFovDeg property.
     * 
     */
    public void setYFovDeg(float value) {
        this.yFovDeg = value;
    }

    /**
     * Gets the value of the fronClipDist property.
     * 
     */
    public float getFronClipDist() {
        return fronClipDist;
    }

    /**
     * Sets the value of the fronClipDist property.
     * 
     */
    public void setFronClipDist(float value) {
        this.fronClipDist = value;
    }

    /**
     * Gets the value of the backClipDist property.
     * 
     */
    public float getBackClipDist() {
        return backClipDist;
    }

    /**
     * Sets the value of the backClipDist property.
     * 
     */
    public void setBackClipDist(float value) {
        this.backClipDist = value;
    }

    /**
     * Gets the value of the isAdaptative property.
     * 
     */
    public boolean isIsAdaptative() {
        return isAdaptative;
    }

    /**
     * Sets the value of the isAdaptative property.
     * 
     */
    public void setIsAdaptative(boolean value) {
        this.isAdaptative = value;
    }

    /**
     * Gets the value of the targetOrLength property.
     * 
     */
    public float getTargetOrLength() {
        return targetOrLength;
    }

    /**
     * Sets the value of the targetOrLength property.
     * 
     */
    public void setTargetOrLength(float value) {
        this.targetOrLength = value;
    }

}
