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 +y is 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 βœ¨πŸ’–