SOXTFLYVIEWER(3iv)
π« SoXtFlyViewer β the manual page, but make it make sense π«
okay bestie, gather round, because this is SoXtFlyViewer(3IV) β yes, section 3IV, the whole manual page, and I'm about to walk you through every single line of it like we're texting at 2am. no skips. no "you get the gist". we're doing all of it. π«Ά
β¨ NAME β¨
SoXtFlyViewer β a viewer component for flying through space, with a constant world up. it's giving spaceship cockpit, lowkey. π
π¦ INHERITS FROM π¦
the family tree is long and honestly kind of iconic:
SoXtComponent > SoXtGLWidget > SoXtRenderArea > SoXtViewer >
SoXtFullViewer > SoXtConstrainedViewer > SoXtFlyViewer
seven generations of ancestry. main character lineage fr fr. π
πΈ SYNOPSIS πΈ
first, the include. this is how you get her in your life:
#include <Inventor/Xt/viewers/SoXtFlyViewer.h>
π Methods from class SoXtFlyViewer
SoXtFlyViewer(Widget parent = NULL, const char *name =
NULL, SbBool buildInsideParent = TRUE,
SoXtFullViewer::BuildFlag flag = BUILD_ALL,
SoXtViewer::Type type = BROWSER)
~SoXtFlyViewer()
π Methods from class SoXtConstrainedViewer
void setUpDirection(const SbVec3f &newUpDirection)
SbVec3f getUpDirection()
π 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 π
Fly Viewer β bestie, this viewer is literally built to simulate flight through space, with a constant world up direction. it's not just a camera, it's a whole vibe. πΈ
the way it works: the viewer only constrains the camera enough to keep you from flying upside down. that's it. that's the whole leash.
and here's the iconic part β no mouse buttons need to be pressed in order to fly. the mouse position is used only for steering, while mouse clicks are used to increase or decrease the viewer speed. so you're just... floating, steering with your wrist, clicking to go zoom. obsessed. β¨
the viewer lets you tilt your head up/down/right/left and move in the direction you are looking (forward or backward). it also supports seek, to quickly move the camera to a desired object or point. π
π METHODS π
SoXtFlyViewer(Widget parent = NULL, const char *name =
NULL, SbBool buildInsideParent = TRUE,
SoXtFullViewer::BuildFlag flag = BUILD_ALL,
SoXtViewer::Type type = BROWSER)
~SoXtFlyViewer()
Constructor and destructor which specifies the viewer type. and ngl, if you want the whole lore on viewer types, please refer to the SoXtViewer reference page for a description of the viewer types. π
π RESOURCES π
the defaults, the whole menu, no cap:
*SoXtFlyViewer.decoration: on (on | off)*SoXtFlyViewer.seekAnimationTime: 2.0 (float)*SoXtFlyViewer.seekTo: point (point | object)*SoXtFlyViewer.seekDistanceUsage: percentage (percentage | absolute)*SoXtFlyViewer.zoomMin: 1.0 (float)*SoXtFlyViewer.zoomMax: 179.0 (float)*SoXtFlyViewer.autoClipping: on (on | off)*SoXtFlyViewer.nearDistance: 2.4 (float, when autoClipping is off)*SoXtFlyViewer.farDistance: 2.8 (float, when autoClipping is off)*SoXtFlyViewer*BackgroundColor: black (color name or hex value)
πΈ USAGE πΈ
the controls. memorize these, bestie, this is the whole flight manual:
- Left Mouse β Click to increase speed. ποΈ
<s>+ Left Mouse β Alternative to the Seek button. Press (but do not hold down) the<s>key, then click on a target object.<u>+ Left Mouse β Press (but do not hold down) the<u>key, then click on a target object to set the "up" direction to the surface normal. By default+yis the "up" direction.- Middle Mouse β Click to decrease speed.
- Left and Middle Mouse β Click boths simultaneously to stop.
- Ctrl β Hold the key down to temporary stop and rotate the viewpoint.
- Right Mouse β Open the popup menu.
π¨ tiny heads up: "boths" is exactly what the page says, I'm just the messenger, I do not make the rules π
π SEE ALSO π
your reading list, go be nosy:
SoXtFullViewer, SoXtViewer, SoXtComponent, SoXtRenderArea, SoXtWalkViewer, SoXtExaminerViewer, SoXtPlaneViewer
and that's the whole page, start to finish, not one option left behind. π¦
the footer of this page is just SoXtFlyViewer(3IV)() β no source, no version, no date, absolutely zero context, which is honestly the most mysterious thing on this entire manual page π
mwah, go fly around, you've got this β¨π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms