void JunctionRef::preferOrthogonalDimension(const size_t dim) { const double smallPenalty = 1.0; for (ShapeConnectionPinSet::iterator curr = m_connection_pins.begin(); curr != m_connection_pins.end(); ++curr) { ShapeConnectionPin *pin = *curr; if (dim == YDIM) { if (pin->directions() & (ConnDirLeft | ConnDirRight)) { pin->setConnectionCost(smallPenalty); } } else if (dim == XDIM) { if (pin->directions() & (ConnDirUp | ConnDirDown)) { pin->setConnectionCost(smallPenalty); } } } }