SpatialDataView* VideoImporter::createView() const { if ((isBatch()) || (mpRasterElement == NULL)) { return NULL; } mProgress.report("Creating view...", 85, NORMAL); // Get the data set name std::string name = mpRasterElement->getName(); if (name.empty()) { mProgress.report("The data set name is invalid! A view cannot be created.", 0, ERRORS, true); return NULL; } // Create the spatial data window SpatialDataWindow* pWindow = static_cast<SpatialDataWindow*>(Service<DesktopServices>()->createWindow(name, SPATIAL_DATA_WINDOW)); SpatialDataView* pView = (pWindow == NULL) ? NULL : pWindow->getSpatialDataView(); if (pView == NULL) { mProgress.report("Could not create the view window!", 0, ERRORS, true); return NULL; } // Set the spatial data in the view pView->setPrimaryRasterElement(mpRasterElement); // Block undo actions when creating the layers UndoLock lock(pView); // Add the cube layer RasterLayer* pLayer = static_cast<RasterLayer*>(pView->createLayer(RASTER, mpRasterElement)); if (pLayer == NULL) { mProgress.report("Could not create the cube layer!", 0, ERRORS, true); return NULL; } pLayer->setStretchUnits(RED, RAW_VALUE); pLayer->setStretchUnits(GREEN, RAW_VALUE); pLayer->setStretchUnits(BLUE, RAW_VALUE); pLayer->setStretchValues(RED, 0, 255); pLayer->setStretchValues(GREEN, 0, 255); pLayer->setStretchValues(BLUE, 0, 255); if (pLayer->isGpuImageSupported()) { pLayer->enableGpuImage(true); } return pView; }
int setRasterLayerGpuEnabled(Layer* pLayer, int gpu) { RasterLayer* pRaster = dynamic_cast<RasterLayer*>(pLayer); if (pRaster == NULL) { setLastError(SIMPLE_BAD_PARAMS); return 1; } if (!pRaster->isGpuImageSupported()) { setLastError(SIMPLE_OTHER_FAILURE); return 1; } setLastError(SIMPLE_NO_ERROR); pRaster->enableGpuImage(gpu != 0); return 0; }