Changeset 1151


Ignore:
Timestamp:
07/25/06 18:20:07 (18 years ago)
Author:
mattausch
Message:

worded on dll loading

Location:
GTP/trunk/Lib/Vis
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreVisibilitySceneManagerDll.cpp

    r971 r1151  
    2525 
    2626//#include <OgreVisibilityTerrainSceneManager.h> 
    27 //#include <OgreVisibilityOctreeSceneManager.h> 
    2827#include <OgreOcclusionCullingSceneManager.h> 
    2928 
     
    4039namespace Ogre { 
    4140 
    42 //VisibilityOctreeSceneManagerFactory *visibilityOctreePlugin; 
    4341//VisibilityTerrainSceneManagerFactory *visibilityTerrainPlugin; 
    4442OcclusionCullingSceneManagerFactory *occlusionCullingPlugin; 
     
    5250 
    5351        // Create new scene manager 
    54         //visibilityOctreePlugin = new VisibilityOctreeSceneManagerFactory(visManager); 
    5552        //visibilityTerrainPlugin = new VisibilityTerrainSceneManagerFactory(visManager); 
    5653        occlusionCullingPlugin = new OcclusionCullingSceneManagerFactory(visManager); 
     
    5956 
    6057        // Register 
    61         //Root::getSingleton().addSceneManagerFactory(visibilityOctreePlugin); 
    6258        //Root::getSingleton().addSceneManagerFactory(visibilityTerrainPlugin); 
    6359        Root::getSingleton().addSceneManagerFactory(occlusionCullingPlugin); 
     
    6662extern "C" void __declspec(dllexport) dllShutdownPlugin() 
    6763{ 
    68         //Root::getSingleton().removeSceneManagerFactory(visibilityOctreePlugin); 
    6964        //Root::getSingleton().removeSceneManagerFactory(visibilityTerrainPlugin); 
    7065        Root::getSingleton().removeSceneManagerFactory(occlusionCullingPlugin); 
     
    7772        //delete heightmapTerrainPageSource; 
    7873 
    79         // (HACK: crashes on delete!!!! FIX this  
    80         //delete visibilityOctreePlugin; 
    81     //delete visibilityTerrainPlugin; 
     74        // BUG: crashes on delete!!!! FIX this  
     75 
     76        //delete visibilityTerrainPlugin; 
    8277        delete occlusionCullingPlugin; 
    8378 
  • GTP/trunk/Lib/Vis/Preprocessing/src/GlRenderer.h

    r1146 r1151  
    7878 
    7979public: 
    80   ObjectContainer mObjects; 
    81     
    82   Vector3 mViewPoint; 
    83   Vector3 mViewDirection; 
    84  
    85   int timerId; 
    86   bool mUseFalseColors; 
    87   bool mUseForcedColors; 
    88  
    89   HaltonSequence halton; 
    90    
    91   int mFrame; 
    92   bool mWireFrame; 
    93    
    94   bool mDetectEmptyViewSpace; 
    95   bool mSnapErrorFrames; 
    96  
    97   bool mUseGlLists; 
    98    
    99   string mSnapPrefix; 
    100  
    101   KdTree *mKdTree; 
    102  
    103   //QWaitCondition mRenderingFinished; 
    104    
    105   vector<OcclusionQuery *> mOcclusionQueries; 
    106    
     80 
    10781  GlRenderer(SceneGraph *sceneGraph, 
    10882                         ViewCellsManager *viewcells, 
    10983                         KdTree *tree); 
    11084   
     85  GlRenderer() {} 
     86 
    11187  virtual ~GlRenderer(); 
    11288 
     
    140116 
    141117  int GetId(int r, int g, int b) const; 
     118 
     119  inline const bool GetSnapErrorFrames() { return mSnapErrorFrames; } 
     120  inline const string GetSnapPrefix() { return mSnapPrefix; } 
     121 
     122  inline void SetSnapErrorFrames(bool snapframes) { mSnapErrorFrames = snapframes; } 
     123  inline void SetSnapPrefix(const string &pref) { mSnapPrefix = pref; } 
     124 
     125protected: 
     126 
     127 
     128  vector<OcclusionQuery *> mOcclusionQueries; 
     129 
     130  ObjectContainer mObjects; 
     131    
     132  Vector3 mViewPoint; 
     133  Vector3 mViewDirection; 
     134 
     135  int timerId; 
     136  bool mUseFalseColors; 
     137  bool mUseForcedColors; 
     138 
     139  HaltonSequence halton; 
     140   
     141  int mFrame; 
     142  bool mWireFrame; 
     143   
     144  bool mDetectEmptyViewSpace; 
     145  bool mSnapErrorFrames; 
     146 
     147  bool mUseGlLists; 
     148   
     149  string mSnapPrefix; 
     150 
     151  KdTree *mKdTree; 
     152 
    142153}; 
    143154 
     
    147158{ 
    148159 
    149 //Q_OBJECT 
    150160public: 
     161 
    151162GlRendererBuffer(SceneGraph *sceneGraph, 
    152163                                 ViewCellsManager *viewcells, 
     
    259270/** Abstract class for implmenenting a gl render widget. 
    260271*/ 
    261 class GlRenderWidget 
     272class GlRendererWidget: public GlRenderer 
    262273{ 
    263274public: 
    264275         
    265         GlRenderWidget(SceneGraph *sceneGraph, ViewCellsManager *vcm, KdTree *kdTree): 
    266           mSceneGraph(sceneGraph), mViewCellsManager(vcm), mKdTree(kdTree) 
    267         { 
    268         } 
    269  
    270          
    271         GlRenderWidget() {} 
    272  
    273     virtual ~GlRenderWidget() {} 
     276        GlRendererWidget(SceneGraph *sceneGraph, ViewCellsManager *vcm, KdTree *kdTree): 
     277          GlRenderer(sceneGraph, vcm, kdTree) 
     278        {} 
     279 
     280    GlRendererWidget() {} 
     281 
     282    virtual ~GlRendererWidget() {} 
    274283 
    275284        //virtual void Create() {} 
     
    285294}; 
    286295 
     296//extern GlRendererWidget *rendererWidget; 
     297 
    287298}; 
    288299 
  • GTP/trunk/Lib/Vis/Preprocessing/src/RssPreprocessor.cpp

    r1150 r1151  
    841841                sprintf(buf, "snap/i-%02d-", mPass); 
    842842 
    843                 renderer->mSnapPrefix = buf; 
     843                renderer->SetSnapPrefix(buf); 
    844844          } 
    845845          else 
     
    847847                sprintf(buf, "snap/r-%02d-", mPass); 
    848848 
    849                 renderer->mSnapPrefix = buf; 
     849                renderer->SetSnapPrefix(buf); 
    850850          } 
    851851 
    852           renderer->mSnapErrorFrames = true; 
     852          renderer->SetSnapErrorFrames(true); 
    853853        } 
    854854 
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp

    r1148 r1151  
    12891289        sort(mViewCells.begin(), mViewCells.end(), ViewCell::SmallerPvs); 
    12901290 
    1291         int start = mViewCells.size() * minValid; 
    1292         int end = mViewCells.size() * maxValid; 
    1293  
    1294         for (int i = 0; i < mViewCells.size(); ++ i) 
     1291        int start = (int)(mViewCells.size() * minValid); 
     1292        int end = (int)(mViewCells.size() * maxValid); 
     1293 
     1294        for (int i = 0; i < (int)mViewCells.size(); ++ i) 
    12951295        { 
    12961296                mViewCells[i]->SetValid(i >= start && i <= end); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/main.cpp

    r1146 r1151  
     1#include <windows.h> 
     2#include <stdio.h> 
     3#include <crtdbg.h> 
     4 
    15#include "SamplingPreprocessor.h" 
    26#include "VssPreprocessor.h" 
     
    1923#define USE_EXE_PATH false 
    2024 
    21 #include <crtdbg.h> 
    2225 
    2326using namespace GtpVisibilityPreprocessor; 
    2427 
    2528Preprocessor *preprocessor = NULL; 
    26 GlRenderWidget *renderWidget = NULL; 
     29GlRendererWidget *rendererWidget = NULL; 
     30 
     31// DLL function signature 
     32typedef GlRendererWidget *(*importFunction)(); 
     33 
     34int LoadMyDll() 
     35{ 
     36        importFunction LoadRenderWidget; 
     37         
     38    // Load DLL file 
     39        HINSTANCE hinstLib = LoadLibrary("QtRenderer.dll"); 
     40         
     41        if (hinstLib == NULL)  
     42        { 
     43                cout << "ERROR: unable to load DLL\n"; 
     44                return 1; 
     45        } 
     46 
     47        // Get function pointer 
     48    LoadRenderWidget = (importFunction)GetProcAddress(hinstLib, "LoadRenderWidget"); 
     49         
     50        if (LoadRenderWidget == NULL)  
     51        { 
     52                cout << "ERROR: unable to find DLL function\n"; 
     53                return 1; 
     54        } 
     55 
     56        // load the render window 
     57    rendererWidget = LoadRenderWidget(); 
     58 
     59        return 0; 
     60} 
     61 
    2762 
    2863 
    2964void Cleanup() 
    3065{ 
    31         DEL_PTR(renderWidget); 
     66        DEL_PTR(rendererWidget); 
    3267        DEL_PTR(preprocessor); 
    3368 
     
    4075void DisplayWidget() 
    4176{ 
     77        if (!rendererWidget) 
     78                LoadMyDll(); 
     79 
    4280        // note matt: capsulate qt dependent code as good as possible 
    43         renderWidget =  
    44                 new GlRenderWidget(preprocessor->mSceneGraph,  
     81        /*new GlRendererWidget(preprocessor->mSceneGraph,  
    4582                                                   preprocessor->mViewCellsManager,  
    4683                                                   preprocessor->mKdTree); 
    47  
    48         renderWidget->Show(); 
     84*/ 
     85        rendererWidget->Show(); 
    4986 
    5087#if QT_ENABLED 
  • GTP/trunk/Lib/Vis/QtRenderer/QtGlRenderer.cpp

    r1148 r1151  
    3030//static vector<OcclusionQuery *> sQueries; 
    3131 
    32 GlRendererWidget *rendererWidget = NULL; 
    33 GlDebuggerWidget *debuggerWidget = NULL; 
     32QtGlRendererWidget *rendererWidget = NULL; 
     33QtGlDebuggerWidget *debuggerWidget = NULL; 
     34 
    3435 
    3536static inline bool ilt(Intersectable *obj1, Intersectable *obj2) 
     
    909910 
    910911void 
    911 GlRendererWidget::SetupProjection(const int w, const int h, const float angle) 
     912QtGlRendererWidget::SetupProjection(const int w, const int h, const float angle) 
    912913{ 
    913914  if (!mTopView) 
     
    923924 
    924925void 
    925 GlRendererWidget::RenderPvs() 
     926QtGlRendererWidget::RenderPvs() 
    926927{ 
    927928  SetupCamera(); 
     
    984985 
    985986float 
    986 GlRendererWidget::RenderErrors() 
     987QtGlRendererWidget::RenderErrors() 
    987988{ 
    988989  float pErrorPixels = -1.0f; 
     
    11101111 
    11111112void 
    1112 GlRendererWidget::mousePressEvent(QMouseEvent *e) 
     1113QtGlRendererWidget::mousePressEvent(QMouseEvent *e) 
    11131114{ 
    11141115  int x = e->pos().x(); 
     
    11211122 
    11221123void 
    1123 GlRendererWidget::mouseMoveEvent(QMouseEvent *e) 
     1124QtGlRendererWidget::mouseMoveEvent(QMouseEvent *e) 
    11241125{ 
    11251126  float MOVE_SENSITIVITY = Magnitude(mSceneGraph->GetBox().Diagonal())*1e-3; 
     
    11491150 
    11501151void 
    1151 GlRendererWidget::mouseReleaseEvent(QMouseEvent *) 
    1152 { 
    1153  
    1154  
    1155 } 
    1156  
    1157 void 
    1158 GlRendererWidget::resizeGL(int w, int h) 
     1152QtGlRendererWidget::mouseReleaseEvent(QMouseEvent *) 
     1153{ 
     1154 
     1155 
     1156} 
     1157 
     1158void 
     1159QtGlRendererWidget::resizeGL(int w, int h) 
    11591160{ 
    11601161  SetupProjection(w, h); 
     
    11631164 
    11641165void 
    1165 GlRendererWidget::paintGL() 
     1166QtGlRendererWidget::paintGL() 
    11661167{ 
    11671168  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
     
    11891190 
    11901191void 
    1191 GlRendererWidget::SetupCamera() 
     1192QtGlRendererWidget::SetupCamera() 
    11921193{ 
    11931194  if (!mTopView) 
     
    12271228 
    12281229void 
    1229 GlRendererWidget::keyPressEvent ( QKeyEvent * e ) 
     1230QtGlRendererWidget::keyPressEvent ( QKeyEvent * e ) 
    12301231{ 
    12311232  switch (e->key()) { 
     
    12531254   
    12541255 
    1255 GlRendererWidget::GlRendererWidget(SceneGraph *sceneGraph, 
     1256QtGlRendererWidget::QtGlRendererWidget(SceneGraph *sceneGraph, 
    12561257                                                                   ViewCellsManager *viewcells, 
    12571258                                                                   KdTree *tree, 
     
    12611262                                                                   ) 
    12621263  : 
    1263   GlRenderer(sceneGraph, viewcells, tree), QGLWidget(parent, shareWidget, f) 
     1264  GlRendererWidget(sceneGraph, viewcells, tree), QGLWidget(parent, shareWidget, f) 
    12641265{ 
    12651266  mTopView = false; 
     
    12861287  mPvsSize = 0; 
    12871288  mRenderError = 0.0f; 
    1288   mControlWidget = new RendererControlWidget(NULL); 
     1289  mControlWidget = new QtRendererControlWidget(NULL); 
    12891290   
    12901291  connect(mControlWidget, SIGNAL(SetViewCellGranularity(int)), this, SLOT(SetViewCellGranularity(int))); 
     
    13131314 
    13141315void 
    1315 GlRendererWidget::RenderInfo() 
     1316QtGlRendererWidget::RenderInfo() 
    13161317{ 
    13171318  QString s; 
     
    14381439 
    14391440void 
    1440 GlRendererWidget::SetViewCellGranularity(int number) 
     1441QtGlRendererWidget::SetViewCellGranularity(int number) 
    14411442{ 
    14421443  if (mViewCellsManager)  
     
    14481449 
    14491450void 
    1450 GlRendererWidget::SetVisibilityFilterSize(int number) 
     1451QtGlRendererWidget::SetVisibilityFilterSize(int number) 
    14511452{ 
    14521453  if (mViewCellsManager)  
     
    14561457 
    14571458void 
    1458 GlRendererWidget::SetSpatialFilterSize(int number) 
     1459QtGlRendererWidget::SetSpatialFilterSize(int number) 
    14591460{ 
    14601461  mSpatialFilterSize = 1e-3*number; 
     
    14631464 
    14641465void 
    1465 GlRendererWidget::SetSceneCut(int number) 
     1466QtGlRendererWidget::SetSceneCut(int number) 
    14661467{ 
    14671468  // assume the cut plane can only be aligned with xz plane 
     
    14781479 
    14791480void 
    1480 GlRendererWidget::SetTopDistance(int number) 
     1481QtGlRendererWidget::SetTopDistance(int number) 
    14811482{ 
    14821483  mTopDistance = number/1000.0f; 
     
    14851486 
    14861487void 
    1487 GlRendererWidget::RenderViewCells() 
     1488QtGlRendererWidget::RenderViewCells() 
    14881489{ 
    14891490  mUseFalseColors = true; 
     
    15431544 
    15441545/***********************************************************************/ 
    1545 /*                     GlDebuggerWidget implementation                             */ 
     1546/*                     QtGlDebuggerWidget implementation                                   */ 
    15461547/***********************************************************************/ 
    15471548 
    15481549 
    1549 GlDebuggerWidget::GlDebuggerWidget(QtGlRendererBuffer *buf, QWidget *parent) 
     1550QtGlDebuggerWidget::QtGlDebuggerWidget(QtGlRendererBuffer *buf, QWidget *parent) 
    15501551      : QGLWidget(QGLFormat(QGL::SampleBuffers), parent), mRenderBuffer(buf) 
    15511552{ 
     
    15571558 
    15581559 
    1559 GlDebuggerWidget::~GlDebuggerWidget() 
     1560QtGlDebuggerWidget::~QtGlDebuggerWidget() 
    15601561{ 
    15611562 mRenderBuffer->releaseFromDynamicTexture(); 
     
    15671568 
    15681569 
    1569 RendererControlWidget::RendererControlWidget(QWidget * parent, Qt::WFlags f): 
     1570QtRendererControlWidget::QtRendererControlWidget(QWidget * parent, Qt::WFlags f): 
    15701571  QWidget(parent, f) 
    15711572{ 
     
    17301731 
    17311732void 
    1732 RendererControlWidget::FocusNextPvsErrorFrame(void) 
    1733 { 
    1734    
    1735    
    1736 } 
    1737  
    1738 void 
    1739 RendererControlWidget::UpdatePvsErrorItem(int row, 
     1733QtRendererControlWidget::FocusNextPvsErrorFrame(void) 
     1734{ 
     1735   
     1736   
     1737} 
     1738 
     1739void 
     1740QtRendererControlWidget::UpdatePvsErrorItem(int row, 
    17401741                                                                                  GlRendererBuffer::PvsErrorEntry &pvsErrorEntry) 
    17411742{ 
     
    17531754 
    17541755 
    1755 void GlDebuggerWidget::initializeGL() 
     1756void QtGlDebuggerWidget::initializeGL() 
    17561757{ 
    17571758        glMatrixMode(GL_PROJECTION); 
     
    17701771 
    17711772 
    1772 void GlDebuggerWidget::resizeGL(int w, int h) 
     1773void QtGlDebuggerWidget::resizeGL(int w, int h) 
    17731774{ 
    17741775        glViewport(0, 0, w, h); 
     
    17761777 
    17771778 
    1778 void GlDebuggerWidget::paintGL() 
     1779void QtGlDebuggerWidget::paintGL() 
    17791780{ 
    17801781        // draw a spinning cube into the pbuffer.. 
     
    18091810 
    18101811 
    1811 void GlDebuggerWidget::initPbuffer() 
     1812void QtGlDebuggerWidget::initPbuffer() 
    18121813{ 
    18131814        // set up the pbuffer context 
     
    18331834} 
    18341835 
    1835 void GlDebuggerWidget::initCommon() 
     1836void QtGlDebuggerWidget::initCommon() 
    18361837{ 
    18371838        glEnable(GL_TEXTURE_2D); 
  • GTP/trunk/Lib/Vis/QtRenderer/QtGlRenderer.h

    r1150 r1151  
    126126 
    127127 
    128 class __declspec(dllexport) RendererControlWidget : public QWidget 
     128class __declspec(dllexport) QtRendererControlWidget : public QWidget 
    129129{ 
    130130  Q_OBJECT 
     
    133133  QListWidget *mPvsErrorWidget; 
    134134 
    135   RendererControlWidget(QWidget * parent = 0, Qt::WFlags f = 0); 
     135  QtRendererControlWidget(QWidget * parent = 0, Qt::WFlags f = 0); 
    136136 
    137137  public slots: 
     
    163163}; 
    164164 
    165 class __declspec(dllexport) GlRendererWidget : public QGLWidget, public GlRenderer 
     165class __declspec(dllexport) QtGlRendererWidget : public QGLWidget, public GlRendererWidget 
    166166{ 
    167167  Q_OBJECT 
     
    191191  float mRenderError; 
    192192 
    193   RendererControlWidget *mControlWidget; 
    194    
    195   GlRendererWidget(SceneGraph *sceneGraph, 
     193  QtRendererControlWidget *mControlWidget; 
     194   
     195  QtGlRendererWidget(SceneGraph *sceneGraph, 
    196196                                   ViewCellsManager *viewcells, 
    197197                                   KdTree *tree, 
     
    199199                                   ); 
    200200 
     201  QtGlRendererWidget() {}; 
    201202 
    202203  virtual void SetupCamera(); 
     
    305306 
    306307 
    307 extern GlRendererWidget *rendererWidget; 
    308  
    309 class GlDebuggerWidget : public QGLWidget 
     308class QtGlDebuggerWidget : public QGLWidget 
    310309{ 
    311310        Q_OBJECT 
    312311public: 
    313     GlDebuggerWidget(QtGlRendererBuffer *buf, QWidget *parent = NULL); 
    314     ~GlDebuggerWidget(); 
     312    QtGlDebuggerWidget(QtGlRendererBuffer *buf, QWidget *parent = NULL); 
     313    ~QtGlDebuggerWidget(); 
    315314    void initializeGL(); 
    316315    void resizeGL(int w, int h); 
     
    335334}; 
    336335 
    337 extern GlDebuggerWidget *debuggerWidget; 
     336extern QtGlDebuggerWidget *debuggerWidget; 
    338337 
    339338}; 
  • GTP/trunk/Lib/Vis/QtRenderer/QtRenderer.vcproj

    r1150 r1151  
    126126                                RelativePath=".\QtGlRenderer.cpp"> 
    127127                        </File> 
     128                        <File 
     129                                RelativePath=".\QtRendererDll.cpp"> 
     130                        </File> 
    128131                </Filter> 
    129132                <Filter 
Note: See TracChangeset for help on using the changeset viewer.