00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #if defined(_WIN32) && defined(_MSC_VER)
00025 # ifdef _WIN64
00026 # define PROC_ARCH processorArchitecture='amd64'
00027 # else
00028 # define PROC_ARCH processorArchitecture='x86'
00029 # endif
00030 # if (_MSC_VER == 1400 ) || (_MSC_VER == 1500 )
00031 # ifdef _WIN64
00032 # pragma comment(linker, "\"/manifestdependency:type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b'\"")
00033 # else
00034 # pragma comment(linker, "\"/manifestdependency:type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'\"")
00035 # endif
00036 # elif (_MSC_VER == 1500 )
00037 # ifdef _WIN64
00038 # pragma comment(linker, "\"/manifestdependency:type='win32' name='Microsoft.VC90.CRT' version='9.0.20404.44800' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b'\"")
00039 # else
00040 # pragma comment(linker, "\"/manifestdependency:type='win32' name='Microsoft.VC90.CRT' version='9.0.20404.44800' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'\"")
00041 # endif
00042 # endif
00043 #endif
00044
00045 #include <Inventor/sys/port.h>
00046 #include <Inventor/SbBasic.h>
00047 #include <Inventor/STL/map>
00048 #include <Inventor/events/SoKeyboardEvent.h>
00049 #include <Inventor/ViewerComponents/SoRenderAreaCore.h>
00050
00051 #if defined(_WIN32)
00052 # include <SoVersion.h>
00053 # if defined(_DEBUG)
00054 # define __IVTUNELIB "IvTuneD.lib"
00055 # define __IVTUNEDLL "IvTuneD.dll"
00056 # else
00057 # define __IVTUNELIB "IvTune.lib"
00058 # define __IVTUNEDLL "IvTune.dll"
00059 # endif
00060 # ifndef IvTune_EXPORTS
00061 # ifndef OIV_DISABLE_AUTOLINK
00062 # pragma comment(lib,__IVTUNELIB)
00063 # endif
00064 # endif
00065 #else
00066 # define __IVTUNEDLL "libIvTune"
00067 #endif
00068
00069 #include <Inventor/SoModule.h>
00070 SO_MODULE_HEADER(SoIvTune, __IVTUNEDLL)
00071
00072 #ifndef SoIvTune_included
00073 #define SoIvTune_included
00074
00075 #if defined(_WIN32)
00076 # pragma warning(disable:4251)
00077 #endif
00078
00079 class SoNode;
00080 class QWidget;
00081 class QStringList;
00082 class QString;
00083 class SbViewportRegion;
00084 class SbVec2s;
00085 class SoGuiRenderArea;
00086 class SoSceneManager;
00087
00141 class SoIvTune
00142 {
00143
00144 public:
00145
00151 static void start( const SoRenderAreaCore* );
00152
00159 static void start( SoNode* );
00160
00165 static void stop();
00166
00170 static bool isRunning();
00171
00180 static bool processEvents();
00181
00185 static void setShortcutValue(SoKeyboardEvent::Key);
00186
00190 static SoKeyboardEvent::Key getShortcutValue();
00191
00192 #if 1 SoDEPRECATED
00199 static void start( SoSceneManager* );
00200 #endif
00202 #if 1 SoDEPRECATED
00210 static void setInstance(int argc, char ** argv, SoNode * root, bool createViewer = false);
00211 SoDEPRECATED
00233 static void setInstance(int argc, char **argv, SoGuiRenderArea* viewer);
00234 SoDEPRECATED
00256 static void launch(int argc, char **argv, SoGuiRenderArea* viewer);
00257 SoDEPRECATED
00262 static SbBool isInstance();
00263
00264 #endif
00266 private:
00267
00268
00278 static void start( SoNode*, void* parentWindow );
00279
00283 static void setPickAction( const SbViewportRegion ®ion, SbVec2s mouseCoord );
00284
00288 static void setSceneGraph(SoNode* node);
00289
00290 #if 1 SoDEPRECATED
00301 static void start( SoSceneManager*, void* parentWindow );
00302 #endif
00304 #if 1
00306 //Offline mode
00307
00309 SoNONUNICODE SoIvTune(int argc, char **argv);
00310
00311
00313 SoIvTune( const QStringList* arguments );
00314
00315
00317 SoIvTune(int argc, char **argv, SoGuiRenderArea *viewer);
00318
00319 #endif
00321 ~SoIvTune();
00322 };
00323
00324 #endif //SoIvTune_included
00325
00326