SOXTWALKVIEWER(3iv)
β¨ NAME β¨
SoXtWalkViewer β a viewer component that moves the camera around in a plane π
π¦ INHERITS FROM π¦
SoXtComponent > SoXtGLWidget > SoXtRenderArea > SoXtViewer > SoXtFullViewer > SoXtConstrainedViewer > SoXtWalkViewer
like. it's giving generational heirloom, bestie. every single one of these came before it and it inherited the whole personality π
π SYNOPSIS π
okay so first you gotta pull it in:
#include <Inventor/Xt/viewers/SoXtWalkViewer.h>
πΈ Methods from class SoXtWalkViewer
SoXtWalkViewer(Widget parent = NULL, const char *name = NULL, SbBool buildInsideParent = TRUE, SoXtFullViewer::BuildFlag flag = BUILD_ALL, SoXtViewer::Type type = BROWSER)
~SoXtWalkViewer()
πΈ 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 π
the whole paradigm here is a walkthrough of an architectural model. like you're literally strolling through a building, bestie πΆββοΈβ¨
its primary behavior is forward, backward, and left/right turning motion while keeping a constant "eye level". so no floating off into the void, no cap.
it is also possible to stop and look around at the scene. like, pause. take it in. main character energy π
the eye level plane can be disabled, which lets the viewer proceed in the "look at" direction, as if on an escalator. yes fr, escalator mode.
the eye level plane can also be translated up and down β similar to an elevator. so you got escalator vibes and elevator vibes. iconic.
π§ METHODS π§
SoXtWalkViewer
SoXtWalkViewer(Widget parent = NULL, const char *name = NULL, SbBool buildInsideParent = TRUE, SoXtFullViewer::BuildFlag flag = BUILD_ALL, SoXtViewer::Type type = BROWSER)
~SoXtWalkViewer()
Constructor and destructor which specifies the viewer type. pls go read the SoXtViewer man pages for a description of the viewer types, bestie, that's where the lore lives π
π RESOURCES π
*SoXtWalkViewer.decoration:on(on|off)*SoXtWalkViewer.seekAnimationTime:2.0(float)*SoXtWalkViewer.seekTo:point(point|object)*SoXtWalkViewer.seekDistanceUsage:percentage(percentage|absolute)*SoXtWalkViewer.zoomMin:1.0(float)*SoXtWalkViewer.zoomMax:179.0(float)*SoXtWalkViewer.autoClipping:on(on|off)*SoXtWalkViewer.nearDistance:2.4(float, whenautoClippingis off)*SoXtWalkViewer.farDistance:2.8(float, whenautoClippingis off)*SoXtWalkViewer*BackgroundColor:black(color name or hex value)
π«Ά USAGE π«Ά
Left Mouse: walk mode. Click down and move up/down for fowards/backwards motion. Move right and left for turning. Speed increases exponentially with the distance from the mouse-down origin. so the further you drag, the faster you go β it's giving zoomies π
Middle Mouse β or
Ctrl + Left Mouse: Translate up, down, left and right.
Ctrl + Middle Mouse: tilt the camera up/down and right/left. This allows you to look around while stopped. lowkey the best part, ngl π
<s> + click: Alternative to the Seek button. Press (but do not hold down) the <s> key, then click on a target object.
<u> + click: 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.
β οΈ note the emphasis bestie: press but do NOT hold down those keys. tap it, don't cling to it π
Right Mouse: Open the popup menu.
β SEE ALSO β
SoXtFullViewer, SoXtViewer, SoXtComponent, SoXtRenderArea, SoXtPlaneViewer, SoXtExaminerViewer, SoXtFlyViewer
and that's the whole page, bestie π this was SoXtWalkViewer(3IV) β SoXtWalkViewer(3IV)() if you wanna be formal about it β go forth and walk around your architecture, slay πβ¨
π¦ 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