  The visibility graph of a simple polygon represents visibility relations
between its vertices. Knowing the correct order of the vertices around the
boundary of a polygon and its visibility graph, it is an open problem to locate
the vertices in a plane in such a way that it will be consistent with this
visibility graph. This problem has been solved for special cases when we know
that the target polygon is a {\it tower} or a {\it spiral}. Knowing that a
given visibility graph belongs to a simple polygon with at most three concave
chains on its boundary, a {\it pseuodo-triangle}, we propose a linear time
algorithm for reconstructing one of its corresponding polygons. Moreover, we
introduce a set of necessary and sufficient properties for characterizing
visibility graphs of pseudo-triangles and propose polynomial algorithms for
checking these properties.
