void tDxfExport2::func(QString fName, tModel* m) { DL_Codes::version exportVersion = DL_Codes::AC1015; dw = dxf.out(fName.toStdString().data(), exportVersion); if (dw==NULL) { printf("Cannot open file 'myfile.dxf' for writing."); // abort function e.g. with return } //Prepare: writeHeader(); dw->sectionTables(); {//Initial Tables //a standard viewport dxf.writeVPort(*dw); //the linetypes writeDefaultLineTypes(); //all our jr-Layers writeLayers(m); writeDefaultTables(); writeDimentsions(); //Declare Blocks dxf.writeBlockRecord(*dw); //if there are further blocks in future... //dxf.writeBlockRecord(*dw, "myblock2"); dw->tableEnd(); } //Write Blocks dw->sectionBlocks(); writeDefaultBlocks(); // The Entities: writeEntities(m); //Finalize: dxf.writeObjects(*dw); dxf.writeObjectsEnd(*dw); dw->dxfEOF(); dw->close(); delete dw; }
void writeMapEditor(editorRoom_struct* er, const char* str) { if(!er)return; FILE* f=fopen(str,"wb+"); // if(!f)return; mapHeader_struct h=blankHeader; writeHeader(&h,f); room_struct r; lightingData_struct* ld=&r.lightingData; initRoom(&r, 0, 0, vect(0,0,0)); rectangleList_struct sludgeList; r.rectangles=generateOptimizedRectangles(er->blockArray, &sludgeList); generateLightsFromEntities(); // generateLightmaps(&r, ld); generateVertexLighting(&r, ld); h.dataPosition=ftell(f); u8* compressed=compressBlockArray(er->blockArray, &h.dataSize); // decompress(compressed, er->blockArray, RLE); if(!compressed){return;} //TEMP : clean up first ! NOGBA("DATASIZE %d",h.dataSize); fwrite(compressed,sizeof(u8),h.dataSize*2,f); free(compressed); h.rectanglesPosition=ftell(f); writeRectangleList(&r.rectangles, f); h.lightPosition=ftell(f); writeLightingData(ld, f); h.entityPosition=ftell(f); writeEntities(f); h.sludgePosition=ftell(f); writeRectangleList(&sludgeList, f); writeHeader(&h,f); //empty sludgelist here while(sludgeList.num)popRectangle(&sludgeList); freeRoom(&r); fclose(f); }
int QgsDxfExport::writeToFile( QIODevice* d ) { if ( !d ) { return 1; } if ( !d->isOpen() && !d->open( QIODevice::WriteOnly ) ) { return 2; } mTextStream.setDevice( d ); writeHeader(); writeTables(); writeBlocks(); writeEntities(); writeEndFile(); return 0; }
void LC_MakerCamSVG::writeLayer(RS_Document* document, RS_Layer* layer) { if (writeInvisibleLayers || !layer->isFrozen()) { if (writeConstructionLayers || !layer->isConstruction()) { RS_DEBUG->print("RS_MakerCamSVG::writeLayer: Writing layer with name '%s'", qPrintable(layer->getName())); xmlWriter->addElement("g", NAMESPACE_URI_SVG); xmlWriter->addAttribute("layername", qPrintable(layer->getName()), NAMESPACE_URI_LC); xmlWriter->addAttribute("is_locked", (layer->isLocked() ? "true" : "false"), NAMESPACE_URI_LC); xmlWriter->addAttribute("is_construction", (layer->isConstruction() ? "true" : "false"), NAMESPACE_URI_LC); if (layer->isFrozen()) { xmlWriter->addAttribute("style", "display: none;"); } xmlWriter->addAttribute("fill", "none"); xmlWriter->addAttribute("stroke", "black"); xmlWriter->addAttribute("stroke-width", "1"); writeEntities(document, layer); xmlWriter->closeElement(); } else { RS_DEBUG->print("RS_MakerCamSVG::writeLayer: Omitting construction layer with name '%s'", qPrintable(layer->getName())); } } else { RS_DEBUG->print("RS_MakerCamSVG::writeLayer: Omitting invisible layer with name '%s'", qPrintable(layer->getName())); } }