ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/Development/ray/src/rt/RcontribSimulManager.h
(Generate patch)

Comparing ray/src/rt/RcontribSimulManager.h (file contents):
Revision 2.13 by greg, Thu Oct 23 16:33:39 2025 UTC vs.
Revision 2.14 by greg, Sat Oct 25 03:30:35 2025 UTC

# Line 174 | Line 174 | class RcontribSimulManager : protected RtraceSimulMana
174   protected:
175          static RayReportCall    RctCall;        // our callback for traced rays
176          ABitMap                 rowsDone;       // bit mask of completed rows
177 +        mutable uint32          nrDone;         // current contiguous #rows done
178          uint32                  rInPos;         // which row (record) is next on input?
179          uby8                    nChan;          // NCSAMP setting for this calculation
180          char                    dtyp;           // data type ('f', 'd', or 'c')
# Line 195 | Line 196 | class RcontribSimulManager : protected RtraceSimulMana
196          uint32                  accum;          // # rays to accumulate per record
197                                  RcontribSimulManager(const char *octn = NULL)
198                                                  : RtraceSimulManager(NULL, NULL, octn) {
199 <                                        rInPos = 0;
199 >                                        nrDone = rInPos = 0;
200                                          nChan = 0;
201                                          dtyp = 'f';
202                                          dsiz = 0;
# Line 309 | Line 310 | class RcontribSimulManager : protected RtraceSimulMana
310                                  }
311                                  /// Get # rows completed
312          int                     GetRowFinished() const {
313 <                                        if (!nkids) return rInPos;
314 <                                        uint32  nDone = rowsDone.Find(0, false);
315 <                                        if (nDone == ABMend)
316 <                                                return rowsDone.Length();
317 <                                        return nDone;
313 >                                        if (!nkids) return nrDone = rInPos;
314 >                                        nrDone = rowsDone.Find(nrDone, false);
315 >                                        if (nrDone == ABMend)
316 >                                                nrDone = rowsDone.Length();
317 >                                        return nrDone;
318                                  }
319                                  /// Add a ray/bundle to compute next record (n=accum)
320          int                     ComputeRecord(const FVECT orig_direc[]);
# Line 331 | Line 332 | class RcontribSimulManager : protected RtraceSimulMana
332                                          if (rowsDone.Length()) {
333                                                  SetThreadCount(1);
334                                                  rowsDone.NewBitMap(0);
335 <                                                rInPos = 0;
335 >                                                nrDone = rInPos = 0;
336                                          }
337                                          lu_done(&modLUT);
338                                          delete outList; outList = NULL;

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)