ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/RtraceSimulManager.cpp
(Generate patch)

Comparing ray/src/rt/RtraceSimulManager.cpp (file contents):
Revision 2.6 by greg, Tue Apr 30 23:16:23 2024 UTC vs.
Revision 2.7 by greg, Wed May 1 20:28:53 2024 UTC

# Line 117 | Line 117 | RadSimulManager::ThreadsAvailable() const
117   // Global pointer to simulation manager for trace call-back (only one)
118   static const RtraceSimulManager *       ourRTsimMan = NULL;
119  
120 < void    // static call-back
120 > // Call-back for trace output
121 > void
122   RtraceSimulManager::RTracer(RAY *r)
123   {
124          (*ourRTsimMan->traceCall)(r, ourRTsimMan->tcData);
# Line 237 | Line 238 | RtraceSimulManager::EnqueueBundle(const FVECT orig_dir
238                  if (d > 0) {            // direction vector is valid?
239                          if (curFlags & RTlimDist)
240                                  res.rmax = d;
241 <                        if (curFlags & RTdoFIFO) {
242 <                                ray_fifo_in(&res);
241 >                        if (((curFlags&RTdoFIFO) != 0) & (ray_pnprocs > 0)) {
242 >                                if (ray_fifo_in(&res) < 0)
243 >                                        return -1;
244                                  sendRes = false;
245                          } else
246                                  sendRes &= ProcessRay(&res);
# Line 257 | Line 259 | RtraceSimulManager::EnqueueBundle(const FVECT orig_dir
259   int
260   RtraceSimulManager::FlushQueue()
261   {
262 <        if (curFlags & RTdoFIFO)
263 <                return ray_fifo_flush();
264 <
262 >        if (curFlags & RTdoFIFO) {
263 >                if (ray_pnprocs)
264 >                        return ray_fifo_flush();
265 >                return 0;
266 >        }
267          int     nsent = 0;
268          RAY     res;
269  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines