"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var _a, _b, _c;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RobotArmList = exports.RobotArm = exports.RobotArmStatus = exports.HandEyeConfig = exports.CameraParameter = exports.Matrix = exports.ROI = exports.Region = exports.PixelPoint = exports.Joints = exports.Pose = exports.PoseInput = exports.JointsInput = void 0;
const shell_1 = require("@things-factory/shell");
const auth_base_1 = require("@things-factory/auth-base");
const type_graphql_1 = require("type-graphql");
//   input JointsInput {
//     j1: Float
//     j2: Float
//     j3: Float
//     j4: Float
//     j5: Float
//     j6: Float
//   }
let JointsInput = class JointsInput {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], JointsInput.prototype, "j1", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], JointsInput.prototype, "j2", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], JointsInput.prototype, "j3", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], JointsInput.prototype, "j4", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], JointsInput.prototype, "j5", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], JointsInput.prototype, "j6", void 0);
JointsInput = __decorate([
    (0, type_graphql_1.InputType)()
], JointsInput);
exports.JointsInput = JointsInput;
//   input PoseInput {
//     x: Float
//     y: Float
//     z: Float
//     u: Float
//     v: Float
//     w: Float
//   }
let PoseInput = class PoseInput {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], PoseInput.prototype, "x", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], PoseInput.prototype, "y", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], PoseInput.prototype, "z", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], PoseInput.prototype, "u", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], PoseInput.prototype, "v", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], PoseInput.prototype, "w", void 0);
PoseInput = __decorate([
    (0, type_graphql_1.InputType)()
], PoseInput);
exports.PoseInput = PoseInput;
// type Pose {
//   x: Float
//   y: Float
//   z: Float
//   u: Float
//   v: Float
//   w: Float
// }
let Pose = class Pose {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], Pose.prototype, "x", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], Pose.prototype, "y", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], Pose.prototype, "z", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], Pose.prototype, "u", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], Pose.prototype, "v", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], Pose.prototype, "w", void 0);
Pose = __decorate([
    (0, type_graphql_1.ObjectType)()
], Pose);
exports.Pose = Pose;
// type Joints {
//   j1: Float
//   j2: Float
//   j3: Float
//   j4: Float
//   j5: Float
//   j6: Float
// }
let Joints = class Joints {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], Joints.prototype, "j1", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], Joints.prototype, "j2", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], Joints.prototype, "j3", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], Joints.prototype, "j4", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], Joints.prototype, "j5", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float),
    __metadata("design:type", Number)
], Joints.prototype, "j6", void 0);
Joints = __decorate([
    (0, type_graphql_1.ObjectType)()
], Joints);
exports.Joints = Joints;
// type PixelPoint {
//   x: Int
//   y: Int
// }
let PixelPoint = class PixelPoint {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Int),
    __metadata("design:type", Number)
], PixelPoint.prototype, "x", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Int),
    __metadata("design:type", Number)
], PixelPoint.prototype, "y", void 0);
PixelPoint = __decorate([
    (0, type_graphql_1.ObjectType)()
], PixelPoint);
exports.PixelPoint = PixelPoint;
// type Region {
//   lt: PixelPoint
//   rb: PixelPoint
// }
let Region = class Region {
};
__decorate([
    (0, type_graphql_1.Field)(type => PixelPoint),
    __metadata("design:type", PixelPoint)
], Region.prototype, "lt", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => PixelPoint),
    __metadata("design:type", PixelPoint)
], Region.prototype, "rb", void 0);
Region = __decorate([
    (0, type_graphql_1.ObjectType)()
], Region);
exports.Region = Region;
// type ROI {
//   id: String
//   region: Region
// }
let ROI = class ROI {
};
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", String)
], ROI.prototype, "id", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => Region),
    __metadata("design:type", Region)
], ROI.prototype, "region", void 0);
ROI = __decorate([
    (0, type_graphql_1.ObjectType)()
], ROI);
exports.ROI = ROI;
// type Matrix {
//   rows: Int
//   columns: Int
//   data: [Float]
// }
let Matrix = class Matrix {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Int),
    __metadata("design:type", Number)
], Matrix.prototype, "rows", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Int),
    __metadata("design:type", Number)
], Matrix.prototype, "columns", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => [type_graphql_1.Float]),
    __metadata("design:type", Array)
], Matrix.prototype, "data", void 0);
Matrix = __decorate([
    (0, type_graphql_1.ObjectType)()
], Matrix);
exports.Matrix = Matrix;
// type CameraParameter {
//   distortionCoefficient: [Float]
//   cameraMatrix: Matrix
// }
let CameraParameter = class CameraParameter {
};
__decorate([
    (0, type_graphql_1.Field)(type => [type_graphql_1.Float]),
    __metadata("design:type", Array)
], CameraParameter.prototype, "distortionCoefficient", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => Matrix),
    __metadata("design:type", Matrix)
], CameraParameter.prototype, "cameraMatrix", void 0);
CameraParameter = __decorate([
    (0, type_graphql_1.ObjectType)()
], CameraParameter);
exports.CameraParameter = CameraParameter;
// type HandEyeConfig {
//   mode: String
//   autoTotalIter: Int
//   autoMoveXyz: Float
//   autoMoveUvw: Float
// }
let HandEyeConfig = class HandEyeConfig {
};
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", String)
], HandEyeConfig.prototype, "mode", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
    __metadata("design:type", Number)
], HandEyeConfig.prototype, "autoTotalIter", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], HandEyeConfig.prototype, "autoMoveXyz", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true }),
    __metadata("design:type", Number)
], HandEyeConfig.prototype, "autoMoveUvw", void 0);
HandEyeConfig = __decorate([
    (0, type_graphql_1.ObjectType)()
], HandEyeConfig);
exports.HandEyeConfig = HandEyeConfig;
// export const RobotArmStatus = gql`
//   type RobotArmStatus {
//     running: Boolean
//     ready: Boolean
//     busy: Boolean
//     moveFinished: Boolean
//     home: Boolean
//     zero: Boolean
//     teachingMode: Boolean
//     error: Boolean
//     collided: Boolean
//     emergency: Boolean
//   }
// `
let RobotArmStatus = class RobotArmStatus {
};
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "running", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "ready", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "busy", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "moveFinished", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "home", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "zero", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "teachingMode", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "error", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "collided", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", Boolean)
], RobotArmStatus.prototype, "emergency", void 0);
RobotArmStatus = __decorate([
    (0, type_graphql_1.ObjectType)()
], RobotArmStatus);
exports.RobotArmStatus = RobotArmStatus;
// export const RobotArm = gql`
//   type RobotArm {
//     id: String
//     name: String
//     domain: Domain
//     description: String
//     type: String
//     endpoint: String
//     active: Boolean
//     params: Object
//     markerOffset: Pose
//     toolOffset: Pose
//     updater: User
//     creator: User
//     updatedAt: String
//     createdAt: String
//   }
// `
let RobotArm = class RobotArm {
};
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
    __metadata("design:type", String)
], RobotArm.prototype, "id", void 0);
__decorate([
    (0, type_graphql_1.Field)(),
    __metadata("design:type", String)
], RobotArm.prototype, "name", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => shell_1.Domain),
    __metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
], RobotArm.prototype, "domain", void 0);
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", String)
], RobotArm.prototype, "description", void 0);
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", String)
], RobotArm.prototype, "type", void 0);
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", String)
], RobotArm.prototype, "endpoint", void 0);
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", Boolean)
], RobotArm.prototype, "active", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => shell_1.ScalarAny, { nullable: true }),
    __metadata("design:type", Object)
], RobotArm.prototype, "params", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => Pose, { nullable: true }),
    __metadata("design:type", Pose)
], RobotArm.prototype, "markerOffset", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => Pose, { nullable: true }),
    __metadata("design:type", Pose)
], RobotArm.prototype, "toolOffset", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
    __metadata("design:type", typeof (_b = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _b : Object)
], RobotArm.prototype, "updater", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
    __metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
], RobotArm.prototype, "creator", void 0);
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", String)
], RobotArm.prototype, "updatedAt", void 0);
__decorate([
    (0, type_graphql_1.Field)({ nullable: true }),
    __metadata("design:type", String)
], RobotArm.prototype, "createdAt", void 0);
RobotArm = __decorate([
    (0, type_graphql_1.ObjectType)()
], RobotArm);
exports.RobotArm = RobotArm;
// type RobotArmList {
//   items: [RobotArm]
//   total: Int
// }
let RobotArmList = class RobotArmList {
};
__decorate([
    (0, type_graphql_1.Field)(type => [RobotArm]),
    __metadata("design:type", Array)
], RobotArmList.prototype, "items", void 0);
__decorate([
    (0, type_graphql_1.Field)(type => type_graphql_1.Int),
    __metadata("design:type", Number)
], RobotArmList.prototype, "total", void 0);
RobotArmList = __decorate([
    (0, type_graphql_1.ObjectType)()
], RobotArmList);
exports.RobotArmList = RobotArmList;
// @InputType()
// export class NewRobotArm {
//   @Field()
//   name: string
//   @Field({ nullable: true })
//   description?: string
//   @Field(type => RobotArmStatus, { nullable: true })
//   state?: RobotArmStatus
//   @Field({ nullable: true })
//   active?: boolean
//   @Field({ nullable: true })
//   params?: string
// }
// @InputType()
// export class RobotArmPatch {
//   @Field(type => ID, { nullable: true })
//   id?: string
//   @Field({ nullable: true })
//   name?: string
//   @Field({ nullable: true })
//   description?: string
//   @Field(type => RobotArmStatus, { nullable: true })
//   state?: RobotArmStatus
//   @Field({ nullable: true })
//   active?: boolean
//   @Field()
//   cuFlag: string
// }
// @ObjectType()
// export class RobotArmList {
//   @Field(type => [RobotArm])
//   items: RobotArm[]
//   @Field(type => Int)
//   total: number
// }
//# sourceMappingURL=robotarm-type.js.map