Open sets and Poincaré's inequality

In many references, PoincarĂ© inequality is presented in the following way :

Let $\Omega\subset \mathbb R^d$ an open bounded set. We can find a constant $C$ which depend of $\Omega$ such that for all $u\in H^1_0(\Omega)$, we have $$\lVert u\rVert_{L^2}\leq C\lVert \nabla u\rVert_{(L^2(\Omega))^d}.$$

In fact it works if $\Omega$ is bounded in one direction. An other sufficient condition is that we can find $v\neq 0$ such that Lebesgue measure of $\left\lbrace\lambda\in\mathbb R,\lambda v\in \Omega\right\rbrace$ is finite).

My question, maybe a little vague, is the following: is there a "nice" necessary and sufficient condition on $\Omega$ to have PoincarĂ©'s inequality?

Cheeger showed that the Cheeger's constant $h(\Omega)$, which is the infimum of $V_{n-1}(\partial K)/V_n(K)$ over all compact sets $K \subset \Omega$ with nonempty interior and smooth boundary, gives a lower bound on $\lambda(\Omega)$ defined to be the infimum of $\|\nabla u\|_2/\|u\|_2$ over all compactly supported smooth functions $u$ on $\Omega$. – Deane Yang Jan 11 '12 at 11:06