Ignore:
Timestamp:
08/18/06 19:28:12 (18 years ago)
Author:
mattausch
Message:

added intel ray tracing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.cpp

    r1201 r1221  
    1414#include "SamplingStrategy.h" 
    1515#include "VspOspTree.h" 
    16  
     16#include "ObjParser.h" 
     17#include "ArchModeler2MLRT.hxx" 
    1718 
    1819 
     
    9394        scene->mRoot->UpdateBox(); 
    9495        } 
    95          
    96         // plane separating view space regions 
     96                 
    9797        if (1) 
    9898        { 
     99                // plane separating view space regions 
    99100                const Vector3 scale(1.0f, 0.0, 0); 
    100101 
     
    133134        Environment::GetSingleton()->GetBoolValue("Preprocessor.detectEmptyViewSpace", mDetectEmptyViewSpace); 
    134135        Environment::GetSingleton()->GetBoolValue("Preprocessor.exportVisibility", mExportVisibility ); 
     136        Environment::GetSingleton()->GetIntValue("Preprocessor.rayCastMethod", mRayCastMethod); 
    135137 
    136138        char buffer[256]; 
     
    220222                  if (strstr(filename.c_str(), ".ply") || strstr(filename.c_str(), ".plb")) 
    221223                        parser = new PlyParser; 
    222                   else 
    223                         parser = new UnigraphicsParser; 
     224                  else if (strstr(filename.c_str(), ".obj")) 
     225                          parser = new ObjParser; 
     226                  else  
     227                          parser = new UnigraphicsParser; 
    224228 
    225229                cout<<filename<<endl; 
    226                 result = parser->ParseFile(filename, &mSceneGraph->mRoot, mLoadPolygonsAsMeshes); 
     230 
     231                if (mRayCastMethod == Preprocessor::INTEL_RAYCASTER) 
     232                        result = parser->ParseFile(filename, &mSceneGraph->mRoot, mLoadPolygonsAsMeshes, &mFaceParents); 
     233                else 
     234                        result = parser->ParseFile(filename, &mSceneGraph->mRoot, mLoadPolygonsAsMeshes); 
    227235 
    228236                delete parser; 
     
    234242                        if (strstr(filenames[i].c_str(), ".x3d")) 
    235243                                parser = new X3dParser; 
    236                         else 
     244                        else  
    237245                                parser = new UnigraphicsParser; 
    238                          
     246                                                 
    239247                        SceneGraphNode *node; 
    240248                        if (parser->ParseFile(filenames[i], &node)) { 
     
    736744                return NULL; 
    737745        } 
     746 
    738747        // should never come here 
    739748        return NULL; 
     
    741750 
    742751 
    743 } 
     752bool Preprocessor::InitRayCast(const string externKdTree) 
     753{ 
     754        switch (mRayCastMethod) // use intel ray tracing 
     755        { 
     756        case INTEL_RAYCASTER: 
     757                return mlrtaLoadAS(externKdTree.c_str()); 
     758        case INTERNAL_RAYCASTER: 
     759        default: 
     760                break; 
     761        } 
     762 
     763        return true; 
     764} 
     765 
     766} 
Note: See TracChangeset for help on using the changeset viewer.