---
name: "SoXtPlaneViewer"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoXtPlaneViewer"
---

# SoXtPlaneViewer(3iv)

viewer component which moves the camera in a plane

## NAME

SoXtPlaneViewer — viewer component which moves the camera in a plane

## INHERITS FROM

SoXtComponent \> SoXtGLWidget \> SoXtRenderArea \> SoXtViewer \> SoXtFullViewer \> SoXtPlaneViewer

## SYNOPSIS

**#include \<Inventor/Xt/viewers/SoXtPlaneViewer.h\>**

Methods from class SoXtPlaneViewer:

	**SoXtPlaneViewer(Widget parent = NULL, const char \*name = NULL, SbBool buildInsideParent = TRUE, SoXtFullViewer::BuildFlag flag = BUILD\_ALL, SoXtViewer::Type type = BROWSER)**\
 	**~SoXtPlaneViewer()**

Methods from class SoXtFullViewer:

**void**	**setDecoration(SbBool onOrOff)**\
 **SbBool**	**isDecoration()**\
 **void**	**setPopupMenuEnabled(SbBool trueOrFalse)**\
 **SbBool**	**isPopupMenuEnabled()**\
 **Widget**	**getAppPushButtonParent() const**\
 **void**	**addAppPushButton(Widget newButton)**\
 **void**	**insertAppPushButton(Widget newButton, int index)**\
 **void**	**removeAppPushButton(Widget oldButton)**\
 **int**	**findAppPushButton(Widget oldButton)**\
 **int**	**lengthAppPushButton()**\
 **Widget**	**getRenderAreaWidget()**

Methods from class SoXtViewer:

**virtual void**	**setCamera(SoCamera \*cam)**\
 **SoCamera \***	**getCamera()**\
 **virtual void**	**setCameraType(SoType type)**\
 **SoType**	**getCameraType()**\
 **virtual void**	**viewAll()**\
 **virtual void**	**saveHomePosition()**\
 **virtual void**	**resetToHomePosition()**\
 **virtual void**	**setHeadlight(SbBool onOrOff)**\
 **SbBool**	**isHeadlight()**\
 **SoDirectionalLight \***	**getHeadlight()**\
 **virtual void**	**setDrawStyle(SoXtViewer::DrawType type, SoXtViewer::DrawStyle style)**\
 **SoXtViewer::DrawStyle**	**getDrawStyle(SoXtViewer::DrawType type)**\
 **virtual void**	**setBufferingType(SoXtViewer::BufferType type)**\
 **SoXtViewer::BufferType**	**getBufferingType()**\
 **virtual void**	**setViewing(SbBool onOrOff)**\
 **SbBool**	**isViewing() const**\
 **virtual void**	**setCursorEnabled(SbBool onOrOff)**\
 **SbBool**	**isCursorEnabled() const**\
 **void**	**setAutoClipping(SbBool onOrOff)**\
 **SbBool**	**isAutoClipping() const**\
 **virtual void**	**setStereoViewing(SbBool onOrOff)**\
 **virtual SbBool**	**isStereoViewing()**\
 **void**	**setStereoOffset(float dist)**\
 **float**	**getStereoOffset()**\
 **void**	**setDetailSeek(SbBool onOrOff)**\
 **SbBool**	**isDetailSeek()**\
 **void**	**setSeekTime(float seconds)**\
 **float**	**getSeekTime()**\
 **void**	**addStartCallback(SoXtViewerCB \*f, void \*userData = NULL)**\
 **void**	**addFinishCallback(SoXtViewerCB \*f, void \*userData = NULL)**\
 **void**	**removeStartCallback(SoXtViewerCB \*f, void \*userData = NULL)**\
 **void**	**removeFinishCallback(SoXtViewerCB \*f, void \*userData = NULL)**\
 **void**	**copyView(Time eventTime)**\
 **void**	**pasteView(Time eventTime)**\
 **virtual void**	**recomputeSceneSize()**

Methods from class SoXtRenderArea:

**virtual void**	**setSceneGraph(SoNode \*newScene)**\
 **virtual SoNode \***	**getSceneGraph()**\
 **void**	**setOverlaySceneGraph(SoNode \*newScene)**\
 **SoNode \***	**getOverlaySceneGraph()**\
 **void**	**registerDevice(SoXtDevice \*)**\
 **void**	**unregisterDevice(SoXtDevice \*)**\
 **void**	**setBackgroundColor(const SbColor &c)**\
 **const SbColor &**	**getBackgroundColor() const**\
 **void**	**setBackgroundIndex(int index)**\
 **int**	**getBackgroundIndex() const**\
 **void**	**setOverlayBackgroundIndex(int index)**\
 **int**	**getOverlayBackgroundIndex() const**\
 **void**	**setColorMap(int startIndex, int num, const SbColor \*colors)**\
 **void**	**setOverlayColorMap(int startIndex, int num, const SbColor \*colors)**\
 **void**	**setViewportRegion(const SbViewportRegion &newRegion)**\
 **const SbViewportRegion &**	**getViewportRegion() const**\
 **void**	**setTransparencyType(SoGLRenderAction::TransparencyType type)**\
 **SoGLRenderAction::TransparencyType**\
 	**getTransparencyType() const**\
 **void**	**setAntialiasing(SbBool smoothing, int numPasses)**\
 **void**	**getAntialiasing(SbBool &smoothing, int &numPasses) const**\
 **void**	**setClearBeforeRender(SbBool trueOrFalse)**\
 **SbBool**	**isClearBeforeRender() const**\
 **void**	**setClearBeforeOverlayRender(SbBool trueOrFalse)**\
 **SbBool**	**isClearBeforeOverlayRender() const**\
 **void**	**setAutoRedraw(SbBool trueOrFalse)**\
 **SbBool**	**isAutoRedraw() const**\
 **void**	**setRedrawPriority(uint32\_t priority)**\
 **uint32\_t**	**getRedrawPriority() const**\
 **static uint32\_t**	**getDefaultRedrawPriority()**\
 **void**	**render()**\
 **void**	**renderOverlay()**\
 **void**	**scheduleRedraw()**\
 **void**	**scheduleOverlayRedraw()**\
 **void**	**redrawOnSelectionChange(SoSelection \*s)**\
 **void**	**redrawOverlayOnSelectionChange(SoSelection \*s)**\
 **void**	**setEventCallback(SoXtRenderAreaEventCB \*fcn, void \*userData = NULL)**\
 **void**	**setGLRenderAction(SoGLRenderAction \*ra)**\
 **SoGLRenderAction \***	**getGLRenderAction() const**\
 **void**	**setOverlayGLRenderAction(SoGLRenderAction \*ra)**\
 **SoGLRenderAction \***	**getOverlayGLRenderAction() const**\
 **void**	**setSceneManager(SoSceneManager \*sm)**\
 **SoSceneManager \***	**getSceneManager() const**\
 **void**	**setOverlaySceneManager(SoSceneManager \*sm)**\
 **SoSceneManager \***	**getOverlaySceneManager() const**

Methods from class SoXtGLWidget:

**void**	**setBorder(SbBool onOrOff)**\
 **SbBool**	**isBorder() const**\
 **virtual void**	**setDoubleBuffer(SbBool onOrOff)**\
 **SbBool**	**isDoubleBuffer()**\
 **Window**	**getNormalWindow()**\
 **Window**	**getOverlayWindow()**\
 **GLXContext**	**getNormalContext()**\
 **GLXContext**	**getOverlayContext()**\
 **Widget**	**getNormalWidget()**\
 **Widget**	**getOverlayWidget()**\
 **virtual void**	**setNormalVisual(XVisualInfo \*vis)**\
 **XVisualInfo \***	**getNormalVisual()**\
 **virtual void**	**setOverlayVisual(XVisualInfo \*vis)**\
 **XVisualInfo \***	**getOverlayVisual()**\
 **void**	**setDrawToFrontBufferEnable(SbBool enableFlag)**\
 **SbBool**	**isDrawToFrontBufferEnable() const**

Methods from class SoXtComponent:

**virtual void**	**show()**\
 **virtual void**	**hide()**\
 **SbBool**	**isVisible()**\
 **Widget**	**getWidget() const**\
 **SbBool**	**isTopLevelShell() const**\
 **Widget**	**getShellWidget() const**\
 **Widget**	**getParentWidget() const**\
 **void**	**setSize(const SbVec2s &size)**\
 **SbVec2s**	**getSize()**\
 **Display \***	**getDisplay()**\
 **void**	**setTitle(const char \*newTitle)**\
 **const char \***	**getTitle() const**\
 **void**	**setIconTitle(const char \*newIconTitle)**\
 **const char \***	**getIconTitle() const**\
 **void**	**setWindowCloseCallback(SoXtComponentCB \*func, void \*data = NULL)**\
 **static SoXtComponent \***	**getComponent(Widget w)**\
 **const char \***	**getWidgetName() const**\
 **const char \***	**getClassName() const**

## DESCRIPTION

**The Plane viewer component allows the user to translate the camera in the viewing plane, as well as dolly (move foward/backward) and zoom in and out. The viewer also allows the user to roll the camera (rotate** **around the forward direction) and seek to objects which will specify a new viewing plane. This viewer could be used for modeling, in drafting, and architectural work. The camera can be aligned to the** **X, Y or Z axes.**

## METHODS

	**SoXtPlaneViewer(Widget parent = NULL, const char \*name = NULL, SbBool buildInsideParent = TRUE, SoXtFullViewer::BuildFlag flag = BUILD\_ALL, SoXtViewer::Type type = BROWSER)**\
 	**~SoXtPlaneViewer()**\
 Constructor and destructor which specifies the viewer type. Please refer to the **SoXtViewer** man pages for a description of the viewer types.

## RESOURCES

```
*SoXtPlaneViewer.decoration: on (on | off)
*SoXtPlaneViewer.seekAnimationTime: 2.0 (float)
*SoXtPlaneViewer.seekTo: point (point | object)
*SoXtPlaneViewer.seekDistanceUsage: percentage (percentage | absolute)
*SoXtPlaneViewer.zoomMin: 1.0 (float)
*SoXtPlaneViewer.zoomMax: 179.0 (float)
*SoXtPlaneViewer.autoClipping: on (on | off)
*SoXtPlaneViewer.nearDistance: 2.4 (float, when autoClipping is off)
*SoXtPlaneViewer.farDistance: 2.8 (float, when autoClipping is off)
*SoXtPlaneViewer*BackgroundColor: black (color name or hex value)
```

## USAGE

```
Left Mouse:
Left + Middle Mouse: Dolly in and out (gets closer to and further
away from the object).

Middle Mouse:
Ctrl + Left Mouse: Translate up, down, left and right.

Ctrl + Middle Mouse: Used for roll action (rotates around the viewer
forward direction).

<s> + click: Alternative to the Seek button. Press (but do not
hold down) the <s> key, then click on a target object.

Right Mouse: Open the popup menu.
```

## SEE ALSO

**SoXtFullViewer, SoXtViewer, SoXtComponent, SoXtRenderArea, SoXtWalkViewer, SoXtExaminerViewer, SoXtFlyViewer**
