Files
PhotonVision/Main/src/main/java/com/chameleonvision/config/CameraConfig.java

38 lines
1.2 KiB
Java
Raw Normal View History

package com.chameleonvision.config;
import com.chameleonvision.vision.camera.USBCameraProcess;
import com.chameleonvision.vision.camera.USBCameraProperties;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
public class CameraConfig {
2019-11-20 17:06:18 -05:00
public final double fov;
public final String path;
public final String name;
public final String nickname;
@JsonCreator
public CameraConfig(
@JsonProperty("fov") double fov,
@JsonProperty("path") String path,
@JsonProperty("name") String name,
@JsonProperty("nickname") String nickname) {
this.fov = fov;
this.path = path;
this.name = name;
this.nickname = nickname;
}
public CameraConfig(String path, String name) {
2019-11-23 04:05:37 -05:00
this.fov = USBCameraProperties.DEFAULT_FOV;
this.path = path;
this.name = name;
this.nickname = name;
}
public static CameraConfig fromUSBCameraProcess(USBCameraProcess process) {
USBCameraProperties camProps = process.getProperties();
return new CameraConfig(camProps.FOV, camProps.name, camProps.path, camProps.getNickname());
}
}