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.

112 lines (111 loc) 4.67 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 { DucBlockAttributeDefinitionEntry } from '../duc/duc-block-attribute-definition-entry'; import { ElementWrapper } from '../duc/element-wrapper'; export class DucBlock { constructor() { this.bb = null; this.bb_pos = 0; } __init(i, bb) { this.bb_pos = i; this.bb = bb; return this; } static getRootAsDucBlock(bb, obj) { return (obj || new DucBlock()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } static getSizePrefixedRootAsDucBlock(bb, obj) { bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); return (obj || new DucBlock()).__init(bb.readInt32(bb.position()) + bb.position(), bb); } id(optionalEncoding) { const offset = this.bb.__offset(this.bb_pos, 4); return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; } label(optionalEncoding) { const offset = this.bb.__offset(this.bb_pos, 6); return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; } description(optionalEncoding) { const offset = this.bb.__offset(this.bb_pos, 8); return offset ? this.bb.__string(this.bb_pos + offset, optionalEncoding) : null; } version() { const offset = this.bb.__offset(this.bb_pos, 10); return offset ? this.bb.readInt32(this.bb_pos + offset) : 0; } elements(index, obj) { const offset = this.bb.__offset(this.bb_pos, 12); return offset ? (obj || new ElementWrapper()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; } elementsLength() { const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; } attributeDefinitions(index, obj) { const offset = this.bb.__offset(this.bb_pos, 14); return offset ? (obj || new DucBlockAttributeDefinitionEntry()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; } attributeDefinitionsLength() { const offset = this.bb.__offset(this.bb_pos, 14); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; } static startDucBlock(builder) { builder.startObject(6); } static addId(builder, idOffset) { builder.addFieldOffset(0, idOffset, 0); } static addLabel(builder, labelOffset) { builder.addFieldOffset(1, labelOffset, 0); } static addDescription(builder, descriptionOffset) { builder.addFieldOffset(2, descriptionOffset, 0); } static addVersion(builder, version) { builder.addFieldInt32(3, version, 0); } static addElements(builder, elementsOffset) { builder.addFieldOffset(4, elementsOffset, 0); } static createElementsVector(builder, data) { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); } static startElementsVector(builder, numElems) { builder.startVector(4, numElems, 4); } static addAttributeDefinitions(builder, attributeDefinitionsOffset) { builder.addFieldOffset(5, attributeDefinitionsOffset, 0); } static createAttributeDefinitionsVector(builder, data) { builder.startVector(4, data.length, 4); for (let i = data.length - 1; i >= 0; i--) { builder.addOffset(data[i]); } return builder.endVector(); } static startAttributeDefinitionsVector(builder, numElems) { builder.startVector(4, numElems, 4); } static endDucBlock(builder) { const offset = builder.endObject(); builder.requiredField(offset, 4); // id return offset; } static createDucBlock(builder, idOffset, labelOffset, descriptionOffset, version, elementsOffset, attributeDefinitionsOffset) { DucBlock.startDucBlock(builder); DucBlock.addId(builder, idOffset); DucBlock.addLabel(builder, labelOffset); DucBlock.addDescription(builder, descriptionOffset); DucBlock.addVersion(builder, version); DucBlock.addElements(builder, elementsOffset); DucBlock.addAttributeDefinitions(builder, attributeDefinitionsOffset); return DucBlock.endDucBlock(builder); } }