Zoomports: Additional GeoZui3D Windows


GeoZui3D has the capability to create additional 3D windows, besides the "Main Window" that appears when GeoZui3D first comes up. These additional 3D windows are called Zoom Windows or Zoomports. Anything that can be done inside the Main Window can be done inside a zoomport.

The first step in creating a zoomport is entering Zoomport creation mode either by selecting the "Zoom Window" item from the Tools Menu or pressing the 'z' key on the keyboard. The next step is selecting a starting position for the new zoomport. This is done by clicking the left mouse button on the desired location in an existing 3D window (either the Main Window or another zoomport). Once the left mouse button is clicked on an appropriate point, a new zoomport is created with its center of workspace on the selected location, zoomed by roughly a factor of 2. The window in which the mouse button was clicked becomes the new zoomport's parent window. If the left mouse button is clicked on the background (empty space) or the "Esc" key on the keyboard is pressed, zoomport creation mode is exited without creating a zoomport.

Each zoomport is visually linked to its parent by tethers and a zoomport proxy. The tethers link two corners of the zoomport to the position of its center of workspace in the parent window. This position is also the foundation for the zoomport proxy, which appears as a spotlight or camera. The proxy indicates the location of the "camera" for the zoomport by a yellow box on a yellow post. Two semi-transparent triangle emenate from the "camera" indicating the front portion of the zoomport's 3D view. Finally, a post with the letter "Z" on top pinpoints the location of the zoomport's center of workspace, even when the rest of the proxy is too small to be seen.

A zoomport proxy can be used to change the location of the associated zoomport. Using the first mouse button, one can click and drag the proxy over any surface in the parent window. Rotation and scale are unaffected by dragging.

Each zoomport lists its location and orientation information in its title bar. The position appears as UTM (x, y, z) coordinates, immediately after a plus sign ("+"). The heading (azimuth) and pitch (inverse elevation) appear in degrees, immediately after "H:" and "P:", respectively. Also attached to the title bar are several buttons for establishing contraints with the zoomport's parent window:

Set parent's position. Causes the parent's center of workspace to be at the same place as the zoomport's center of workspace.
Set parent's heading. Causes the parent to point in the same direction as the zoomport, but only with respect to heading.
Get parent's position. Causes the zoomport's center of workspace to be at the same place as the parent's center of workspace.
Get parent's heading. Causes the zoomport to point in the same direction as the parent, but only with respect to heading.
Lock to parent's position (absolute lock). Causes the zoomport's center of workspace to be at the same place as the parent's center of workspace. Any further change in the center of workspace of either the parent or zoomport updates the center of workspace of the other.
Lock to parent's heading (relative lock). Any changes (increments or decrements) in the heading of either the parent or zoomport are applied to the heading of the other.

Other types of locks are supported by the system, but no graphical interface exists to access them. They are currently only accessable through the scripting interface.