import P from "parsernostrum" import Grammar from "../serialization/Grammar.js" import IEntity from "./IEntity.js" import NumberEntity from "./NumberEntity.js" export default class RotatorEntity extends IEntity { static attributes = { ...super.attributes, R: NumberEntity.withDefault(), P: NumberEntity.withDefault(), Y: NumberEntity.withDefault(), } static grammar = this.createGrammar() constructor(values) { super(values) /** @type {InstanceType} */ this.R /** @type {InstanceType} */ this.P /** @type {InstanceType} */ this.Y } /** @returns {P} */ static createGrammar() { return Grammar.createEntityGrammar(this, Grammar.commaSeparation, 1).label("RotatorEntity") } getRoll() { return this.R } getPitch() { return this.P } getYaw() { return this.Y } }