std::shared_ptr<BufferRAM> BufferGL2RAMConverter::createFrom( std::shared_ptr<const BufferGL> src) const { auto dst = createBufferRAM(src->getSize(), src->getDataFormat(), src->getBufferUsage(), src->getBufferTarget()); if (!dst) throw ConverterException(std::string("Cannot convert format from GL to RAM: ") + src->getDataFormat()->getString(), IvwContext); src->download(dst->getData()); return dst; }
DataRepresentation* BufferGL2RAMConverter::createFrom(const DataRepresentation* source) { const BufferGL* src = static_cast<const BufferGL*>(source); BufferRAM* dst = createBufferRAM(src->getSize(), src->getDataFormat(), src->getBufferType(), src->getBufferUsage()); if (!dst) throw ConverterException(std::string("Cannot convert format from GL to RAM: ") + src->getDataFormat()->getString(), IvwContext); src->download(dst->getData()); return dst; }
/** * @brief Logs an error message. * * @param message the message to log * @return <code>false</code> * @throws ConverterException */ bool Converter::error(const QString& message) { m_mainWindows->log(message); throw ConverterException(message); return false; }