Ignore:
Timestamp:
10/08/06 14:41:41 (18 years ago)
Author:
bittner
Message:

ray casting issue partially solved

File:
1 edited

Legend:

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

    r1551 r1583  
    2828                                                           ) 
    2929{ 
    30         //cout << "internal ray" << endl; 
    31         int hits = 0; 
    32         static Ray ray; 
    33         Intersection hitA(simpleRay.mOrigin), hitB(simpleRay.mOrigin); 
    34          
    35         mPreprocessor.SetupRay(ray, simpleRay.mOrigin, simpleRay.mDirection); 
    36         ray.mFlags &= ~Ray::CULL_BACKFACES; 
    37  
    38         if (mKdTree->CastRay(ray))  
     30  //cout << "internal ray" << endl; 
     31  int hits = 0; 
     32  static Ray ray; 
     33  Intersection hitA(simpleRay.mOrigin), hitB(simpleRay.mOrigin); 
     34   
     35  mPreprocessor.SetupRay(ray, simpleRay.mOrigin, simpleRay.mDirection); 
     36  ray.mFlags &= ~Ray::CULL_BACKFACES; 
     37   
     38  if (mKdTree->CastRay(ray))  
    3939        { 
    40                 hitA.mObject = ray.intersections[0].mObject; 
    41                 hitA.mPoint = ray.Extrap(ray.intersections[0].mT); 
    42                 hitA.mNormal = ray.intersections[0].mNormal;  
    43         //      cout << "hita: " << hitA.mPoint << " !obj: " << hitA.mObject << endl; 
     40          hitA.mObject = ray.intersections[0].mObject; 
     41          hitA.mPoint = ray.Extrap(ray.intersections[0].mT); 
     42          hitA.mNormal = ray.intersections[0].mNormal;  
     43          //    cout << "hita: " << hitA.mPoint << " !obj: " << hitA.mObject << endl; 
    4444        } 
    45          
    46         mPreprocessor.SetupRay(ray, simpleRay.mOrigin, -simpleRay.mDirection); 
    47         ray.mFlags &= ~Ray::CULL_BACKFACES; 
    48  
    49         if (castDoubleRay && mKdTree->CastRay(ray))  
     45   
     46  mPreprocessor.SetupRay(ray, simpleRay.mOrigin, -simpleRay.mDirection); 
     47  ray.mFlags &= ~Ray::CULL_BACKFACES; 
     48   
     49  if (castDoubleRay && mKdTree->CastRay(ray))  
    5050        { 
    51                 hitB.mObject = ray.intersections[0].mObject; 
    52                 hitB.mPoint = ray.Extrap(ray.intersections[0].mT); 
    53                 hitB.mNormal = ray.intersections[0].mNormal; 
     51          hitB.mObject = ray.intersections[0].mObject; 
     52          hitB.mPoint = ray.Extrap(ray.intersections[0].mT); 
     53          hitB.mNormal = ray.intersections[0].mNormal; 
    5454        } 
    55                  
    56         return ProcessRay( 
    57                 simpleRay, 
    58                 hitA, 
    59                 hitB, 
    60         vssRays, 
    61                 box, 
    62                 castDoubleRay, 
    63                 pruneInvalidRays 
    64                 ); 
     55   
     56  return ProcessRay( 
     57                                        simpleRay, 
     58                                        hitA, 
     59                                        hitB, 
     60                                        vssRays, 
     61                                        box, 
     62                                        castDoubleRay, 
     63                                        pruneInvalidRays 
     64                                        ); 
    6565} 
    6666 
Note: See TracChangeset for help on using the changeset viewer.