// @generated by protoc-gen-es v1.10.0 with parameter "target=ts,import_extension=none"
// @generated from file draw/v1/scene.proto (package draw.v1, syntax proto3)
/* eslint-disable */
// @ts-nocheck
import { Message, proto3 } from "@bufbuild/protobuf";
import { Vector3 } from "../../common/v1/common_pb";
/**
 * @generated from enum draw.v1.RenderArmModels
 */
export var RenderArmModels;
(function (RenderArmModels) {
    /**
     * @generated from enum value: RENDER_ARM_MODELS_UNSPECIFIED = 0;
     */
    RenderArmModels[RenderArmModels["UNSPECIFIED"] = 0] = "UNSPECIFIED";
    /**
     * @generated from enum value: RENDER_ARM_MODELS_COLLIDERS = 1;
     */
    RenderArmModels[RenderArmModels["COLLIDERS"] = 1] = "COLLIDERS";
    /**
     * @generated from enum value: RENDER_ARM_MODELS_COLLIDERS_AND_MODEL = 2;
     */
    RenderArmModels[RenderArmModels["COLLIDERS_AND_MODEL"] = 2] = "COLLIDERS_AND_MODEL";
    /**
     * @generated from enum value: RENDER_ARM_MODELS_MODEL = 3;
     */
    RenderArmModels[RenderArmModels["MODEL"] = 3] = "MODEL";
})(RenderArmModels || (RenderArmModels = {}));
// Retrieve enum metadata with: proto3.getEnumType(RenderArmModels)
proto3.util.setEnumType(RenderArmModels, "draw.v1.RenderArmModels", [
    { no: 0, name: "RENDER_ARM_MODELS_UNSPECIFIED" },
    { no: 1, name: "RENDER_ARM_MODELS_COLLIDERS" },
    { no: 2, name: "RENDER_ARM_MODELS_COLLIDERS_AND_MODEL" },
    { no: 3, name: "RENDER_ARM_MODELS_MODEL" },
]);
/**
 * @generated from enum draw.v1.RenderShapes
 */
export var RenderShapes;
(function (RenderShapes) {
    /**
     * @generated from enum value: RENDER_SHAPES_UNSPECIFIED = 0;
     */
    RenderShapes[RenderShapes["UNSPECIFIED"] = 0] = "UNSPECIFIED";
    /**
     * @generated from enum value: RENDER_SHAPES_ARROWS = 1;
     */
    RenderShapes[RenderShapes["ARROWS"] = 1] = "ARROWS";
    /**
     * @generated from enum value: RENDER_SHAPES_LINES = 2;
     */
    RenderShapes[RenderShapes["LINES"] = 2] = "LINES";
    /**
     * @generated from enum value: RENDER_SHAPES_POINTS = 3;
     */
    RenderShapes[RenderShapes["POINTS"] = 3] = "POINTS";
    /**
     * @generated from enum value: RENDER_SHAPES_MODEL = 4;
     */
    RenderShapes[RenderShapes["MODEL"] = 4] = "MODEL";
    /**
     * @generated from enum value: RENDER_SHAPES_NURBS = 5;
     */
    RenderShapes[RenderShapes["NURBS"] = 5] = "NURBS";
})(RenderShapes || (RenderShapes = {}));
// Retrieve enum metadata with: proto3.getEnumType(RenderShapes)
proto3.util.setEnumType(RenderShapes, "draw.v1.RenderShapes", [
    { no: 0, name: "RENDER_SHAPES_UNSPECIFIED" },
    { no: 1, name: "RENDER_SHAPES_ARROWS" },
    { no: 2, name: "RENDER_SHAPES_LINES" },
    { no: 3, name: "RENDER_SHAPES_POINTS" },
    { no: 4, name: "RENDER_SHAPES_MODEL" },
    { no: 5, name: "RENDER_SHAPES_NURBS" },
]);
/**
 * @generated from message draw.v1.OrthographicCamera
 */
export class OrthographicCamera extends Message {
    /**
     * for orthographic camera props
     *
     * @generated from field: optional float zoom = 1;
     */
    zoom;
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.OrthographicCamera";
    static fields = proto3.util.newFieldList(() => [
        { no: 1, name: "zoom", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
    ]);
    static fromBinary(bytes, options) {
        return new OrthographicCamera().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new OrthographicCamera().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new OrthographicCamera().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(OrthographicCamera, a, b);
    }
}
/**
 * for perspective camera props
 *
 * @generated from message draw.v1.PerspectiveCamera
 */
export class PerspectiveCamera extends Message {
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.PerspectiveCamera";
    static fields = proto3.util.newFieldList(() => []);
    static fromBinary(bytes, options) {
        return new PerspectiveCamera().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new PerspectiveCamera().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new PerspectiveCamera().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(PerspectiveCamera, a, b);
    }
}
/**
 * @generated from message draw.v1.SceneCamera
 */
export class SceneCamera extends Message {
    /**
     * The position of the camera in millimeters
     * defaults to [0, 0, 3000]
     *
     * @generated from field: viam.common.v1.Vector3 position = 1;
     */
    position;
    /**
     * The look at point of the camera in millimeters
     * defaults to [0, 0, 0]
     *
     * @generated from field: viam.common.v1.Vector3 look_at = 2;
     */
    lookAt;
    /**
     * Whether to animate camera movement
     * defaults to false
     *
     * @generated from field: optional bool animated = 3;
     */
    animated;
    /**
     * The camera type
     * defaults to perspective_camera
     *
     * @generated from oneof draw.v1.SceneCamera.camera_type
     */
    cameraType = { case: undefined };
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.SceneCamera";
    static fields = proto3.util.newFieldList(() => [
        { no: 1, name: "position", kind: "message", T: Vector3 },
        { no: 2, name: "look_at", kind: "message", T: Vector3 },
        { no: 3, name: "animated", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
        { no: 4, name: "perspective_camera", kind: "message", T: PerspectiveCamera, oneof: "camera_type" },
        { no: 5, name: "orthographic_camera", kind: "message", T: OrthographicCamera, oneof: "camera_type" },
    ]);
    static fromBinary(bytes, options) {
        return new SceneCamera().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new SceneCamera().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new SceneCamera().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(SceneCamera, a, b);
    }
}
/**
 * @generated from message draw.v1.SceneMetadata
 */
export class SceneMetadata extends Message {
    /**
     * The camera to use for the scene
     * defaults to a perspective_camera with a position of [3000, 3000, 3000] and
     * a look_at of [0, 0, 0]
     *
     * @generated from field: optional draw.v1.SceneCamera scene_camera = 1;
     */
    sceneCamera;
    /**
     * Whether to render the grid
     * defaults to true
     *
     * @generated from field: optional bool grid = 2;
     */
    grid;
    /**
     * The size of the grid cells
     * defaults to 500 (millimeters)
     *
     * @generated from field: optional float grid_cell_size = 3;
     */
    gridCellSize;
    /**
     * The size of the grid sections
     * defaults to 10000 (millimeters)
     *
     * @generated from field: optional float grid_section_size = 4;
     */
    gridSectionSize;
    /**
     * The fade distance of the grid
     * defaults to 25000 (millimeters)
     *
     * @generated from field: optional float grid_fade_distance = 5;
     */
    gridFadeDistance;
    /**
     * The size of points if not defined by a transform's metadata
     * defaults to 10 (millimeters)
     *
     * @generated from field: optional float point_size = 6;
     */
    pointSize;
    /**
     * The color of the points if not defined by a transform's metadata
     * defaults to [51, 51, 51] (gray)
     *
     * @generated from field: optional bytes point_color = 7;
     */
    pointColor;
    /**
     * The width of the lines if not defined by a transform's metadata
     * defaults to 5mm
     *
     * @generated from field: optional float line_width = 8;
     */
    lineWidth;
    /**
     * The size of the dots of the lines if not defined by a transform's
     * metadata defaults to 10mm
     *
     * @generated from field: optional float line_dot_size = 9;
     */
    lineDotSize;
    /**
     * The models to render
     * defaults to COLLIDERS_AND_MODEL
     *
     * @generated from field: optional draw.v1.RenderArmModels render_arm_models = 10;
     */
    renderArmModels;
    /**
     * The shapes to render
     * defaults to [ARROWS, POINTS, LINES, MODEL, NURBS]
     *
     * @generated from field: repeated draw.v1.RenderShapes render_shapes = 11;
     */
    renderShapes = [];
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.SceneMetadata";
    static fields = proto3.util.newFieldList(() => [
        { no: 1, name: "scene_camera", kind: "message", T: SceneCamera, opt: true },
        { no: 2, name: "grid", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
        { no: 3, name: "grid_cell_size", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
        { no: 4, name: "grid_section_size", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
        { no: 5, name: "grid_fade_distance", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
        { no: 6, name: "point_size", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
        { no: 7, name: "point_color", kind: "scalar", T: 12 /* ScalarType.BYTES */, opt: true },
        { no: 8, name: "line_width", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
        { no: 9, name: "line_dot_size", kind: "scalar", T: 2 /* ScalarType.FLOAT */, opt: true },
        { no: 10, name: "render_arm_models", kind: "enum", T: proto3.getEnumType(RenderArmModels), opt: true },
        { no: 11, name: "render_shapes", kind: "enum", T: proto3.getEnumType(RenderShapes), repeated: true },
    ]);
    static fromBinary(bytes, options) {
        return new SceneMetadata().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new SceneMetadata().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new SceneMetadata().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(SceneMetadata, a, b);
    }
}
