1#ifndef NB_NAVIGATIONSYSTEM_H
2#define NB_NAVIGATIONSYSTEM_H
36#include <Inventor/SbName.h>
37#include <Inventor/SbVec3f.h>
39#include <NutsnBolts/Basic.h>
41class SbViewportRegion;
51#define NB_IDLER_SYSTEM "idler"
52#define NB_IDLER_IDLE_MODE "idler:idle"
54#define NB_EXAMINER_SYSTEM "examiner"
55#define NB_EXAMINER_IDLE_MODE "examiner:idle"
56#define NB_EXAMINER_ROTATE_MODE "examiner:rotate"
57#define NB_EXAMINER_WAITFORZOOM_MODE "examiner:wait_for_zoom"
58#define NB_EXAMINER_ZOOM_MODE "examiner:zoom"
59#define NB_EXAMINER_WAITFORPAN_MODE "examiner:wait_for_pan"
60#define NB_EXAMINER_PAN_MODE "examiner:pan"
61#define NB_EXAMINER_WAITFORCENTER_MODE "examiner:wait_for_center"
62#define NB_EXAMINER_CENTER_MODE "examiner:center"
65#define NB_PANNER_SYSTEM "panner"
66#define NB_PANNER_IDLE_MODE "panner:idle"
67#define NB_PANNER_PAN_MODE "panner:pan"
69#define NB_ZOOMER_SYSTEM "zoomer"
70#define NB_ZOOMER_IDLE_MODE "zoomer:idle"
71#define NB_ZOOMER_ZOOM_MODE "zoomer:zoom"
73#define NB_ROTATER_SYSTEM "rotater"
74#define NB_ROTATER_IDLE_MODE "rotater:idle"
75#define NB_ROTATER_ROTATE_MODE "rotater:rotate"
77#define NB_CENTERER_SYSTEM "centerer"
78#define NB_CENTERER_IDLE_MODE "centerer:idle"
79#define NB_CENTERER_CENTER_MODE "centerer:center"
81#define NB_PICKER_SYSTEM "picker"
82#define NB_PICKER_IDLE_MODE "picker:idle"
83#define NB_PICKER_PICK_MODE "picker:pick"
85#define NB_DEFAULT_SYSTEM NB_EXAMINER_SYSTEM
90class NbNavigationSystemP;
94 static void initClass(
void);
95 static void cleanClass(
void);
110 void addModeChangeCallback(NbNavigationModeChangeCB * cb,
void * closure);
111 void removeModeChangeCallback(NbNavigationModeChangeCB * cb,
void * closure);
113 void setSceneGraph(
SoNode * scenegraph);
114 void setCamera(SoCamera * camera);
115 void setViewport(
const SbViewportRegion & viewport);
118 void viewPart(SoPath * path,
const SbVec3f & in,
const SbVec3f & up);
119 void viewPart(
SoNode * node,
const SbVec3f & in,
const SbVec3f & up);
121 SbBool processEvent(
const SoEvent * event);
124 SbName getName(
void)
const;
126 SbName getCurrentModeName(
void)
const;
141 const SoEvent * trigger = NULL,
142 const SoEvent * condition = NULL);
147 const SoEvent * condition = NULL);
151 void invokeModeChangeCallbacks(
void);
154 NbNavigationSystemP * pimpl;
Definition NbNavigationControl.h:50
Abstract base class for implementing a navigation submode.
Definition NbNavigationMode.h:59
Class for managing user-based viewer navigation.
Definition NbNavigationSystem.h:92
TransitionType
Definition NbNavigationSystem.h:130
Extends the SoSceneManager class with more high-level viewer related functionality.
Definition NbSceneManager.h:44