From bc46ebd5bb9d91ede994488f3acc063457fadfe5 Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@c-s.fr>
Date: Thu, 12 May 2011 17:25:24 +0200
Subject: [PATCH] ENH: add new streaming method to StreamingImageVirtualWriter
 to fit StreamingImageFileWriter

---
 Code/IO/otbStreamingImageVirtualWriter.h   |  8 +++++++
 Code/IO/otbStreamingImageVirtualWriter.txx | 26 ++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/Code/IO/otbStreamingImageVirtualWriter.h b/Code/IO/otbStreamingImageVirtualWriter.h
index ec8d48db97..0b5db086be 100644
--- a/Code/IO/otbStreamingImageVirtualWriter.h
+++ b/Code/IO/otbStreamingImageVirtualWriter.h
@@ -94,6 +94,14 @@ public:
     m_StreamingManager = streamingManager;
     }
 
+  /**  Set the streaming mode to 'stripped' and configure the number of strips
+   *   which will be used to stream the image */
+  void SetNumberOfDivisionsStrippedStreaming(unsigned int nbDivisions);
+
+  /**  Set the streaming mode to 'tiled' and configure the number of tiles
+   *   which will be used to stream the image */
+  void SetNumberOfDivisionsTiledStreaming(unsigned int nbDivisions);
+
   /**  Set the streaming mode to 'stripped' and configure the number of strips
    *   which will be used to stream the image */
   void SetNumberOfLinesStrippedStreaming(unsigned int nbLinesPerStrip);
diff --git a/Code/IO/otbStreamingImageVirtualWriter.txx b/Code/IO/otbStreamingImageVirtualWriter.txx
index bae2553bd0..0bcf560b67 100644
--- a/Code/IO/otbStreamingImageVirtualWriter.txx
+++ b/Code/IO/otbStreamingImageVirtualWriter.txx
@@ -23,6 +23,8 @@
 #include "otbConfigure.h"
 #include "itkCommand.h"
 
+#include "otbNumberOfDivisionsStrippedStreamingManager.h"
+#include "otbNumberOfDivisionsTiledStreamingManager.h"
 #include "otbNumberOfLinesStrippedStreamingManager.h"
 #include "otbRAMDrivenStrippedStreamingManager.h"
 #include "otbTileDimensionTiledStreamingManager.h"
@@ -54,6 +56,30 @@ StreamingImageVirtualWriter<TInputImage>
   Superclass::PrintSelf(os, indent);
 }
 
+template <class TInputImage>
+void
+StreamingImageVirtualWriter<TInputImage>
+::SetNumberOfDivisionsStrippedStreaming(unsigned int nbDivisions)
+{
+  typedef NumberOfDivisionsStrippedStreamingManager<TInputImage> NumberOfDivisionsStrippedStreamingManagerType;
+  typename NumberOfDivisionsStrippedStreamingManagerType::Pointer streamingManager = NumberOfDivisionsStrippedStreamingManagerType::New();
+  streamingManager->SetNumberOfDivisions(nbDivisions);
+
+  m_StreamingManager = streamingManager;
+}
+
+template <class TInputImage>
+void
+StreamingImageVirtualWriter<TInputImage>
+::SetNumberOfDivisionsTiledStreaming(unsigned int nbDivisions)
+{
+  typedef NumberOfDivisionsTiledStreamingManager<TInputImage> NumberOfDivisionsTiledStreamingManagerType;
+  typename NumberOfDivisionsTiledStreamingManagerType::Pointer streamingManager = NumberOfDivisionsTiledStreamingManagerType::New();
+  streamingManager->SetNumberOfDivisions(nbDivisions);
+
+  m_StreamingManager = streamingManager;
+}
+
 template <class TInputImage>
 void
 StreamingImageVirtualWriter<TInputImage>
-- 
GitLab