I am not sure I understand. You have a few datasets, you add these to a multiblock dataset, you process this multiblock dataset with a filter. Is that right?<br><br><div><span class="gmail_quote">On 5/25/06, <b class="gmail_sendername">
Bill McGrory</b> <<a href="mailto:mcgrory@aerosft.com">mcgrory@aerosft.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I've been trying to get a<br>vtkMultiBlockDataSet to work properly with vtkStructuredGrid's which are<br>output from a vtkStructuredGridSource<br><br>>From what I can tell, it appears that the the  vtkCompositeDataPipeline
<br>is unaware of child vtkDataObject->Source, so none of the data ever gets<br>loaded.<br><br>I have constructed a work-around which appears (superficially at least)<br>to work for my particular case, which is basically, if a Source exists
<br>for the original vtkDataObject in the *ForBlock() routines, call the<br>relevant Update's before performing the ShallowCopy<br><br>patch is as follows<br><br>Index: vtkCompositeDataPipeline.cxx<br>===================================================================
<br>RCS file: /cvsroot/VTK/VTK/Filtering/vtkCompositeDataPipeline.cxx,v<br>retrieving revision 1.34<br>diff -u -r1.34 vtkCompositeDataPipeline.cxx<br>--- vtkCompositeDataPipeline.cxx        7 Dec 2005 16:21:29 -0000       
1.34<br>+++ vtkCompositeDataPipeline.cxx        25 May 2006 19:48:48 -0000<br>@@ -35,6 +35,8 @@<br> #include "vtkStructuredGrid.h"<br> #include "vtkUniformGrid.h"<br><br>+#include "vtkSource.h"
<br>+<br> vtkCxxRevisionMacro(vtkCompositeDataPipeline, "$Revision: 1.34 $");<br> vtkStandardNewMacro(vtkCompositeDataPipeline);<br><br>@@ -46,6 +48,28 @@<br><br>vtkInformationKeyMacro(vtkCompositeDataPipeline,INPUT_REQUIRED_COMPOSITE_DATA_TYPE, String);
<br> vtkInformationKeyMacro(vtkCompositeDataPipeline,UPDATE_BLOCKS,<br>ObjectBase);<br><br>+class vtkCompositeDataPipelineToDataObjectFriendship<br>+{<br>+public:<br>+  static void UpdateDataObject(vtkDataObject* obj)<br>
+    {<br>+               if(obj->Source)<br>+               {<br>+                       obj->Source->Update();<br>+               }<br>+<br>+    }<br>+<br>+  static void UpdateInformation(vtkDataObject* obj)<br>
+    {<br>+               if(obj->Source)<br>+               {<br>+                       obj->Source->UpdateInformation();<br>+               }<br>+<br>+    }<br>+};<br>+<br> //----------------------------------------------------------------------------
<br> vtkCompositeDataPipeline::vtkCompositeDataPipeline()<br> {<br>@@ -490,6 +514,7 @@<br>         info->Get(vtkDataObject::DATA_OBJECT());<br>       if (dobj && dobjCopy)<br>         {<br>+<br>vtkCompositeDataPipelineToDataObjectFriendship::UpdateInformation(dobj);
<br>         dobjCopy->ShallowCopy(dobj);<br>         dobjCopy->CopyInformation(dobj);<br>         }<br>@@ -1089,6 +1114,7 @@<br><br>         if (dobj && dobjCopy)<br>           {<br>+<br>vtkCompositeDataPipelineToDataObjectFriendship::UpdateDataObject(dobj);
<br>           dobjCopy->ShallowCopy(dobj);<br>           }<br>         }<br><br><br>Is this really a bug, and is this an appropriate fix?<br>Or am I doing something wrong up the pipeline, such that I shouldn't<br>need to do this?
<br><br>Regards<br>Bill<br>--<br>Dr. William D. McGrory    AeroSoft, Inc.<br><a href="mailto:mcgrory@aerosft.com">mcgrory@aerosft.com</a>       Suite 1275<br>(540) 557-1904            1872 Pratt Drive<br>(540) 557-1919 (FAX)      Blacksburg, VA 24060
<br><br>_______________________________________________<br>vtk-developers mailing list<br><a href="mailto:vtk-developers@vtk.org">vtk-developers@vtk.org</a><br><a href="http://www.vtk.org/mailman/listinfo/vtk-developers">
http://www.vtk.org/mailman/listinfo/vtk-developers</a><br></blockquote></div><br>