Ignore:
Timestamp:
01/23/08 00:21:50 (16 years ago)
Author:
bittner
Message:

commit after merge with vlastimil

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/RayCaster.h

    r2621 r2629  
    2525struct SimpleRay; 
    2626class RayPacket2x2; 
    27 class Matrix4x4; 
    2827 
    2928/** This class provides an interface for ray casting. 
     
    3736    INTERNAL_RAYCASTER = 0, 
    3837    INTEL_RAYCASTER = 1, 
    39     HAVRAN_RAYCASTER = 2 
     38    HAVRAN_RAYCASTER = 2, 
     39    HAVRAN_DYN_RAYCASTER = 3 
    4040  }; 
    4141 
     
    7272                        const bool pruneInvalidRays = true); 
    7373 
     74  virtual void 
     75  CastSimpleForwardRays(SimpleRayContainer &rays, 
     76                        const AxisAlignedBox3 &sbox 
     77                        ) { return;} 
     78   
    7479  // Using packet of 4 rays supposing that these are coherent 
    7580  virtual void CastRaysPacket4(Vector3 origin4[], 
     
    8287  // ray shooting is computed ! 
    8388  virtual void CastRaysPacket4(const Vector3 &minBox, 
    84                                                            const Vector3 &maxBox, 
    85                                                            const Vector3 origin4[], 
    86                                                            const Vector3 direction4[], 
    87                                                            int result4[], 
    88                                                            float dist4[]) {  } 
     89                               const Vector3 &maxBox, 
     90                               const Vector3 origin4[], 
     91                               const Vector3 direction4[], 
     92                               int result4[], 
     93                               float dist4[]) {  } 
    8994   
    9095  // Just for testing concept 
     
    9398                                 const bool pruneInvalidRays = true) 
    9499  { } 
     100 
     101  virtual void AddDynamicObjecs(const ObjectContainer &objects, const Matrix4x4 &m) 
     102  { } 
     103 
     104  virtual void UpdateDynamicObjects(const Matrix4x4 &m) 
     105  { } 
     106 
     107  virtual void DeleteDynamicObjects() 
     108  { } 
     109 
    95110   
    96111  /*virtual void CastRaysEye4(SimpleRayContainer &rays, 
     
    101116  */ 
    102117 
     118  // This sorts only rays by origin 
    103119  virtual void 
    104120  SortRays(SimpleRayContainer &rays); 
    105121 
    106  
    107   virtual void AddDynamicObjecs(const ObjectContainer &objects, const Matrix4x4 &m) = 0; 
    108   virtual void UpdateDynamicObjects(const Matrix4x4 &m) = 0; 
    109   virtual void DeleteDynamicObjects() = 0; 
    110  
     122  // This sorts the ray by origin and direction 
     123  virtual void 
     124  SortRays2(SimpleRayContainer &rays); 
     125   
    111126  // pool of vss rays to be used in one pass of the sampling 
    112127  struct VssRayPool  
     
    173188                 const int depth, 
    174189                 float box[12]); 
     190 
     191  void _SortRays2(SimpleRayContainer &rays, 
     192                  const int l, 
     193                  const int r, 
     194                  const int depth, 
     195                  float box[12]); 
    175196   
    176197  struct Intersection 
Note: See TracChangeset for help on using the changeset viewer.