@ifc-lite/bcf 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +12 -1
  2. package/dist/ids-camera.d.ts +115 -0
  3. package/dist/ids-camera.d.ts.map +1 -0
  4. package/dist/ids-camera.js +266 -0
  5. package/dist/ids-camera.js.map +1 -0
  6. package/dist/ids-reporter.d.ts +17 -13
  7. package/dist/ids-reporter.d.ts.map +1 -1
  8. package/dist/ids-reporter.js +32 -64
  9. package/dist/ids-reporter.js.map +1 -1
  10. package/dist/numeric.d.ts +64 -1
  11. package/dist/numeric.d.ts.map +1 -1
  12. package/dist/numeric.js +81 -1
  13. package/dist/numeric.js.map +1 -1
  14. package/dist/reader-components.d.ts +1 -1
  15. package/dist/reader-components.d.ts.map +1 -1
  16. package/dist/reader-components.js +49 -10
  17. package/dist/reader-components.js.map +1 -1
  18. package/dist/reader.js +28 -30
  19. package/dist/reader.js.map +1 -1
  20. package/dist/types.d.ts +30 -8
  21. package/dist/types.d.ts.map +1 -1
  22. package/dist/viewpoint.d.ts +10 -0
  23. package/dist/viewpoint.d.ts.map +1 -1
  24. package/dist/viewpoint.js +12 -0
  25. package/dist/viewpoint.js.map +1 -1
  26. package/dist/writer-camera.d.ts +46 -0
  27. package/dist/writer-camera.d.ts.map +1 -0
  28. package/dist/writer-camera.js +131 -0
  29. package/dist/writer-camera.js.map +1 -0
  30. package/dist/writer.d.ts.map +1 -1
  31. package/dist/writer.js +118 -198
  32. package/dist/writer.js.map +1 -1
  33. package/dist/xml-text.d.ts +62 -5
  34. package/dist/xml-text.d.ts.map +1 -1
  35. package/dist/xml-text.js +131 -8
  36. package/dist/xml-text.js.map +1 -1
  37. package/dist/xsd-required-string.d.ts +38 -0
  38. package/dist/xsd-required-string.d.ts.map +1 -0
  39. package/dist/xsd-required-string.js +158 -0
  40. package/dist/xsd-required-string.js.map +1 -0
  41. package/package.json +3 -3
package/dist/reader.js CHANGED
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import JSZip from 'jszip';
10
10
  import { parseComponents } from './reader-components.js';
11
- import { extractElement, unescapeXml } from './xml-text.js';
11
+ import { extractElement, unescapeXml, parseLabels, parseXsBoolean } from './xml-text.js';
12
12
  import { parseFiniteFloat } from './numeric.js';
13
13
  /**
14
14
  * Resource caps guarding against a malicious (zip-bomb) .bcfzip: a tiny
@@ -138,7 +138,7 @@ export async function readBCF(file, limits) {
138
138
  // Read project file (optional)
139
139
  const { projectId, name, extensions } = await readProjectFile(zip, budget);
140
140
  // Read topics
141
- const topics = await readTopics(zip, budget);
141
+ const topics = await readTopics(zip, budget, version.versionId);
142
142
  return {
143
143
  version: version.versionId,
144
144
  projectId,
@@ -178,21 +178,21 @@ async function readProjectFile(zip, budget) {
178
178
  return {};
179
179
  }
180
180
  const content = await readEntryCapped(projectFile, 'string', budget);
181
- const projectIdMatch = content.match(/ProjectId="([^"]+)"/);
181
+ const projectIdMatch = content.match(/ProjectId="([^"]+)"/); // unescaped below, same reason as extractElement underneath
182
182
  // extractElement, not a raw regex: writeProjectFile escapes the name with
183
183
  // escapeXml, so a raw match hands back the literal entities (`A & B`) and
184
184
  // the next export escapes them again. Every other element in this reader goes
185
185
  // through extractElement precisely so the escape has an inverse.
186
186
  const name = extractElement(content, 'Name');
187
187
  return {
188
- projectId: projectIdMatch?.[1],
188
+ projectId: projectIdMatch?.[1] !== undefined ? unescapeXml(projectIdMatch[1]) : undefined,
189
189
  name,
190
190
  };
191
191
  }
192
192
  /**
193
193
  * Read all topics from the BCF archive
194
194
  */
195
- async function readTopics(zip, budget) {
195
+ async function readTopics(zip, budget, versionId) {
196
196
  const topics = new Map();
197
197
  // Find all topic folders (folders with markup.bcf)
198
198
  const topicFolders = new Set();
@@ -205,7 +205,7 @@ async function readTopics(zip, budget) {
205
205
  // Parse each topic
206
206
  for (const topicGuid of topicFolders) {
207
207
  try {
208
- const topic = await readTopic(zip, topicGuid, budget);
208
+ const topic = await readTopic(zip, topicGuid, budget, versionId);
209
209
  if (topic) {
210
210
  topics.set(topic.guid, topic);
211
211
  }
@@ -221,7 +221,7 @@ async function readTopics(zip, budget) {
221
221
  /**
222
222
  * Read a single topic from the BCF archive
223
223
  */
224
- async function readTopic(zip, topicFolder, budget) {
224
+ async function readTopic(zip, topicFolder, budget, versionId) {
225
225
  const markupFile = zip.file(`${topicFolder}/markup.bcf`);
226
226
  if (!markupFile) {
227
227
  return null;
@@ -253,19 +253,15 @@ async function readTopic(zip, topicFolder, budget) {
253
253
  const description = extractElement(topicContent, 'Description');
254
254
  const priority = extractElement(topicContent, 'Priority');
255
255
  const index = extractElement(topicContent, 'Index');
256
- const creationDate = extractElement(topicContent, 'CreationDate') || new Date().toISOString();
257
- const creationAuthor = extractElement(topicContent, 'CreationAuthor') || 'Unknown';
256
+ const creationDate = extractElement(topicContent, 'CreationDate'); // required no-default in markup.xsd; leave undefined, don't fabricate
257
+ const creationAuthor = extractElement(topicContent, 'CreationAuthor'); // same: required no-default, don't fabricate 'Unknown'
258
258
  const modifiedDate = extractElement(topicContent, 'ModifiedDate');
259
259
  const modifiedAuthor = extractElement(topicContent, 'ModifiedAuthor');
260
260
  const dueDate = extractElement(topicContent, 'DueDate');
261
261
  const assignedTo = extractElement(topicContent, 'AssignedTo');
262
262
  const stage = extractElement(topicContent, 'Stage');
263
- // Extract labels
264
- const labels = [];
265
- const labelMatches = topicContent.matchAll(/<Labels>([^<]+)<\/Labels>/g);
266
- for (const match of labelMatches) {
267
- labels.push(unescapeXml(match[1]));
268
- }
263
+ // Extract labels (tolerant of both BCF 2.1 and 3.0 markup.xsd shapes; see parseLabels)
264
+ const labels = parseLabels(topicContent);
269
265
  // Extract BIM snippet
270
266
  const bimSnippet = extractBimSnippet(topicContent);
271
267
  // Extract document references
@@ -281,7 +277,7 @@ async function readTopic(zip, topicFolder, budget) {
281
277
  // Parse comments
282
278
  const comments = parseComments(markupContent);
283
279
  // Parse viewpoints
284
- const viewpoints = await parseViewpoints(zip, topicFolder, markupContent, budget);
280
+ const viewpoints = await parseViewpoints(zip, topicFolder, markupContent, budget, versionId);
285
281
  return {
286
282
  guid,
287
283
  title,
@@ -325,12 +321,12 @@ function parseHeaderFiles(markupContent) {
325
321
  const ifcProject = attrs.match(/IfcProject="([^"]*)"/)?.[1];
326
322
  const ifcSpatial = attrs.match(/IfcSpatialStructureElement="([^"]*)"/)?.[1];
327
323
  // BCF 2.1 spells this `isExternal`, 3.0 `IsExternal`; accept either casing
328
- // (and the xs:boolean `1`/`0` forms a foreign tool may emit).
324
+ // and the xs:boolean `1`/`0` forms. Blank is absent, per parseXsBoolean.
329
325
  const isExternalRaw = attrs.match(/\b[Ii]sExternal="([^"]*)"/)?.[1];
330
326
  files.push({
331
327
  ifcProject: ifcProject || undefined,
332
328
  ifcSpatialStructureElement: ifcSpatial || undefined,
333
- isExternal: isExternalRaw === undefined ? undefined : (isExternalRaw === 'true' || isExternalRaw === '1'),
329
+ isExternal: isExternalRaw?.trim() ? parseXsBoolean(isExternalRaw, { ifUnrecognized: false }) : undefined,
334
330
  filename: extractElement(body, 'Filename'),
335
331
  date: extractElement(body, 'Date'),
336
332
  reference: extractElement(body, 'Reference'),
@@ -370,15 +366,15 @@ function extractBimSnippet(content) {
370
366
  if (!snippetType)
371
367
  return undefined;
372
368
  // BCF 2.1 spells this `isExternal`, 3.0 `IsExternal` (same rename as the
373
- // Header `<File>` attribute in reader.ts's parseHeaderFiles); accept either
374
- // casing so a spec-correct 3.0 file's flag isn't silently read as false, and
375
- // the xs:boolean `1`/`0` forms alongside `true`/`false`.
369
+ // Header `<File>` site above); accept either casing and `1`/`0`. Unlike
370
+ // that site, `isExternal` here is a required boolean, so absent and blank
371
+ // both resolve to `false`, not `undefined`.
376
372
  const isExternalRaw = match[1].match(/\b[Ii]sExternal="([^"]*)"/)?.[1];
377
373
  const reference = extractElement(match[2], 'Reference');
378
374
  const referenceSchema = extractElement(match[2], 'ReferenceSchema');
379
375
  return {
380
376
  snippetType,
381
- isExternal: isExternalRaw === 'true' || isExternalRaw === '1',
377
+ isExternal: isExternalRaw?.trim() ? parseXsBoolean(isExternalRaw, { ifUnrecognized: false }) : false,
382
378
  reference: reference || '',
383
379
  referenceSchema,
384
380
  };
@@ -402,7 +398,9 @@ function extractDocumentReferences(content) {
402
398
  const matches = content.matchAll(/<DocumentReference(?![A-Za-z])[^>]*>([\s\S]*?)<\/DocumentReference>/g);
403
399
  for (const match of matches) {
404
400
  const guidMatch = match[0].match(/Guid="([^"]+)"/);
405
- const isExternalMatch = match[0].match(/\bisExternal="([^"]+)"/);
401
+ // xs:boolean's lexical space is {true, false, 1, 0}; see isExternal above.
402
+ // Blank is absent, per parseXsBoolean (same as the header <File> site).
403
+ const isExternalRaw = match[0].match(/\bisExternal="([^"]*)"/)?.[1];
406
404
  const referencedDoc = extractElement(match[1], 'ReferencedDocument');
407
405
  const documentGuid = extractElement(match[1], 'DocumentGuid');
408
406
  const url = extractElement(match[1], 'Url');
@@ -410,7 +408,7 @@ function extractDocumentReferences(content) {
410
408
  if (referencedDoc || documentGuid || url) {
411
409
  refs.push({
412
410
  guid: guidMatch?.[1],
413
- isExternal: isExternalMatch ? isExternalMatch[1] === 'true' : undefined,
411
+ isExternal: isExternalRaw?.trim() ? parseXsBoolean(isExternalRaw, { ifUnrecognized: false }) : undefined,
414
412
  referencedDocument: referencedDoc,
415
413
  documentGuid,
416
414
  url,
@@ -459,8 +457,8 @@ function parseComments(markupContent) {
459
457
  if (close < 0)
460
458
  continue; // malformed: no wrapper closer, skip rather than throw
461
459
  const content = span.slice(0, close);
462
- const date = extractElement(content, 'Date') || new Date().toISOString();
463
- const author = extractElement(content, 'Author') || 'Unknown';
460
+ const date = extractElement(content, 'Date'); // don't fabricate; see CreationDate above
461
+ const author = extractElement(content, 'Author'); // same: required no-default, don't fabricate 'Unknown'
464
462
  const comment = extractElement(content, 'Comment') || '';
465
463
  const modifiedDate = extractElement(content, 'ModifiedDate');
466
464
  const modifiedAuthor = extractElement(content, 'ModifiedAuthor');
@@ -482,7 +480,7 @@ function parseComments(markupContent) {
482
480
  /**
483
481
  * Parse viewpoints from the BCF archive
484
482
  */
485
- async function parseViewpoints(zip, topicFolder, markupContent, budget) {
483
+ async function parseViewpoints(zip, topicFolder, markupContent, budget, versionId) {
486
484
  const viewpoints = [];
487
485
  // Parse viewpoint references from markup.bcf to get snapshot filenames.
488
486
  // The markup element is plural -- <Viewpoints Guid="xxx"><Viewpoint>file.bcfv</Viewpoint>
@@ -561,7 +559,7 @@ async function parseViewpoints(zip, topicFolder, markupContent, budget) {
561
559
  if (!viewpointFile)
562
560
  continue;
563
561
  const viewpointContent = await readEntryCapped(viewpointFile, 'string', budget);
564
- const viewpoint = parseViewpointContent(viewpointContent);
562
+ const viewpoint = parseViewpointContent(viewpointContent, versionId);
565
563
  if (viewpoint) {
566
564
  // Get snapshot filename from markup.bcf if available
567
565
  const viewpointInfo = viewpointInfoMap.get(viewpoint.guid);
@@ -642,7 +640,7 @@ async function parseViewpoints(zip, topicFolder, markupContent, budget) {
642
640
  /**
643
641
  * Parse viewpoint XML content
644
642
  */
645
- function parseViewpointContent(content) {
643
+ function parseViewpointContent(content, versionId) {
646
644
  // Extract viewpoint GUID from root element (Guid can be anywhere in the tag)
647
645
  const guidMatch = content.match(/<VisualizationInfo[^>]+Guid="([^"]+)"/);
648
646
  const guid = guidMatch?.[1] || crypto.randomUUID?.() || `vp-${Date.now()}`;
@@ -651,7 +649,7 @@ function parseViewpointContent(content) {
651
649
  // Parse orthogonal camera
652
650
  const orthogonalCamera = parseOrthogonalCamera(content);
653
651
  // Parse components
654
- const components = parseComponents(content);
652
+ const components = parseComponents(content, versionId);
655
653
  // Parse lines
656
654
  const lines = parseLines(content);
657
655
  // Parse clipping planes
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../src/reader.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -38,10 +38,22 @@ export interface BCFTopic {
38
38
  priority?: string;
39
39
  /** Index for ordering topics */
40
40
  index?: number;
41
- /** Creation date (ISO 8601) */
42
- creationDate: string;
43
- /** Author email */
44
- creationAuthor: string;
41
+ /**
42
+ * Creation date (ISO 8601). `markup.xsd` declares this required with no
43
+ * default, but it comes through undefined when the source markup.bcf
44
+ * omits it — the reader never fabricates a read-time wall-clock
45
+ * timestamp in its place (that value would be indistinguishable from a
46
+ * genuinely-declared one, and isn't even stable across repeated reads of
47
+ * the same untouched file).
48
+ */
49
+ creationDate?: string;
50
+ /**
51
+ * Author email. `markup.xsd` declares `CreationAuthor` required with no
52
+ * default, but it comes through undefined when the source markup.bcf
53
+ * omits it — see {@link creationDate} for why the reader never fabricates
54
+ * a placeholder value ("Unknown") in its place.
55
+ */
56
+ creationAuthor?: string;
45
57
  /** Modification date (ISO 8601) */
46
58
  modifiedDate?: string;
47
59
  /** Modifier email */
@@ -97,10 +109,20 @@ export interface BCFDocumentReference {
97
109
  export interface BCFComment {
98
110
  /** Unique identifier */
99
111
  guid: string;
100
- /** Comment creation date (ISO 8601) */
101
- date: string;
102
- /** Author email */
103
- author: string;
112
+ /**
113
+ * Comment creation date (ISO 8601). `markup.xsd` declares this required
114
+ * with no default, but it comes through undefined when the source
115
+ * markup.bcf omits it — see `BCFTopic.creationDate` for why the reader
116
+ * never fabricates a read-time wall-clock timestamp in its place.
117
+ */
118
+ date?: string;
119
+ /**
120
+ * Author email. `markup.xsd` declares `Author` required with no default,
121
+ * but it comes through undefined when the source markup.bcf omits it —
122
+ * see `BCFTopic.creationAuthor` for why the reader never fabricates a
123
+ * placeholder value ("Unknown") in its place.
124
+ */
125
+ author?: string;
104
126
  /** Comment text */
105
127
  comment: string;
106
128
  /** Reference to a viewpoint GUID */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,16 @@ export interface ViewerCameraState {
30
30
  isOrthographic?: boolean;
31
31
  /** Orthographic scale (view-to-world) */
32
32
  orthoScale?: number;
33
+ /**
34
+ * Viewport aspect ratio (width / height). REQUIRED to write BCF 3.0:
35
+ * v3_0/visinfo.xsd makes `<AspectRatio>` a mandatory child of both camera
36
+ * types and `writer-camera.ts` refuses to invent one, so without this field
37
+ * no viewpoint this package produced could be written as 3.0 at all -- and
38
+ * `writeBCF` throws for the whole archive on the first such camera, so one
39
+ * captured viewpoint meant no export (#3612). Optional because 2.1 has no
40
+ * such element; leave it unset rather than assert a view nobody had.
41
+ */
42
+ aspectRatio?: number;
33
43
  }
34
44
  export interface ViewerSectionPlane {
35
45
  /** Axis: 'down' (Y), 'front' (Z), 'side' (X) */
@@ -1 +1 @@
1
- {"version":3,"file":"viewpoint.d.ts","sourceRoot":"","sources":["../src/viewpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewpoint.d.ts","sourceRoot":"","sources":["../src/viewpoint.ts"],"names":[],"mappings":"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"}
package/dist/viewpoint.js CHANGED
@@ -59,6 +59,7 @@ export function cameraToPerspective(camera) {
59
59
  cameraDirection: direction,
60
60
  cameraUpVector: upVector,
61
61
  fieldOfView: Math.max(1, Math.min(179, fieldOfView)), // Clamp to valid range
62
+ ...(camera.aspectRatio === undefined ? {} : { aspectRatio: camera.aspectRatio }),
62
63
  };
63
64
  }
64
65
  /**
@@ -89,6 +90,7 @@ export function cameraToOrthogonal(camera, viewToWorldScale) {
89
90
  cameraDirection: direction,
90
91
  cameraUpVector: upVector,
91
92
  viewToWorldScale,
93
+ ...(camera.aspectRatio === undefined ? {} : { aspectRatio: camera.aspectRatio }),
92
94
  };
93
95
  }
94
96
  /**
@@ -132,6 +134,15 @@ export function perspectiveToCamera(camera, targetDistance = 10) {
132
134
  up: viewerUp,
133
135
  fov,
134
136
  isOrthographic: false,
137
+ // Carried back so the conversion pair is lossless in both directions.
138
+ // NOT for the viewer's apply path: `useBCF`'s `applyCameraState` never
139
+ // pushes an aspect ratio into the renderer (the viewport owns that) and
140
+ // `getCameraState` reads a fresh one, so nothing there depends on this.
141
+ // It matters for a caller that reads a viewpoint, edits the camera state,
142
+ // and writes it back -- `perspectiveToCamera` -> `cameraToPerspective`
143
+ // would otherwise silently drop the field and make the result unwritable
144
+ // as BCF 3.0. The tests pin the round trip, not a viewer scenario.
145
+ ...(camera.aspectRatio === undefined ? {} : { aspectRatio: camera.aspectRatio }),
135
146
  };
136
147
  }
137
148
  /**
@@ -159,6 +170,7 @@ export function orthogonalToCamera(camera, targetDistance = 10) {
159
170
  fov: Math.PI / 4, // Default FOV for ortho (not used)
160
171
  isOrthographic: true,
161
172
  orthoScale: camera.viewToWorldScale,
173
+ ...(camera.aspectRatio === undefined ? {} : { aspectRatio: camera.aspectRatio }),
162
174
  };
163
175
  }
164
176
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"viewpoint.js","sourceRoot":"","sources":["../src/viewpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewpoint.js","sourceRoot":"","sources":["../src/viewpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Writing a viewpoint's camera.
3
+ *
4
+ * Split out of `writer.ts` because the camera is the one part of
5
+ * `VisualizationInfo` whose SHAPE, CARDINALITY and ORDER all differ between
6
+ * BCF 2.1 and BCF 3.0, and keeping the three rules in one place is what makes
7
+ * them checkable against the `visinfo.xsd` copies under
8
+ * `__fixtures__/schemas/`. The parity is
9
+ * pinned by `schema-validation.test.ts` > "BCF camera cardinality and order",
10
+ * which re-derives the rules from the vendored schemas before asserting them.
11
+ */
12
+ import type { BCFViewpoint, BCFPerspectiveCamera, BCFOrthogonalCamera } from './types.js';
13
+ /**
14
+ * Enforce each version's rule for how many cameras a viewpoint may carry.
15
+ *
16
+ * The two schemas differ, and the emitted ORDER matters in one of them:
17
+ *
18
+ * - v2_1/visinfo.xsd puts `OrthogonalCamera` and `PerspectiveCamera` in
19
+ * `VisualizationInfo`'s `xs:sequence`, both `minOccurs="0"`. Either, both or
20
+ * neither may appear -- but an `xs:sequence` fixes the order, and the
21
+ * schema declares the orthogonal camera FIRST. Emitting the perspective
22
+ * camera first made a two-camera 2.1 viewpoint schema-invalid
23
+ * ("Element 'OrthogonalCamera': This element is not expected"), which is
24
+ * why `writer.ts`'s `writeViewpointFiles` now writes orthogonal first for both
25
+ * versions -- the order is required by 2.1 and harmless under 3.0's choice.
26
+ * - v3_0/visinfo.xsd replaced that pair with an `<xs:choice>` carrying no
27
+ * `minOccurs` and no `maxOccurs`, so both default to 1: EXACTLY ONE camera,
28
+ * and it is required. Two cameras and zero cameras are each invalid there.
29
+ *
30
+ * We refuse the 3.0 violations rather than guessing which camera the caller
31
+ * meant, or inventing one for a viewpoint that has none -- same policy as
32
+ * {@link requireAspectRatioElement} and the `Topic/@TopicType` checks in
33
+ * `writer.ts`'s `writeMarkupFile`. Silently dropping one of two cameras would discard
34
+ * a view the caller chose; silently emitting neither writes an archive that no
35
+ * conforming BCF 3.0 reader has to accept.
36
+ */
37
+ export declare function requireCameraChoice(viewpoint: BCFViewpoint, version: '2.1' | '3.0'): void;
38
+ /**
39
+ * Write perspective camera XML
40
+ */
41
+ export declare function writePerspectiveCamera(camera: BCFPerspectiveCamera, version: '2.1' | '3.0', viewpointGuid: string): string;
42
+ /**
43
+ * Write orthogonal camera XML
44
+ */
45
+ export declare function writeOrthogonalCamera(camera: BCFOrthogonalCamera, version: '2.1' | '3.0', viewpointGuid: string): string;
46
+ //# sourceMappingURL=writer-camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer-camera.d.ts","sourceRoot":"","sources":["../src/writer-camera.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAG1F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAUzF;AA8DD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,KAAK,GAAG,KAAK,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,KAAK,GAAG,KAAK,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR"}