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]: