Rigidly and flat-foldable quadrilateral mesh origami is the class of quadrilateral mesh crease patterns with one fundamental property: the patterns can be folded from flat to fully-folded flat by a continuous one-parameter family of piecewise affine deformations that do not stretch or bend the mesh-panels. In this work, we explicitly characterize the designs and deformations of all possible rigidly and flat-foldable quadrilateral mesh origami. Our key idea is a rigidity theorem (Theorem 3.1) that characterizes compatible crease patterns surrounding a single panel and enables us to march from panel to panel to compute the pattern and its corresponding deformations explicitly. The marching procedure is computationally efficient. So we use it to formulate the inverse problem: to design a crease pattern to achieve a targeted shape along the path of its rigidly and flat-foldable motion. The initial results on the inverse problem are promising and suggest a broadly useful engineering design strategy for shape-morphing with origami.