# Transform a vtkMRMLModelNode

**URL:** <https://discourse.slicer.org/t/transform-a-vtkmrmlmodelnode/8684>\
**Category:** Development\
**Created:** [October 5, 2019, 2:07pm UTC](https://discourse.slicer.org/t/transform-a-vtkmrmlmodelnode/8684 "2019-10-05T14:07:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![danial](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/danial/32/4888_2.png) [@danial](https://discourse.slicer.org/u/danial)\
**Post date:** [October 5, 2019, 2:07pm UTC](https://discourse.slicer.org/t/transform-a-vtkmrmlmodelnode/8684/1 "2019-10-05T14:07:48Z")

</div>

Operating system: macOS 10.14.6  
Slicer version: 4.10.2

Hello,

I want to set and apply a transformation on a vtkMRMLModelNode by its polyData. I did it like this :

```auto
> vtkSmartPointer<vtkPolyData> cylinder = vtkMRMLModelNode::SafeDownCast(node)->GetPolyData();
>
> / create transform filter
> vtkSmartPointer<vtkTransform> translation = vtkSmartPointer<vtkTransform>::New();
> translation->Translate(vectranslation[0], vectranslation[1], vectranslation[2]);
> 
> // apply filter on cylinder
> vtkSmartPointer<vtkTransformPolyDataFilter> transformFilter = vtkSmartPointer<vtkTransformPolyDataFilter>::New();
> transformFilter->SetInputData(m_cylinder);
> transformFilter->SetTransform(translation);
> transformFilter->Update();
> cylinder->ShallowCopy(transformFilter->GetOutput());

```

But it would not display the modifications in Slicer. Can you help me to do it, please ?

Thanks

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [October 5, 2019, 3:32pm UTC](https://discourse.slicer.org/t/transform-a-vtkmrmlmodelnode/8684/2 "2019-10-05T15:32:36Z")

</div>

Try calling `node->Modified()`.

Also as a general suggestion, I always prototype this kind of thing in the python console before doing it in C++. It’s much quicker and easier to learn how the nodes and viewers behave without needing to exit, recompile, and restart for each experiment.

---

<div class="post-metadata">

**Author:** ![danial](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/danial/32/4888_2.png) [@danial](https://discourse.slicer.org/u/danial)\
**Post date:** [October 5, 2019, 5:37pm UTC](https://discourse.slicer.org/t/transform-a-vtkmrmlmodelnode/8684/3 "2019-10-05T17:37:10Z")

</div>

You are right. It’s much quicker and easier.

Thank you.
