UNPKG

ducjs

Version:

The duc 2D CAD file format is a cornerstone of our advanced design system, conceived to cater to professionals seeking precision and efficiency in their design work.

50 lines (49 loc) 2 kB
// automatically generated by the FlatBuffers compiler, do not modify /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ import * as flatbuffers from 'flatbuffers'; import { _DucLinearElementBase } from '../duc/duc-linear-element-base'; export class DucArrowElement { constructor() { this.bb = null; this.bb_pos = 0; } __init(i, bb) { this.bb_pos = i; this.bb = bb; return this; } static getRootAsDucArrowElement(bb, obj) { return (obj || new DucArrowElement()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } static getSizePrefixedRootAsDucArrowElement(bb, obj) { bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); return (obj || new DucArrowElement()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } linearBase(obj) { const offset = this.bb.__offset(this.bb_pos, 4); return offset ? (obj || new _DucLinearElementBase()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; } elbowed() { const offset = this.bb.__offset(this.bb_pos, 6); return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false; } static startDucArrowElement(builder) { builder.startObject(2); } static addLinearBase(builder, linearBaseOffset) { builder.addFieldOffset(0, linearBaseOffset, 0); } static addElbowed(builder, elbowed) { builder.addFieldInt8(1, +elbowed, +false); } static endDucArrowElement(builder) { const offset = builder.endObject(); return offset; } static createDucArrowElement(builder, linearBaseOffset, elbowed) { DucArrowElement.startDucArrowElement(builder); DucArrowElement.addLinearBase(builder, linearBaseOffset); DucArrowElement.addElbowed(builder, elbowed); return DucArrowElement.endDucArrowElement(builder); } }