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