Let P be a polyhedron with a set of edges E.
For an edge e
E, define a bar magnet
as a mapping of e to either (N, S) or (S, N),
which assigns the endpoints of e opposite poles of
a magnet (and corresponds to directing the edge).
Call a vertex v of P to be alternating
under mappings of its edges to bar magnets if
the incident edges assigns alternating magnetic poles
to v in the cyclic order of those edges
on the surface around v:
(N, S, N, S,...). Thus if deg(v) is even,
the poles alternate, and if deg(v) is odd, at most two
like poles are adjacent in the circular sequence.
Finally, call a polyhedron a bar-magnet polyhedron
if there is a bar-magnet assignment of each of its
edges so that each of its vertices is alternating.
A clean characterization was provided by Bojan Mohar, who proved [Moh04]: