Step 1: Set up the figure.
Place the square with \(D = (0,0)\), \(C = (10,0)\), \(B = (10,10)\) and \(A = (0,10)\), so CD is the bottom side and AB is the top side, 10 units above CD. Since triangle OCD is isosceles with base CD, its apex O lies on the perpendicular bisector of CD, directly above the midpoint (5,0), at some height H above CD. Because OC and OD extended cross AB, O must lie above AB, so H is greater than 10.
Step 2: Identify triangle OPQ.
P and Q are the points where OD and OC cross line AB. Since PQ is parallel to CD (both horizontal lines), triangle OPQ is similar to triangle OCD, sharing the same apex O.
Step 3: Set up the altitude relationship.
Let x be the altitude from O to line AB, that is, the altitude of triangle OPQ. Then the altitude of the big triangle OCD, from O to CD, is \(x + 10\), since AB sits 10 units above CD.
Step 4: Use similarity to write both areas in terms of x.
By similar triangles, \(\dfrac{PQ}{CD} = \dfrac{x}{x+10}\), so \(PQ = \dfrac{10x}{x+10}\).
\[
\text{Area}(OCD) = \frac{1}{2}(10)(x+10) = 5(x+10)
\]
\[
\text{Area}(OPQ) = \frac{1}{2}\left(\frac{10x}{x+10}\right)(x) = \frac{5x^2}{x+10}
\]
Step 5: Use the trapezoid area to solve for x.
The trapezoid PQCD is the big triangle minus the small triangle:
\[
5(x+10) - \frac{5x^2}{x+10} = 80
\]
Multiply through by \((x+10)\):
\[
5(x+10)^2 - 5x^2 = 80(x+10)
\]
Since \((x+10)^2 - x^2 = 20x + 100\):
\[
5(20x+100) = 80(x+10)
\]
\[
100x + 500 = 80x + 800
\]
\[
20x = 300, \quad x = 15
\]
Final Answer:
The altitude from O of triangle OPQ is
\[ \boxed{15} \]