Ignore:
Timestamp:
09/20/06 13:37:29 (18 years ago)
Author:
mattausch
Message:

corrected raycasting bug for triangles because of ill defined triangles

File:
1 edited

Legend:

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

    r1419 r1420  
    231231        if (!mLoadMeshes) 
    232232        { 
    233                 //////////////////////////////////// 
     233                /////////////////// 
    234234                //-- load data as single triangles instead of whole meshes 
    235235 
     
    249249                        Polygon3 poly(face, &tempMesh); 
    250250                        poly.Triangulate(triangles); 
    251  
     251                         
    252252                        vector<Triangle3>::const_iterator tit, tit_end = triangles.end(); 
    253253 
    254254                        for (tit = triangles.begin(); tit != tit_end; ++ tit) 
    255255                        { 
    256                                 TriangleIntersectable *ti = new TriangleIntersectable(*tit); 
    257                                 cout << "t: " << (*tit) << endl; 
    258                                 mCurrentNode->mGeometry.push_back(ti); 
     256                                if ((*tit).CheckValidity()) 
     257                                { 
     258                                        TriangleIntersectable *ti = new TriangleIntersectable(*tit); 
     259                                        //cout << "t: " << (*tit) << endl; 
     260                                        mCurrentNode->mGeometry.push_back(ti); 
     261                                } 
     262                                else 
     263                                { 
     264                                        cout << "error tri:\n" << (*tit) << endl; 
     265                                } 
    259266                        } 
    260267#if 0 
     
    262269                        Mesh *mesh = MeshManager::GetSingleton()->CreateResource(); 
    263270 
    264                         VertexIndexContainer::const_iterator vit, vit_end = face->mVertexIndices.end(); 
    265  
    266                         int i = 0; 
     271                                 
    267272                        // dummy vertex indices container 
    268273                        VertexIndexContainer vcIndices; 
     274                        VertexIndexContainer::const_iterator vit, vit_end = face->mVertexIndices.end(); 
     275                        int i = 0; 
    269276 
    270277                        for (vit = face->mVertexIndices.begin(); vit != vit_end; ++ vit, ++ i) 
Note: See TracChangeset for help on using the changeset viewer.