# Bug when trying to normalize vtkQuaterniond

**URL:** <https://discourse.vtk.org/t/bug-when-trying-to-normalize-vtkquaterniond/13948>\
**Category:** Development\
**Tags:** code\
**Created:** [May 28, 2024, 6:29am UTC](https://discourse.vtk.org/t/bug-when-trying-to-normalize-vtkquaterniond/13948 "2024-05-28T06:29:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![JeffreyWardman](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jeffreywardman/32/7717_2.png) [@JeffreyWardman](https://discourse.vtk.org/u/JeffreyWardman)\
**Post date:** [May 28, 2024, 6:29am UTC](https://discourse.vtk.org/t/bug-when-trying-to-normalize-vtkquaterniond/13948/1 "2024-05-28T06:29:02Z")

</div>

Cannot seem to be ableto normalize a quaterniond:

```auto
    std::pair<double, std::array<double, 3>> QuaternionToAngleAxis(const vtkSmartPointer<vtkQuaterniond>& quaternion) {
    vtkQuaterniond normalizedQuaternion = quaternion->Normalized();
    // vtkQuaterniond normalizedQuaternion = (*quaternion).Normalized();
}

```

It gives this error:

```auto
vtk-9.3/vtkSmartPointer.h:191:43: error: invalid ‘static_cast’ from type ‘vtkObjectBase* const’ to type ‘vtkQuaterniond*’
  191 | T& operator*() const noexcept { return *static_cast<T*>(this->Object); }

```

---

<div class="post-metadata">

**Author:** ![JeffreyWardman](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jeffreywardman/32/7717_2.png) [@JeffreyWardman](https://discourse.vtk.org/u/JeffreyWardman)\
**Post date:** [May 29, 2024, 6:28am UTC](https://discourse.vtk.org/t/bug-when-trying-to-normalize-vtkquaterniond/13948/2 "2024-05-29T06:28:28Z")

</div>

Resolved. Was because of using wrapping the quaternion in a vtkSmartPointer.
