Define a cone of $\mathbb{R}^n$ as a set that can be written as the union the positive spans of vectors (we will call them positive rays) in $\mathbb{R}^n$. By positive span of a vector $\mathbf{x}$ I mean the set $\{a\mathbf{x} | a\geq 0\}$
Define a radial-function as one that can be written as a function of the length of a vector (i.e. $f$ is a radial function if there is some $g$ such that $f(\mathbb{x}) = g(||\mathbb{x}||)$ )
Then let $P$ be a partition of $\mathbb{R}^n$ into cones. It is easy to see that if the restriction of $f$ to every element of $P$ is a radial function and the one dimensional function that $f$ reduces to satisfies the one dimensional version of the problem, and moreover the images of the elements of $P$ do not intersect, then $f$ satisfies the condition.
The converse is maybe a bit more tricky to see, it entails constructing the partition from a given function that satisfies the condition.
Given a function $f$ that satisfies the condition in question, then define a relation $\sim$ on the set of all positive rays of $\mathbb{R}^n$ (call this set S), as follows: (we Identify every positive ray with the unit vector that positive spans that ray)
$ \mathbf{a} \sim \mathbf{b} \iff f(\mathbf{a}) = f(\mathbf{b}) $
Then $\sim$ is an equivalence relation, and the partition we are looking for is the partition induced by $\sim$. It is clear that the restriction of $f$ to some element of this partition is a radial function, and I leave it to you to check the intersections of the images.
Then finally you can add back the continuity condition.
This may not be as nice of a classification as you were looking for, but I don't think the solution set permits a much nicer classification.