Changeset 1715 for GTP/trunk/Lib/Vis/Preprocessing/src/Pvs.h
- Timestamp:
- 11/06/06 20:47:06 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/Pvs.h
r1707 r1715 97 97 { 98 98 public: 99 Pvs(): /*mSamples(0), */mEntries() {} 99 Pvs(): mSamples(0), mEntries() {} 100 100 101 101 102 //virtual ~Pvs(); … … 199 200 /// Map of PVS entries 200 201 std::map<T, S, LtSample<T> > mEntries; 202 203 /// Number of samples used to create the PVS 204 int mSamples; 201 205 }; 202 206 … … 340 344 Pvs<T, S>::AddSample(T sample, const float pdf) 341 345 { 342 S *data = Find(sample); 343 344 if (data) 345 { 346 data->mSumPdf += pdf; 347 return data->mSumPdf; 348 } 349 else 350 { 351 mEntries[sample] = S(pdf); 352 return pdf; 346 mSamples++; 347 S *data = Find(sample); 348 349 if (data) 350 { 351 data->mSumPdf += pdf; 352 return data->mSumPdf; 353 } 354 else 355 { 356 mEntries[sample] = S(pdf); 357 return pdf; 353 358 } 354 359 } … … 358 363 S * Pvs<T, S>::AddSample2(T sample, const float pdf) 359 364 { 360 S *data = Find(sample); 361 362 if (data) 363 { 364 data->mSumPdf += pdf; 365 } 366 else 367 { 368 mEntries[sample] = S(pdf); 369 data = Find(sample); 370 } 371 372 return data; 365 mSamples++; 366 S *data = Find(sample); 367 368 if (data) 369 { 370 data->mSumPdf += pdf; 371 } 372 else 373 { 374 mEntries[sample] = S(pdf); 375 data = Find(sample); 376 } 377 378 return data; 373 379 } 374 380 … … 378 384 float &contribution) 379 385 { 386 mSamples++; 380 387 S *data = Find(sample); 381 388 … … 415 422 const float pdf) 416 423 { 424 mSamples--; 425 417 426 std::map<T, S, LtSample<T> >:: 418 427 iterator it = mEntries.find(sample); … … 436 445 int Pvs<T, S>::AddPvs(const Pvs<T, S> &pvs) 437 446 { 447 mSamples += pvs.mSamples; 438 448 std::map<T, S, LtSample<T> >:: 439 449 const_iterator it, it_end = pvs.mEntries.end(); … … 452 462 int Pvs<T, S>::SubtractPvs(const Pvs<T, S> &pvs) 453 463 { 464 mSamples -= pvs.mSamples; 454 465 std::map<T, S, LtSample<T> >:: 455 466 const_iterator it, it_end = pvs.mEntries.end();
Note: See TracChangeset
for help on using the changeset viewer.