Revision: 7157
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7157&view=rev
Author:   rtv
Date:     2008-11-18 02:48:05 +0000 (Tue, 18 Nov 2008)

Log Message:
-----------
small speedups and const correctness additions

Modified Paths:
--------------
    code/stage/trunk/libstage/model.cc
    code/stage/trunk/libstage/region.cc
    code/stage/trunk/libstage/stage.cc
    code/stage/trunk/libstage/stage.hh
    code/stage/trunk/libstage/stage_internal.hh
    code/stage/trunk/libstage/world.cc

Modified: code/stage/trunk/libstage/model.cc
===================================================================
--- code/stage/trunk/libstage/model.cc  2008-11-17 23:06:46 UTC (rev 7156)
+++ code/stage/trunk/libstage/model.cc  2008-11-18 02:48:05 UTC (rev 7157)
@@ -361,11 +361,11 @@
 }
 
 
-stg_raytrace_result_t StgModel::Raytrace( stg_pose_t pose,
-                                                                               
                                stg_meters_t range, 
-                                                                               
                                stg_ray_test_func_t func,
+stg_raytrace_result_t StgModel::Raytrace( const stg_pose_t &pose,
+                                                                               
                                const stg_meters_t range, 
+                                                                               
                                const stg_ray_test_func_t func,
                                                                                
                                const void* arg,
-                                                                               
                                bool ztest )
+                                                                               
                                const bool ztest )
 {
   return world->Raytrace( LocalToGlobal(pose),
                                                                  range,
@@ -375,11 +375,11 @@
                                                                  ztest );
 }
 
-stg_raytrace_result_t StgModel::Raytrace( stg_radians_t bearing,
-                                                                               
                                stg_meters_t range, 
-                                                                               
                                stg_ray_test_func_t func,
+stg_raytrace_result_t StgModel::Raytrace( const stg_radians_t bearing,
+                                                                               
                                const stg_meters_t range, 
+                                                                               
                                const stg_ray_test_func_t func,
                                                                                
                                const void* arg,
-                                                                               
                                bool ztest )
+                                                                               
                                const bool ztest )
 {
   stg_pose_t raystart;
   bzero( &raystart, sizeof(raystart));
@@ -394,14 +394,14 @@
 }
 
 
-void StgModel::Raytrace( stg_radians_t bearing,
-                                                                stg_meters_t 
range, 
-                                                                stg_radians_t 
fov,
-                                                                
stg_ray_test_func_t func,
+void StgModel::Raytrace( const stg_radians_t bearing,
+                                                                const 
stg_meters_t range, 
+                                                                const 
stg_radians_t fov,
+                                                                const 
stg_ray_test_func_t func,
                                                                 const void* 
arg,
                                                                 
stg_raytrace_result_t* samples,
-                                                                uint32_t 
sample_count,
-                                                                bool ztest )
+                                                                const uint32_t 
sample_count,
+                                                                const bool 
ztest )
 {
   stg_pose_t raystart;
   bzero( &raystart, sizeof(raystart));
@@ -550,22 +550,17 @@
 // get the model's position in the global frame
 stg_pose_t StgModel::GetGlobalPose()
 { 
-  //printf( "model %s global pose ", token );
-
-  stg_pose_t parent_pose;
+  // if I'm a top level model, my global pose is my local pose
+  if( parent == NULL )
+        return pose;
   
-  // find my parent's pose
-  if( this->parent )
-        {
-               parent_pose = parent->GetGlobalPose();    
-               stg_pose_sum( &global_pose, &parent_pose, &pose );
-               
-               // we are on top of our parent
-               global_pose.z += parent->geom.size.z;
-        }
-  else
-        memcpy( &global_pose, &pose, sizeof(stg_pose_t));
+  // otherwise  
   
+  stg_pose_t global_pose = pose_sum( parent->GetGlobalPose(), pose );          
+  
+  // we are on top of our parent
+  global_pose.z += parent->geom.size.z;
+  
   //   PRINT_DEBUG4( "GET GLOBAL POSE [x:%.2f y:%.2f z:%.2f a:%.2f]",
   //           global_pose.x,
   //           global_pose.y,
@@ -579,27 +574,27 @@
 // convert a pose in this model's local coordinates into global
 // coordinates
 // should one day do all this with affine transforms for neatness?
-stg_pose_t StgModel::LocalToGlobal( stg_pose_t pose )
+inline stg_pose_t StgModel::LocalToGlobal( stg_pose_t pose )
 {  
   return pose_sum( pose_sum( GetGlobalPose(), geom.pose ), pose );
 }
 
-stg_point3_t StgModel::LocalToGlobal( stg_point3_t point )
-{
-  stg_pose_t pose;
-  pose.x = point.x;
-  pose.y = point.y;
-  pose.z = point.z;
-  pose.a = 0;
+// stg_point3_t StgModel::LocalToGlobal( stg_point3_t point )
+// {
+//   stg_pose_t pose;
+//   pose.x = point.x;
+//   pose.y = point.y;
+//   pose.z = point.z;
+//   pose.a = 0;
 
-  pose = LocalToGlobal( pose );
+//   pose = LocalToGlobal( pose );
 
-  point.x = pose.x;
-  point.y = pose.y;
-  point.z = pose.z;
+//   point.x = pose.x;
+//   point.y = pose.y;
+//   point.z = pose.z;
 
-  return point;
-}
+//   return point;
+// }
 
 void StgModel::MapWithChildren()
 {
@@ -623,28 +618,28 @@
 // given an input point array in model local coordinates, return
 // an array with the same points in global coordinates. caller must
 // delete[] the points.
-stg_point_t* StgModel::LocalToGlobal( double scalex, 
-                                                                               
                  double scaley, 
-                                                                               
                  stg_point_t pts[], 
-                                                                               
                  uint32_t pt_count )
-{
-  stg_point_t* glob = new stg_point_t[pt_count];
+// stg_point_t* StgModel::LocalToGlobal( double scalex, 
+//                                                                             
                  double scaley, 
+//                                                                             
                  stg_point_t pts[], 
+//                                                                             
                  uint32_t pt_count )
+// {
+//   stg_point_t* glob = new stg_point_t[pt_count];
   
-  stg_pose_t global_pose = GetGlobalPose();
+//   stg_pose_t global_pose = GetGlobalPose();
 
-  for( int p=0; p<pt_count; p++ )
-        {
-               stg_pose_t local( pts[p].x * scalex, 
-                                                               pts[p].y * 
scaley, 
-                                                               0, 0 );         
-               stg_pose_t global = pose_sum( global_pose, local );
+//   for( int p=0; p<pt_count; p++ )
+//      {
+//             stg_pose_t local( pts[p].x * scalex, 
+//                                                             pts[p].y * 
scaley, 
+//                                                             0, 0 );         
+//             stg_pose_t global = pose_sum( global_pose, local );
                
-               glob[p].x = global.x;
-               glob[p].y = global.y;
-        }
+//             glob[p].x = global.x;
+//             glob[p].y = global.y;
+//      }
 
-  return glob;
-}
+//   return glob;
+// }
 
 
 void StgModel::Map()

Modified: code/stage/trunk/libstage/region.cc
===================================================================
--- code/stage/trunk/libstage/region.cc 2008-11-17 23:06:46 UTC (rev 7156)
+++ code/stage/trunk/libstage/region.cc 2008-11-18 02:48:05 UTC (rev 7157)
@@ -12,33 +12,7 @@
 const uint32_t SuperRegion::WIDTH = SUPERREGIONWIDTH;
 const uint32_t SuperRegion::SIZE = SUPERREGIONSIZE;
 
-//inline
-void Cell::RemoveBlock( StgBlock* b )
-{
-  // linear time removal, but these lists should be very short.
-  list = g_slist_remove( list, b );
-  
-  assert( region );
-  region->DecrementOccupancy();
-}
 
-void Cell::AddBlock( StgBlock* b )
-{
-  // constant time prepend
-  list = g_slist_prepend( list, b );
-
-  region->IncrementOccupancy();
-  b->RecordRendering( this );
-}
-
-void Cell::AddBlockNoRecord( StgBlock* b )
-{
-  list = g_slist_prepend( list, b );
-
-  // don't add this cell to the block - we assume it's already there
-}
-
-
 Region::Region() 
   : count(0)
 { 
@@ -51,30 +25,7 @@
   delete[] cells;
 }
 
-inline void Region::DecrementOccupancy()
-{ 
-  assert( superregion );
-  superregion->DecrementOccupancy();
-  --count; 
-}
 
-inline void Region::IncrementOccupancy()
-{ 
-  assert( superregion );
-  superregion->IncrementOccupancy();
-  ++count; 
-}
-
-Cell* Region::GetCell( int32_t x, int32_t y )
-{
-  uint32_t index = x + (y*Region::WIDTH);
-  assert( x < Region::WIDTH );
-  assert( index >=0 );
-  assert( index < Region::SIZE );
-  return &cells[index];    
-}
-
-
 SuperRegion::SuperRegion( int32_t x, int32_t y )
   : count(0)
 {
@@ -91,25 +42,6 @@
   // nothing to do
 }
 
-// get the region x,y from the region array
-Region* SuperRegion::GetRegion( int32_t x, int32_t y )
-{
-  int32_t index =  x + (y*SuperRegion::WIDTH);
-  assert( index >=0 );
-  assert( index < (int)SuperRegion::SIZE );
-  return &regions[ index ];
-} 
-
-inline void SuperRegion::DecrementOccupancy()
-{ 
-  --count; 
-}
-
-inline void SuperRegion::IncrementOccupancy()
-{ 
-  ++count; 
-}
-
 void SuperRegion::Draw( bool drawall )
 {
   glEnable( GL_DEPTH_TEST );

Modified: code/stage/trunk/libstage/stage.cc
===================================================================
--- code/stage/trunk/libstage/stage.cc  2008-11-17 23:06:46 UTC (rev 7156)
+++ code/stage/trunk/libstage/stage.cc  2008-11-18 02:48:05 UTC (rev 7157)
@@ -197,22 +197,9 @@
        }
 }      
 
-// sets [result] to the pose of [p2] in [p1]'s coordinate system
-void Stg::stg_pose_sum( stg_pose_t* result, stg_pose_t* p1, stg_pose_t* p2 )
-{
-       double cosa = cos(p1->a);
-       double sina = sin(p1->a);
 
-       result->x = p1->x + p2->x * cosa - p2->y * sina;
-       result->y = p1->y + p2->x * sina + p2->y * cosa;
-       result->z = p1->z + p2->z;
-       result->a = normalize(p1->a + p2->a);
-
-       //  printf( "pose z %.2f\n", result->z );
-}
-
-// returns the resultant of vector [p1] and [p2] 
-stg_pose_t Stg::pose_sum( stg_pose_t p1, stg_pose_t p2 )
+// returns the pose of p2 in p1's coordinate system
+stg_pose_t Stg::pose_sum( const stg_pose_t& p1, const stg_pose_t& p2 )
 {
        double cosa = cos(p1.a);
        double sina = sin(p1.a);
@@ -227,12 +214,15 @@
 }
 
 // returns the resultant of vector [p1] and [p2] 
-stg_pose_t Stg::pose_scale( stg_pose_t p1, double sx, double sy, double sz )
+stg_pose_t Stg::pose_scale( const stg_pose_t& p1, const double sx, const 
double sy, const double sz )
 {
-  p1.x *= sx;
-  p1.y *= sy;
-  p1.z *= sz;  
-  return p1;
+  stg_pose_t scaled;
+  scaled.x = p1.x * sx;
+  scaled.y = p1.y * sy;
+  scaled.z = p1.z * sz;
+  scaled.a = p1.a;
+  
+  return scaled;
 }
 
 

Modified: code/stage/trunk/libstage/stage.hh
===================================================================
--- code/stage/trunk/libstage/stage.hh  2008-11-17 23:06:46 UTC (rev 7156)
+++ code/stage/trunk/libstage/stage.hh  2008-11-18 02:48:05 UTC (rev 7157)
@@ -545,15 +545,11 @@
   */
   stg_color_t stg_lookup_color(const char *name);
 
-  /** calculate the sum of [p1] and [p2], in [p1]'s coordinate system, and
-               copy the result into result. */
-  void stg_pose_sum( stg_pose_t* result, stg_pose_t* p1, stg_pose_t* p2 );
-
   /** returns the sum of [p1] + [p2], in [p1]'s coordinate system */
-  stg_pose_t pose_sum( stg_pose_t p1, stg_pose_t p2 );
+  stg_pose_t pose_sum( const stg_pose_t& p1, const stg_pose_t& p2 );
   
   /** returns a new pose, with each axis scaled */
-  stg_pose_t pose_scale( stg_pose_t p1, double x, double y, double z );
+  stg_pose_t pose_scale( const stg_pose_t& p1, const double x, const double y, 
const double z );
 
 
   // PRETTY PRINTING -------------------------------------------------
@@ -929,22 +925,22 @@
         SuperRegion* CreateSuperRegion( int32_t x, int32_t y );
         void DestroySuperRegion( SuperRegion* sr );
         
-        stg_raytrace_result_t Raytrace( stg_pose_t pose,                       
 
-                                                                               
                stg_meters_t range,
-                                                                               
                stg_ray_test_func_t func,
-                                                                               
                StgModel* finder,
+        stg_raytrace_result_t Raytrace( const stg_pose_t& pose,                
         
+                                                                               
                const stg_meters_t range,
+                                                                               
                const stg_ray_test_func_t func,
+                                                                               
                const StgModel* finder,
                                                                                
                const void* arg,
-                                                                               
                bool ztest );
+                                                                               
                const bool ztest );
   
-        void Raytrace( stg_pose_t pose,                         
-                                                stg_meters_t range,
-                                                stg_radians_t fov,
-                                                stg_ray_test_func_t func,
-                                                StgModel* finder,
+        void Raytrace( const stg_pose_t &pose,                          
+                                                const stg_meters_t range,
+                                                const stg_radians_t fov,
+                                                const stg_ray_test_func_t func,
+                                                const StgModel* finder,
                                                 const void* arg,
                                                 stg_raytrace_result_t* samples,
-                                                uint32_t sample_count,
-                                                bool ztest );
+                                                const uint32_t sample_count,
+                                                const bool ztest );
   
   protected:
         
@@ -1057,9 +1053,9 @@
         /** Return the number of times the world has been updated. */
         long unsigned int GetUpdateCount() { return updates; }
   
-        stg_point_t* LocalToGlobal( double scalex, double scaley, 
-                                                                               
  stg_point_t pts[],
-                                                                               
  uint32_t pt_count );
+//      stg_point_t* LocalToGlobal( double scalex, double scaley, 
+//                                                                             
  stg_point_t pts[],
+//                                                                             
  uint32_t pt_count );
   };
 
 class StgBlock
@@ -1333,37 +1329,37 @@
   
         /** raytraces a single ray from the point and heading identified by
                  pose, in local coords */
-        stg_raytrace_result_t Raytrace( stg_pose_t pose,
-                                                                               
                stg_meters_t range, 
-                                                                               
                stg_ray_test_func_t func,
+        stg_raytrace_result_t Raytrace( const stg_pose_t &pose,
+                                                                               
                const stg_meters_t range, 
+                                                                               
                const stg_ray_test_func_t func,
                                                                                
                const void* arg,
-                                                                               
                bool ztest = true );
+                                                                               
                const bool ztest = true );
   
         /** raytraces multiple rays around the point and heading identified
                  by pose, in local coords */
-        void Raytrace( stg_pose_t pose,
-                                                stg_meters_t range, 
-                                                stg_radians_t fov, 
-                                                stg_ray_test_func_t func,
+        void Raytrace( const stg_pose_t &pose,
+                                                const stg_meters_t range, 
+                                                const stg_radians_t fov, 
+                                                const stg_ray_test_func_t func,
                                                 const void* arg,
                                                 stg_raytrace_result_t* samples,
-                                                uint32_t sample_count,
-                                                bool ztest = true  );
+                                                const uint32_t sample_count,
+                                                const bool ztest = true  );
   
-        stg_raytrace_result_t Raytrace( stg_radians_t bearing,                 
         
-                                                                               
                stg_meters_t range,
-                                                                               
                stg_ray_test_func_t func,
+        stg_raytrace_result_t Raytrace( const stg_radians_t bearing,           
         
+                                                                               
                const stg_meters_t range,
+                                                                               
                const stg_ray_test_func_t func,
                                                                                
                const void* arg,
-                                                                               
                bool ztest = true );
+                                                                               
                const bool ztest = true );
   
-        void Raytrace( stg_radians_t bearing,                   
-                                                stg_meters_t range,
-                                                stg_radians_t fov,
-                                                stg_ray_test_func_t func,
+        void Raytrace( const stg_radians_t bearing,                     
+                                                const stg_meters_t range,
+                                                const stg_radians_t fov,
+                                                const stg_ray_test_func_t func,
                                                 const void* arg,
                                                 stg_raytrace_result_t* samples,
-                                                uint32_t sample_count,
-                                                bool ztest = true );
+                                                const uint32_t sample_count,
+                                                const bool ztest = true );
   
 
         /** Causes this model and its children to recompute their global
@@ -1430,10 +1426,10 @@
         virtual void PopColor(){ world->PopColor(); }
        
         void DrawFlagList();
-        stg_point_t* LocalToGlobal( double scalex, 
-                                                                               
  double scaley, 
-                                                                               
  stg_point_t pts[], 
-                                                                               
  uint32_t pt_count );   
+//      stg_point_t* LocalToGlobal( double scalex, 
+//                                                                             
  double scaley, 
+//                                                                             
  stg_point_t pts[], 
+//                                                                             
  uint32_t pt_count );   
 
         void DrawPose( stg_pose_t pose );
 

Modified: code/stage/trunk/libstage/stage_internal.hh
===================================================================
--- code/stage/trunk/libstage/stage_internal.hh 2008-11-17 23:06:46 UTC (rev 
7156)
+++ code/stage/trunk/libstage/stage_internal.hh 2008-11-18 02:48:05 UTC (rev 
7157)
@@ -135,12 +135,12 @@
        { colorstack.Push( r,g,b,a ); }
 
        void PopColor(){ colorstack.Pop(); } 
-
-       void InvertView( uint32_t invertflags );
-
-       static void TimerCallback( StgCanvas* canvas );
-       static void perspectiveCb( Fl_Widget* w, void* p );
   
+  void InvertView( uint32_t invertflags );
+  
+  static void TimerCallback( StgCanvas* canvas );
+  static void perspectiveCb( Fl_Widget* w, void* p );
+  
   void Load( Worldfile* wf, int section );
   void Save( Worldfile* wf, int section );
 };
@@ -152,7 +152,7 @@
   friend class SuperRegion;
   friend class StgWorld;
   friend class StgBlock;
-
+  
 private:
   Region* region;
   GSList* list;
@@ -161,10 +161,10 @@
         : region( NULL),
                list(NULL) 
   { /* do nothing */ }  
-
-  void RemoveBlock( StgBlock* b );  
-  void AddBlock( StgBlock* b );
-  void AddBlockNoRecord( StgBlock* b );
+  
+  inline void RemoveBlock( StgBlock* b );
+  inline void AddBlock( StgBlock* b );  
+  inline void AddBlockNoRecord( StgBlock* b );
 };
 
 // a bit of experimenting suggests that these values are fast. YMMV.
@@ -188,14 +188,18 @@
   
   Cell cells[REGIONSIZE];
   SuperRegion* superregion;
-
+  
 public:
   unsigned long count; // number of blocks rendered into these cells
   
   Region();
   ~Region();
-  Cell* GetCell( int32_t x, int32_t y );
   
+  Cell* GetCell( int32_t x, int32_t y )
+  { 
+        return( &cells[x + (y*Region::WIDTH)] ); 
+  };
+  
   void DecrementOccupancy();
   void IncrementOccupancy();
 };
@@ -220,14 +224,58 @@
   SuperRegion( int32_t x, int32_t y );
   ~SuperRegion();
   
-  Region* GetRegion( int32_t x, int32_t y );
+  Region* GetRegion( int32_t x, int32_t y )
+  {
+        return( &regions[ x + (y*SuperRegion::WIDTH) ] );
+  };
   
   void Draw( bool drawall );
   void Floor();
-  void DecrementOccupancy();
-  void IncrementOccupancy();
+
+  void DecrementOccupancy(){ --count; };  
+  void IncrementOccupancy(){ ++count; };
 };
+  
 
+// INLINE METHOD DEFITIONS
+
+inline void Region::DecrementOccupancy()
+{ 
+  assert( superregion );
+  superregion->DecrementOccupancy();
+  --count; 
+}
+
+inline void Region::IncrementOccupancy()
+{ 
+  assert( superregion );
+  superregion->IncrementOccupancy();
+  ++count; 
+}
+
+inline void Cell::RemoveBlock( StgBlock* b )
+{
+  // linear time removal, but these lists should be very short.
+  list = g_slist_remove( list, b );
+  region->DecrementOccupancy();
+}
+
+inline void Cell::AddBlock( StgBlock* b )
+{
+  // constant time prepend
+  list = g_slist_prepend( list, b );    
+  region->IncrementOccupancy();
+  b->RecordRendering( this );
+}
+
+inline void Cell::AddBlockNoRecord( StgBlock* b )
+{
+  list = g_slist_prepend( list, b );
+  // don't add this cell to the block - we assume it's already there
+}
+
 }; // namespace Stg
 
+
+
 #endif // STG_INTERNAL_H

Modified: code/stage/trunk/libstage/world.cc
===================================================================
--- code/stage/trunk/libstage/world.cc  2008-11-17 23:06:46 UTC (rev 7156)
+++ code/stage/trunk/libstage/world.cc  2008-11-18 02:48:05 UTC (rev 7157)
@@ -143,10 +143,10 @@
                PRINT_WARN( "Stg::Init() must be called before a StgWorld is 
created." );
                exit(-1);
         }
+
+  bzero( &extent, sizeof(extent) );
   
   StgWorld::world_list = g_list_append( StgWorld::world_list, this );
-
-  bzero( &this->extent, sizeof(this->extent));
 }
 
 
@@ -483,24 +483,28 @@
 }
 
 
-void StgWorld::Raytrace( stg_pose_t pose, // global pose
-               stg_meters_t range,
-               stg_radians_t fov,
-               stg_ray_test_func_t func,
-               StgModel* model,                         
-               const void* arg,
-               stg_raytrace_result_t* samples, // preallocated storage for 
samples
-               uint32_t sample_count,
-               bool ztest )  // number of samples
+void StgWorld::Raytrace( const stg_pose_t &pose, // global pose
+                                                                const 
stg_meters_t range,
+                                                                const 
stg_radians_t fov,
+                                                                const 
stg_ray_test_func_t func,
+                                                                const 
StgModel* model,                  
+                                                                const void* 
arg,
+                                                                
stg_raytrace_result_t* samples, // preallocated storage for samples
+                                                                const uint32_t 
sample_count,
+                                                                const bool 
ztest )  // number of samples
 {
-       pose.a -= fov/2.0; // direction of first ray
-       stg_radians_t angle_incr = fov/(double)sample_count;
-
-       for( uint32_t s=0; s < sample_count; s++ )
-       {
-               samples[s] = Raytrace( pose, range, func, model, arg, ztest );
-               pose.a += angle_incr;
-       }
+  // find the direction of the first ray
+  stg_pose_t raypose = pose;
+  raypose.a -= fov/2.0;
+  
+  // increment the ray direction by this much for each sample
+  stg_radians_t angle_incr = fov/(double)sample_count;
+    
+  for( uint32_t s=0; s < sample_count; s++ )
+        {
+               samples[s] = Raytrace( raypose, range, func, model, arg, ztest 
);
+               raypose.a += angle_incr;
+        }
 }
 
 
@@ -548,12 +552,12 @@
   return c;
 }
 
-stg_raytrace_result_t StgWorld::Raytrace( stg_pose_t gpose, 
-                                                                               
                                stg_meters_t range,
-                                                                               
                                stg_ray_test_func_t func,
-                                                                               
                                StgModel* mod,          
+stg_raytrace_result_t StgWorld::Raytrace( const stg_pose_t &gpose, 
+                                                                               
                                const stg_meters_t range,
+                                                                               
                                const stg_ray_test_func_t func,
+                                                                               
                                const StgModel* mod,            
                                                                                
                                const void* arg,
-                                                                               
                                bool ztest ) 
+                                                                               
                                const bool ztest ) 
 {
   stg_raytrace_result_t sample;
 
@@ -603,14 +607,9 @@
        //  x,y,  dx,dy, n );
        
        // superregion coords
-       stg_point_int_t lastsup;
-       lastsup.x = INT_MAX; // an unlikely first raytrace
-       lastsup.y = INT_MAX;
+       stg_point_int_t lastsup = {INT_MAX, INT_MAX };
+       stg_point_int_t lastreg = {INT_MAX, INT_MAX };
        
-       stg_point_int_t lastreg;
-       lastreg.x = INT_MAX; // an unlikely first raytrace
-       lastreg.y = INT_MAX;
-       
        SuperRegion* sr = NULL;
        Region* r = NULL;
        bool nonempty_region = false;
@@ -637,8 +636,7 @@
        sr = GetSuperRegionCached( sup ); // possibly NULL, but unlikely
 
        while ( n-- ) 
-    {         
-               
+    {          
                //printf( "pixel [%d %d]\tS[ %d %d ]\t",
                //        x, y, sup.x, sup.y );
                
@@ -690,7 +688,7 @@
                                 //             mod, mod->Token(), ent->mod, 
ent->mod->Token(), x, y );
                                 
                                         // test the predicate we were passed
-                                        if( (*func)( block->mod, mod, arg )) 
// TODO
+                                       if( (*func)( block->mod, 
(StgModel*)mod, arg )) // TODO
                                         {
                                                // a hit!
                                                sample.color = 
block->GetColor();


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Playerstage-commit mailing list
Playerstage-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to