NextGenRaster v1.0 (Jan 14 2015 15:16:43) (c) ARTWORK CONVERSION SOFTWARE Inc. 417 Ingalls St. Santa Cruz CA 95060 (T) 831-426-6163 (E) info@artwork.com (W) www.artwork.com COMMAND LINE: c:\WCAD\NextgenRaster\NextgenRaster64.exe "+input:c:\WCAD\NextgenRaster\Example Files\rip_demo.gds" "+out:c:\WCAD\NextgenRaster\Example Files\rip_demo.tif" -cell:32x48PIXEL -layers:4 pixelsize:0.1 -format:TIFF "-log:c:\WCAD\NextgenRaster\Example Files\rip_demo.log" -window:LLUR,32612,21950,33333,22370 -emitcode [c++] [c++] std::vector argT; /* Argument Tags */ [c++] std::vector(handle); [c++] /* const char* dllPath ("c:\WCAD\NextgenRaster\nextgenraster64.dll") */ [c++] /* const int argT.size() (2) */ [c++] /* const char* const* &argT[0] (0000000002196280) */ [c++] /* void** &argV[0] (00000000021962A0) */ [c++] /* char* errorMsgBuffer (000000000031F1C0) */ [c++] /* const int errorMsgBufferLength (1024) */ [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* HNextGenRaster* handle (000000000219C6B0) */ BEGIN RUN: 2015-01-16.15:15:03 [c++] [c++] /* Instantiate open file settings object */ [c++] handle = nextgenRasterHandle->createFileOpenSettings(); [c++] fileOpenSettings = dynamic_cast(handle); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* HFileOpenSettings* handle (0000000001E8A4A0) */ [c++] /* IFileOpenSettings* fileOpenSettings (0000000001E8A4A0) */ [c++] [c++] /* Specify layer[:datatype]s to load. All other layer[:datatype]s will be dropped */ [c++] fileOpenSettings->setLayersOfInterest(layersOfInterest); [c++] /* IFileOpenSettings* fileOpenSettings (0000000001E8A4A0) */ [c++] /* const char* layersOfInterest ("4") */ [c++] [c++] /* Load the input GDSII/OASIS/DBLoad file */ [c++] nextgenRasterHandle->openFile( [c++] inputFilePath, [c++] dynamic_cast(fileOpenSettings), [c++] progressCallbackFn, [c++] clientHandle [c++] ); [c++] /* const char* inputFilePath (000000000219C2F0) */ [c++] /* IFileOpenSettings* fileOpenSettings (0000000001E8A4A0) */ [c++] /* int _CBDECL progressCallbackFn(const char* message, void* clientHandle); */ [c++] /* void* clientHandle (000000013F2C6A90) */ Loading file 'c:\WCAD\NextgenRaster\Example Files\rip_demo.gds' (4K )... Layers to be loaded: 4 Load to Memory: OFF Scanning... 0% Scanning... 100% Scanning in 0 min 0 sec Loading... 0% Loading... 100% Loading in 0 min 0 sec View Cell: 32x48PIXEL Elapsed Time: 0h:0m:0.03s Memory Footprint Delta: 9M 708K User Unit: um Database Unit: 1000 (per um) Number of Structures: 3 Structure References: 0 Array References: 2 Boundaries: 2 (0,0,0) Boxes: 0 (0,0,0) Paths: 0 (0,0) Vertices: 34 Texts: 0(--) Estimated Memory for Load Data: 0.0MB (224 bytes) Total Memory for Load Data: -- (Load Mode is Off) Data Dropped: -- (Load Mode is Off) Scan Time: 0 min 0 sec (elapsed time) Load Time: 0 min 0 sec (elapsed time) [c++] [c++] /* Destroy file open settings object */ [c++] nextgenRasterHandle->destroyFileOpenSettings(dynamic_cast(fileOpenSettings)); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* IFileOpenSettings* fileOpenSettings (0000000001E8A4A0) */ [c++] [c++] /* Instantiate view settings object */ [c++] handle = nextgenRasterHandle->createFileViewSettings(); [c++] viewSettings = dynamic_cast(handle); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* IFileViewSettings* viewSettings (0000000001E92880) */ [c++] /* HFileViewSettings* handle (0000000001E92880) */ [c++] [c++] /* Set view cell */ [c++] viewSettings->setViewCell(viewCellName); [c++] /* IFileViewSettings* viewSettings (0000000001E92880) */ [c++] /* const char* viewCellName ("32x48PIXEL") */ [c++] [c++] /* Apply view settings */ [c++] nextgenRasterHandle->setFileView(dynamic_cast(viewSettings)); [c++] /* IFileViewSettings* viewSettings (0000000001E92880) */ [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ View Cell: 32x48PIXEL Elapsed Time: 0h:0m:0.00s Memory Footprint Delta: 0b [c++] [c++] /* Destroy view settings object */ [c++] nextgenRasterHandle->destroyFileViewSettings(dynamic_cast(viewSettings)); [c++] /* IFileViewSettings* viewSettings (0000000001E92880) */ [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] [c++] /* Instantiate a window set object */ [c++] handle = nextgenRasterHandle->createRasterWindowSet(); [c++] windowSet = dynamic_cast(handle); [c++] /* HRasterWindowSet* handle (0000000001E8A4A0) */ [c++] /* IRasterWindowSet* windowSet (0000000001E8A4A0) */ [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] [c++] /* Add a rectangular window to the window set */ [c++] windowSet->addWindow(extentsBox); [c++] /* IRasterWindowSet* windowSet (0000000001E8A4A0) */ [c++] /* double sBOXLLUR::llx extentsBox.llx (32612) */ [c++] /* double sBOXLLUR::lly extentsBox.lly (21950) */ [c++] /* double sBOXLLUR::urx extentsBox.urx (33333) */ [c++] /* double sBOXLLUR::ury extentsBox.ury (22370) */ SETTINGS: Input File: c:\WCAD\NextgenRaster\Example Files\rip_demo.gds Output Base: c:\WCAD\NextgenRaster\Example Files\rip_demo.tif Layers: 4 Cell: 32x48PIXEL Pixelsize: 1 ROI: Home View No. Windows/Tiles: 1 No. threads: 2 Detect Patterns: YES Max. Polygon Buffer: 1,000,000 vertices Raster Mode: Black on White Output format: TIFF (packbits) [c++] [c++] /* Instantiate the raster settings object */ [c++] handle = nextgenRasterHandle->createRasterSettings(); [c++] rasterSettings = dynamic_cast(handle); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* HRasterSettings* handle (0000000001E92880) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Set the resolution (pixel size) */ [c++] rasterSettings->setPixelSize(pixelSize); [c++] /* const double pixelSize (1) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Set the number of raster/formatter threads */ [c++] rasterSettings->setNumberOfThreads(thrnum); [c++] /* const int thrnum (2) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Invert image polarity (white on black) */ [c++] rasterSettings->invertPolarity(invert); [c++] /* const bool invert (false) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Use pattern recognition for faster rasterization */ [c++] rasterSettings->recognizePatterns(usePatterns); [c++] /* const bool userPatterns (true) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Limit the number of polygons collected and rasterized at a time */ [c++] rasterSettings->setMaxPolygonBufferCount(maxNumVertices); [c++] /* const VERTCNT_t maxNumVertices (1,000,000) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Specify Image format (output file) */ [c++] rasterSettings->setImageFormat(imgFormat); [c++] /* const ncIMGFORMAT::Type format (ncIMGFORMAT::TIFF) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Set the base path (directory + file name - extension) for the output file */ [c++] rasterSettings->setOutputFilePathBase(basePath); [c++] /* const char* basePath ("c:\WCAD\NextgenRaster\Example Files\rip_demo.tif") */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Rasterize a set of windows */ [c++] nextgenRasterHandle->rasterizeJob(dynamic_cast(windowSet), dynamic_cast(rasterSettings), onRasterizeOneWindowCb, clientHandle); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* IRasterWindowSet* windowSet (0000000001E8A4A0) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] /* int _CBDECL CNextGenRasterClient::onRasterizeOneWindowCb(HRasterInfo* tileInfo, HRasterBuffer* rasterBuffer, HRasterStats* rasterStats, void* clientHandle, const int windowNumber, const int totalNumWindows); */ [c++] /* void* clientHandle (000000013F2C6A90) */ Processing tile 1/1: 32612,21950,33333,22370 (2 threads) Adjusted Extents: 32608,21950,33335,22369 Image Dimensions: 728 x 420 Raster Buffer Size: 37K 332b Flat polygon counts: 0 (0 vertices) Processing pattern 16X24PIXCELL: 4 repetitions Total 384 polygons (6,528 vertices) in 0h:0m:0.00s Creating 'c:\WCAD\NextgenRaster\Example Files\rip_demo.tif.1.tif'... Elapsed Time: 0h:0m:0.00s Memory Footprint Delta: 52K Elapsed Time: 0h:0m:0.01s Memory Footprint Delta: 300K [c++] [c++] /* Inside the raster window callback function (1 of 1) */ [c++] onRasterizeOneWindowCb(rasterInfoHandle, rasterbufferHandle, rasterstatsHandle, clientHandle, windowNumber, totalNumWindows); [c++] /* HRasterInfo* rasterInfoHandle (000000000031F7D0) */ [c++] /* HRasterBuffer* rasterbufferHandle (000000000219CAA0) */ [c++] /* HRasterStats* rasterStatHandle (000000000031F738) */ [c++] /* void* clientHandle (000000013F2C6A90) */ [c++] /* const int windowNumber (1) */ [c++] /* const int totalNumWindows (1) */ [c++] IRasterInfo* rasterInfo = dynamic_cast(rasterInfoHandle); [c++] /* rasterInfo->getDataExtents(double& llx, double& lly, double& urx, double& ury) : llx(32608), lly(21950), urx(33335), ury(22369) */ [c++] /* rasterInfo->getImageExtents(int& llx, int& lly, int& urx, int& ury) : llx(32608), lly(21950), urx(33335), ury(22369) */ [c++] /* int rasterInfo->getImageWidth() : 728 */ [c++] /* int rasterInfo->getImageHeight() : 420 */ [c++] /* double rasterInfo->getDPI() : 25400 */ [c++] IRasterBuffer* rasterBuffer = dynamic_cast(rasterbufferHandle); [c++] /* const unsigned char* rasterBuffer->handle() : 0000000003B452B0 */ [c++] /* BSIZE_t rasterBuffer->size() : 38220 */ [c++] IRasterStats* rasterStats = dynamic_cast(rasterStatHandle); [c++] /* VERTCNT_t rasterStats->polygonCount() : 384 */ [c++] /* VERTCNT_t rasterStats->vertexCount() : 6528 */ [c++] /* double rasterStats->rasterTimeInSeconds() : 0.001 */ [c++] /* double rasterStats->totalTimeInSeconds() : 0.0137747 */ [c++] [c++] /* Destroy raster settings object */ [c++] nextgenRasterHandle->destroyRasterSettings(dynamic_cast(rasterSettings)); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* IRasterSettings* rasterSettings (0000000001E92880) */ [c++] [c++] /* Destroy raster window set */ [c++] nextgenRasterHandle->destroyRasterWindowSet(dynamic_cast(windowSet)); [c++] /* INextGenRaster* nextgenRasterHandle (000000000219C6B0) */ [c++] /* IRasterWindowSet* windowSet (0000000001E8A4A0) */ Total Time: 0h:0m:0.26s Total Memory Used: 17M 76K END RUN: 2015-01-16.15:15:03 [c++] [c++] /* Close the NextGenRaster library once */ [c++] ::closeNextGenRasterLibraryOnce();