<div dir="ltr">Wow, This works like a magic ! <div><br></div><div>Thank you very much for the solution and sorry for my delay in updating about the problem I mentioned.</div><div><br></div><div>Chiranjib</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 17, 2015 at 5:54 PM, Utkarsh Ayachit <span dir="ltr"><<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You're missing a call to `transformModel->Update()` before calling<br>
`transformModel->GetOutput()`. The filter never updated, and hence its<br>
output is empty.<br>
<br>
Utkarsh<br>
<div><div class="h5"><br>
On Fri, Apr 17, 2015 at 6:34 AM, Chiranjib Sur <<a href="mailto:sur.chiranjib@gmail.com">sur.chiranjib@gmail.com</a>> wrote:<br>
> Hi All,<br>
> I want to apply the tranform filter while I create an object in paraview. TO<br>
> try with I have overloaded vtkCubeSource class and can create the object<br>
> which appears in the paraview pipeline and I can visualize the object in the<br>
> PV window.<br>
><br>
> Now I want to apply the transformation filter (vtkTransform) to the objct<br>
> when I create it. To do that I have overloaded the RequestData function like<br>
> the following.<br>
><br>
> The code is compiling and executing but when I create the object and apply<br>
> transform, nothing is appearing in the PV visualization window.<br>
><br>
> Can anybody help me pointing out what is going wrong with my implementation.<br>
><br>
> I cam copying my code below<br>
><br>
> Thanks,<br>
> Chiranjib<br>
><br>
><br>
> ------<br>
><br>
><br>
><br>
> int MyOwnCubeSource::RequestData( vtkInformation *vtkNotUsed(request),<br>
><br>
>                      vtkInformationVector **vtkNotUsed(inputVector),<br>
><br>
>                      vtkInformationVector *outputVector)<br>
><br>
> {<br>
><br>
>   // get the info object<br>
><br>
>   vtkInformation *outInfo = outputVector->GetInformationObject(0);<br>
><br>
><br>
><br>
>   // get the ouptut<br>
><br>
>   vtkPolyData *output = vtkPolyData::SafeDownCast(<br>
><br>
>     outInfo->Get(vtkDataObject::DATA_OBJECT()));<br>
><br>
> ....<br>
><br>
> ....<br>
><br>
><br>
><br>
> // output (type vtkPolyData) is already ready at this stage<br>
><br>
><br>
><br>
> // If I don’t appy transform operation afterwards, I can visualize the<br>
> object in the PV pipeline<br>
><br>
><br>
><br>
><br>
><br>
> // -----------------------------------------------//<br>
><br>
><br>
><br>
> // Implementation of vtkTransform starts here<br>
><br>
><br>
><br>
>     double _rotationZ = 30.0;<br>
><br>
><br>
><br>
> // Define transform<br>
><br>
>     vtkSmartPointer<vtkTransform> transform =<br>
> vtkSmartPointer<vtkTransform>::New();<br>
><br>
><br>
><br>
>     // Define transformModel : transform filter<br>
><br>
>     vtkSmartPointer<vtkTransformFilter> transformModel =<br>
> vtkSmartPointer<vtkTransformFilter>::New();<br>
><br>
>     transformModel->SetTransform(transform);<br>
><br>
><br>
><br>
>     //Decoupling the pipeline and asking the transformfilter to update the<br>
> newpipeline (created out of shallowcopy)<br>
><br>
>     vtkNew<vtkPolyData> cubeCopy;<br>
><br>
>     cubeCopy->ShallowCopy(output);<br>
><br>
>     transformModel->SetInputData(cubeCopy.GetPointer());<br>
><br>
><br>
><br>
>     // Describe all the transform operations<br>
><br>
>      transform->PostMultiply();<br>
><br>
>      transform->RotateZ(10*_rotationZ);<br>
><br>
>      transform->Update();<br>
><br>
><br>
><br>
>      // getting the transformed output<br>
><br>
>      vtkSmartPointer<vtkDataSet> transformedOutput =<br>
> transformModel->GetOutput();<br>
><br>
><br>
><br>
>      // Shallowcopy the transformed output to the old pipeline<br>
><br>
><br>
><br>
>     output->ShallowCopy(transformedOutput);<br>
><br>
><br>
><br>
> // A this stage "output" should be updated and the visualization pipeline<br>
> should show the transformed object<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Search the list archives at:<br>
> <a href="http://markmail.org/search/?q=Paraview-developers" target="_blank">http://markmail.org/search/?q=Paraview-developers</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">http://public.kitware.com/mailman/listinfo/paraview-developers</a><br>
><br>
</blockquote></div><br></div>