Skip to content
Merged

Dev #178

Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .documentation/SchemaUpdates.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ on the python side:

And then run the build (or test commands if available) for each from @duc/package.json

and in case you need to check the fbs schema: @duc/schema/duc.fbs
and in case you need to check the fbs schema or what changed (changes may be git staged): @duc/schema/duc.fbs
12 changes: 12 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added assets/testing/duc-files/multiple_blocks.duc
Binary file not shown.
1 change: 1 addition & 0 deletions packages/ducdxf/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.egg-info
3 changes: 3 additions & 0 deletions packages/ducjs/src/flatbuffers/duc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export { DIMENSION_FIT_RULE } from './duc/dimension-fit-rule';
export { DIMENSION_TEXT_PLACEMENT } from './duc/dimension-text-placement';
export { DIMENSION_TYPE } from './duc/dimension-type';
export { DIMENSION_UNITS_FORMAT } from './duc/dimension-units-format';
export { DOCUMENT_GRID_ALIGN_ITEMS } from './duc/document-grid-align-items';
export { DatumReference } from './duc/datum-reference';
export { Delta } from './duc/delta';
export { DictionaryEntry } from './duc/dictionary-entry';
Expand All @@ -35,6 +36,7 @@ export { DimensionLineStyle } from './duc/dimension-line-style';
export { DimensionSymbolStyle } from './duc/dimension-symbol-style';
export { DimensionToleranceStyle } from './duc/dimension-tolerance-style';
export { DimensionValidationRules } from './duc/dimension-validation-rules';
export { DocumentGridConfig } from './duc/document-grid-config';
export { DucArrowElement } from './duc/duc-arrow-element';
export { DucBlock } from './duc/duc-block';
export { DucBlockAttributeDefinition } from './duc/duc-block-attribute-definition';
Expand Down Expand Up @@ -74,6 +76,7 @@ export { DucLineReference } from './duc/duc-line-reference';
export { DucLinearElement } from './duc/duc-linear-element';
export { DucLocalState } from './duc/duc-local-state';
export { DucMermaidElement } from './duc/duc-mermaid-element';
export { DucModelElement } from './duc/duc-model-element';
export { DucParametricElement } from './duc/duc-parametric-element';
export { DucPath } from './duc/duc-path';
export { DucPdfElement } from './duc/duc-pdf-element';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// 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 */

export enum DOCUMENT_GRID_ALIGN_ITEMS {
START = 10,
CENTER = 11,
END = 12
}
92 changes: 92 additions & 0 deletions packages/ducjs/src/flatbuffers/duc/document-grid-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
// 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 { DOCUMENT_GRID_ALIGN_ITEMS } from '../duc/document-grid-align-items';


export class DocumentGridConfig {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):DocumentGridConfig {
this.bb_pos = i;
this.bb = bb;
return this;
}

static getRootAsDocumentGridConfig(bb:flatbuffers.ByteBuffer, obj?:DocumentGridConfig):DocumentGridConfig {
return (obj || new DocumentGridConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

static getSizePrefixedRootAsDocumentGridConfig(bb:flatbuffers.ByteBuffer, obj?:DocumentGridConfig):DocumentGridConfig {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new DocumentGridConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

columns():number {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
}

gapX():number {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0;
}

gapY():number {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? this.bb!.readFloat64(this.bb_pos + offset) : 0.0;
}

alignItems():DOCUMENT_GRID_ALIGN_ITEMS|null {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? this.bb!.readUint8(this.bb_pos + offset) : null;
}

firstPageAlone():boolean {
const offset = this.bb!.__offset(this.bb_pos, 12);
return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;
}

static startDocumentGridConfig(builder:flatbuffers.Builder) {
builder.startObject(5);
}

static addColumns(builder:flatbuffers.Builder, columns:number) {
builder.addFieldInt32(0, columns, 0);
}

static addGapX(builder:flatbuffers.Builder, gapX:number) {
builder.addFieldFloat64(1, gapX, 0.0);
}

static addGapY(builder:flatbuffers.Builder, gapY:number) {
builder.addFieldFloat64(2, gapY, 0.0);
}

static addAlignItems(builder:flatbuffers.Builder, alignItems:DOCUMENT_GRID_ALIGN_ITEMS) {
builder.addFieldInt8(3, alignItems, null);
}

static addFirstPageAlone(builder:flatbuffers.Builder, firstPageAlone:boolean) {
builder.addFieldInt8(4, +firstPageAlone, +false);
}

static endDocumentGridConfig(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}

static createDocumentGridConfig(builder:flatbuffers.Builder, columns:number, gapX:number, gapY:number, alignItems:DOCUMENT_GRID_ALIGN_ITEMS|null, firstPageAlone:boolean):flatbuffers.Offset {
DocumentGridConfig.startDocumentGridConfig(builder);
DocumentGridConfig.addColumns(builder, columns);
DocumentGridConfig.addGapX(builder, gapX);
DocumentGridConfig.addGapY(builder, gapY);
if (alignItems !== null)
DocumentGridConfig.addAlignItems(builder, alignItems);
DocumentGridConfig.addFirstPageAlone(builder, firstPageAlone);
return DocumentGridConfig.endDocumentGridConfig(builder);
}
}
23 changes: 22 additions & 1 deletion packages/ducjs/src/flatbuffers/duc/duc-doc-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import * as flatbuffers from 'flatbuffers';

import { ColumnLayout } from '../duc/column-layout';
import { DocumentGridConfig } from '../duc/document-grid-config';
import { DucDocStyle } from '../duc/duc-doc-style';
import { DucTextDynamicPart } from '../duc/duc-text-dynamic-part';
import { TEXT_FLOW_DIRECTION } from '../duc/text-flow-direction';
Expand Down Expand Up @@ -71,8 +72,20 @@ autoResize():boolean {
return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;
}

gridConfig(obj?:DocumentGridConfig):DocumentGridConfig|null {
const offset = this.bb!.__offset(this.bb_pos, 18);
return offset ? (obj || new DocumentGridConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}

fileId():string|null
fileId(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
fileId(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 20);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

static startDucDocElement(builder:flatbuffers.Builder) {
builder.startObject(7);
builder.startObject(9);
}

static addBase(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset) {
Expand Down Expand Up @@ -115,6 +128,14 @@ static addAutoResize(builder:flatbuffers.Builder, autoResize:boolean) {
builder.addFieldInt8(6, +autoResize, +false);
}

static addGridConfig(builder:flatbuffers.Builder, gridConfigOffset:flatbuffers.Offset) {
builder.addFieldOffset(7, gridConfigOffset, 0);
}

static addFileId(builder:flatbuffers.Builder, fileIdOffset:flatbuffers.Offset) {
builder.addFieldOffset(8, fileIdOffset, 0);
}

static endDucDocElement(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
Expand Down
104 changes: 104 additions & 0 deletions packages/ducjs/src/flatbuffers/duc/duc-model-element.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
// 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 { _DucElementBase } from '../duc/duc-element-base';


export class DucModelElement {
bb: flatbuffers.ByteBuffer|null = null;
bb_pos = 0;
__init(i:number, bb:flatbuffers.ByteBuffer):DucModelElement {
this.bb_pos = i;
this.bb = bb;
return this;
}

static getRootAsDucModelElement(bb:flatbuffers.ByteBuffer, obj?:DucModelElement):DucModelElement {
return (obj || new DucModelElement()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

static getSizePrefixedRootAsDucModelElement(bb:flatbuffers.ByteBuffer, obj?:DucModelElement):DucModelElement {
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
return (obj || new DucModelElement()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}

base(obj?:_DucElementBase):_DucElementBase|null {
const offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? (obj || new _DucElementBase()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}

source():string|null
source(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
source(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

svgPath():string|null
svgPath(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
svgPath(optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

fileIds(index: number):string
fileIds(index: number,optionalEncoding:flatbuffers.Encoding):string|Uint8Array
fileIds(index: number,optionalEncoding?:any):string|Uint8Array|null {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? this.bb!.__string(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;
}

fileIdsLength():number {
const offset = this.bb!.__offset(this.bb_pos, 10);
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
}

static startDucModelElement(builder:flatbuffers.Builder) {
builder.startObject(4);
}

static addBase(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, baseOffset, 0);
}

static addSource(builder:flatbuffers.Builder, sourceOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, sourceOffset, 0);
}

static addSvgPath(builder:flatbuffers.Builder, svgPathOffset:flatbuffers.Offset) {
builder.addFieldOffset(2, svgPathOffset, 0);
}

static addFileIds(builder:flatbuffers.Builder, fileIdsOffset:flatbuffers.Offset) {
builder.addFieldOffset(3, fileIdsOffset, 0);
}

static createFileIdsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
builder.startVector(4, data.length, 4);
for (let i = data.length - 1; i >= 0; i--) {
builder.addOffset(data[i]!);
}
return builder.endVector();
}

static startFileIdsVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(4, numElems, 4);
}

static endDucModelElement(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}

static createDucModelElement(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset, sourceOffset:flatbuffers.Offset, svgPathOffset:flatbuffers.Offset, fileIdsOffset:flatbuffers.Offset):flatbuffers.Offset {
DucModelElement.startDucModelElement(builder);
DucModelElement.addBase(builder, baseOffset);
DucModelElement.addSource(builder, sourceOffset);
DucModelElement.addSvgPath(builder, svgPathOffset);
DucModelElement.addFileIds(builder, fileIdsOffset);
return DucModelElement.endDucModelElement(builder);
}
}
18 changes: 11 additions & 7 deletions packages/ducjs/src/flatbuffers/duc/duc-pdf-element.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import * as flatbuffers from 'flatbuffers';

import { DocumentGridConfig } from '../duc/document-grid-config';
import { _DucElementBase } from '../duc/duc-element-base';


Expand Down Expand Up @@ -37,8 +38,13 @@ fileId(optionalEncoding?:any):string|Uint8Array|null {
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
}

gridConfig(obj?:DocumentGridConfig):DocumentGridConfig|null {
const offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? (obj || new DocumentGridConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}

static startDucPdfElement(builder:flatbuffers.Builder) {
builder.startObject(2);
builder.startObject(3);
}

static addBase(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset) {
Expand All @@ -49,15 +55,13 @@ static addFileId(builder:flatbuffers.Builder, fileIdOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, fileIdOffset, 0);
}

static addGridConfig(builder:flatbuffers.Builder, gridConfigOffset:flatbuffers.Offset) {
builder.addFieldOffset(2, gridConfigOffset, 0);
}

static endDucPdfElement(builder:flatbuffers.Builder):flatbuffers.Offset {
const offset = builder.endObject();
return offset;
}

static createDucPdfElement(builder:flatbuffers.Builder, baseOffset:flatbuffers.Offset, fileIdOffset:flatbuffers.Offset):flatbuffers.Offset {
DucPdfElement.startDucPdfElement(builder);
DucPdfElement.addBase(builder, baseOffset);
DucPdfElement.addFileId(builder, fileIdOffset);
return DucPdfElement.endDucPdfElement(builder);
}
}
Loading
Loading