All files / app/codeCharta/services/3DExports/generateXML build3mfModelConfig.ts

100% Statements 9/9
100% Branches 0/0
100% Functions 4/4
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38    6x 3x   3x 11x     3x   3x       3x               11x                   3x        
import { Volume } from "../serialize3mf.service"
 
export function getXMLmodelConfig(volumes: Volume[]): string {
    let modelConfig = _getXMLModelConfigHeader()
 
    for (const volume of volumes) {
        modelConfig += _getXMLModelConfigVolumes(volume)
    }
 
    modelConfig += _getXMLModelConfigFooter()
 
    return modelConfig
}
 
function _getXMLModelConfigHeader(): string {
    return `<?xml version="1.0" encoding="UTF-8"?>
<config>
  <object id="1" instances_count="1">
    <metadata type="object" key="name" value="CodeCharta Map"/>
`
}
 
function _getXMLModelConfigVolumes(volume: Volume) {
    return `    <volume firstid="${volume.firstTriangleId}" lastid="${volume.lastTriangleId}">
      <metadata type="volume" key="name" value="${volume.name}"/>
      <metadata type="volume" key="extruder" value="${volume.extruder}"/>
      <metadata type="volume" key="source_object_id" value="1"/>
      <metadata type="volume" key="source_volume_id" value="${volume.id}"/>
    </volume>
`
}
 
function _getXMLModelConfigFooter(): string {
    return `  </object>
</config>
`
}