Axis Triad and NavCube


Both the NavCube and the Axis Triad are prebuilt tools that help with scene navigation that are drawn in an Overlay. For more info on overlays, see the Overlays Programming Guide and the Overlay Sample in the applications\client\examples directory.

Axis Triad

The Axis Triad is a visualization of the X, Y and Z axis orientation. The axis geometry is drawn in an overlay. Selecting an axis will rotate the scene to orient it along the selected axis. This is controlled by the Axis Triad operator.

NavCube

The NavCube is a visualization of the scene orientation. The cube geometry is drawn in an overlay. The NavCube is divided into sections that highlight as the mouse hovers over. Selecting the NavCube will rotate the scene to orient it along with a specified view corresponding to the selected section. This is controlled by the NavCube operator.

By default, the model up vector is preserved when navigating with the NavCube. The result is that the NavCube will remain upright at all times. You can change this behavior by passing false to setPreserveModelUp(). The result is that the NavCube will roll over smoothly and ignore the model up vector.

Modifying the Axis Triad

The AxisTriad class provides an interface to enable / disable, set the anchor position, and change the axis colors for the axis triad. For example, the following snippet changes the axis triad X axis to yellow, and positions the axis triad in the center of the screen.

const axisTriad = hwv.view.getAxisTriad()
axisTriad.setAxisColor(Communicator.Axis.X, Communicator.Color.yellow())
axisTriad.setAnchor(Communicator.OverlayAnchor.Center)

Modifying the NavCube

The NavCube class provides an interface to enable / disable, and set the anchor position of the NavCube. For example, the following snippet positions the axis triad in the center of the screen.

const navCube = hwv.view.getNavCube()
navCube.setAnchor(Communicator.OverlayAnchor.Center)

top_level:2 prog_guide:0 viewing:1