From 51d0481400274982949b7a1fba563283819dcbb3 Mon Sep 17 00:00:00 2001 From: Guillaume Pasero <guillaume.pasero@c-s.fr> Date: Tue, 28 May 2013 09:27:14 +0200 Subject: [PATCH] BUG: VirtualWriter was propagating an empty region (as the ImageFileWriter before) --- Code/IO/otbStreamingImageVirtualWriter.h | 4 ++++ Code/IO/otbStreamingImageVirtualWriter.txx | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Code/IO/otbStreamingImageVirtualWriter.h b/Code/IO/otbStreamingImageVirtualWriter.h index 37ea082f2d..248f2ff623 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 463bb211a5..4d0399d1c2 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(); } /** -- GitLab