2019-09-19 14:07:42 -04:00
|
|
|
package com.chameleonvision.vision.camera;
|
|
|
|
|
import com.google.gson.*;
|
|
|
|
|
|
|
|
|
|
import java.lang.reflect.Type;
|
|
|
|
|
|
|
|
|
|
public class CameraSerializer implements JsonSerializer<Camera> {
|
|
|
|
|
@Override
|
|
|
|
|
public JsonElement serialize(Camera camera, Type type, JsonSerializationContext context) {
|
|
|
|
|
JsonObject obj = new JsonObject();
|
|
|
|
|
obj.addProperty("FOV", camera.getFOV());
|
|
|
|
|
obj.addProperty("path", camera.path);
|
|
|
|
|
obj.addProperty("name", camera.name);
|
2019-10-24 15:20:15 -04:00
|
|
|
obj.addProperty("nickname", camera.getNickname());
|
2019-10-16 14:13:12 +03:00
|
|
|
obj.addProperty("streamDivisor", camera.getStreamDivisor().ordinal());
|
2019-09-19 14:07:42 -04:00
|
|
|
|
|
|
|
|
var pipelines = context.serialize(camera.getPipelines());
|
|
|
|
|
obj.add("pipelines", pipelines);
|
|
|
|
|
|
|
|
|
|
obj.addProperty("resolution", camera.getVideoModeIndex());
|
|
|
|
|
obj.add("camVideoMode", context.serialize(camera.getVideoMode()));
|
|
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
|
}
|
|
|
|
|
}
|