An exception would be quite unexpected, I think. std::none
would be None
in Python and an “engaged” (that is the standardese for it) std::optional
be a wrapped vtkVector3d
object.
std::optional
is an explicit acknowledgement that it can return “nothing”, so it is far less ambiguous than a T*
return type (where only the docs can help whether nullptr
is a sensible return value).