diff --git a/Code/IO/otbStreamingImageVirtualWriter.h b/Code/IO/otbStreamingImageVirtualWriter.h index 37ea082f2d0d5b7bcd7ace483d5af0d5f661c45d..248f2ff6231ae9460ca02b094a7b27eb2d265c2b 100644 --- a/Code/IO/otbStreamingImageVirtualWriter.h +++ b/Code/IO/otbStreamingImageVirtualWriter.h @@ -132,6 +132,10 @@ public: * Setting the availableRAM parameter to 0 means that the available RAM * is set from the CMake configuration option */ void SetAutomaticAdaptativeStreaming(unsigned int availableRAM = 0, double bias = 1.0); + + /** Override Update() from ProcessObject + * This filter does not produce an output */ + virtual void Update(); protected: StreamingImageVirtualWriter(); diff --git a/Code/IO/otbStreamingImageVirtualWriter.txx b/Code/IO/otbStreamingImageVirtualWriter.txx index 463bb211a5121a140f329f082a1e716bd2160a37..4d0399d1c206c6a33f3c81727f53b5b60d6bcdc5 100644 --- a/Code/IO/otbStreamingImageVirtualWriter.txx +++ b/Code/IO/otbStreamingImageVirtualWriter.txx @@ -146,6 +146,16 @@ StreamingImageVirtualWriter<TInputImage> m_StreamingManager = streamingManager; } +template <class TInputImage> +void +StreamingImageVirtualWriter<TInputImage> +::Update() +{ + InputImagePointer inputPtr = const_cast<InputImageType *>(this->GetInput(0)); + inputPtr->UpdateOutputInformation(); + + this->GenerateData(); +} template <class TInputImage> void @@ -231,9 +241,12 @@ StreamingImageVirtualWriter<TInputImage> { streamRegion = m_StreamingManager->GetSplit(m_CurrentDivision); otbMsgDevMacro(<< "Processing region : " << streamRegion ) - inputPtr->ReleaseData(); + //inputPtr->ReleaseData(); + //inputPtr->SetRequestedRegion(streamRegion); + //inputPtr->Update(); inputPtr->SetRequestedRegion(streamRegion); - inputPtr->Update(); + inputPtr->PropagateRequestedRegion(); + inputPtr->UpdateOutputData(); } /**