boolean contains(float inX, float inY) {
        float frontFace;
        if (face == FACE_CURVY) frontFace = 2;
        else frontFace = 1;

        if (orientation == Orientation.X) {
            return (inY >= y0 - frontFace && inY <= y0 + 1
                    && inX > x0 && inX < x0 + 2 + spineLength);
        } else {
            return (inX <= x0 + frontFace && inX >= x0 - 1
                    && inY > y0 && inY < y0 + 2 + spineLength);
        }
    }