POVMSLong POVMS_Object::GetLong(POVMSType key) { POVMSLong value; int err; err = POVMSUtil_GetLong(&data, key, &value); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return value; }
POVMSLong POVMS_Object::GetLong(POVMSType key) { POVMSLong value; int err; err = POVMSUtil_GetLong(&data, key, &value); if(err != kNoErr) throw err; return value; }
void WinRenderFrontend::RenderProgress (POVMSObjectPtr msg, POVMSObjectPtr, int) { int ret = kNoErr ; int n = 0 ; int l = 0 ; int s = 0 ; char str [512] ; char *p = str ; POVMSLong ll = 0 ; if (no_status_output) return ; if (delay_next_status) return ; // animation frame progress if (POVMSUtil_GetInt (msg, kPOVAttrib_FrameCount, &l) == kNoErr) { if (POVMSUtil_GetInt (msg, kPOVAttrib_AbsoluteCurFrame, &s) == kNoErr) { status_printf (StatusMessage, "Rendering frame %d of %d", s, l) ; delay_next_status = 1000 ; } } // parsing progress else if ((POVMSUtil_GetLong (msg, kPOVAttrib_CurrentToken, &ll) == kNoErr) && (ll > 0)) { status_printf (StatusMessage, "Parsed %I64u tokens", ll) ; } // rendering progress else if (POVMSUtil_GetInt (msg, kPOVAttrib_CurrentLine, &l) == kNoErr) { if (POVMSUtil_GetInt (msg, kPOVAttrib_LineCount, &s) == kNoErr) { if (POVMSUtil_GetInt(msg, kPOVAttrib_MosaicPreviewSize, &n) == kNoErr) p += sprintf (str, "Pre-rendering line %d of %d (mosaic %dx%d)", l, s, n, n) ; else p += sprintf (str, "Rendering line %d of %d", l, s) ; if (POVMSUtil_GetInt (msg, kPOVAttrib_SuperSampleCount, &l) == kNoErr) p += sprintf (p, " (%d supersamples)", l) ; if (POVMSUtil_GetInt (msg, kPOVAttrib_RadGatherCount, &l) == kNoErr) { if (*(p - 1) == ')') p += sprintf (--p, ", %d radiosity samples)", l) ; else p += sprintf (p, " (%d radiosity samples)", l) ; } if (seconds_for_last_line > 9) sprintf (p, " [last line %d PPS]", render_width / seconds_for_last_line) ; say_status_message (StatusMessage, str) ; } } // photon progress else if (POVMSUtil_GetInt (msg, kPOVAttrib_TotalPhotonCount, &n) == kNoErr) { // sorting if (POVMSUtil_GetInt (msg, kPOVAttrib_CurrentPhotonCount, &s) == kNoErr) status_printf (StatusMessage, "Sorting photon %d of %d", s, n) ; // shooting else { l = s = 0 ; POVMSUtil_GetInt (msg, kPOVAttrib_PhotonXSamples, &l) ; POVMSUtil_GetInt (msg, kPOVAttrib_PhotonYSamples, &s) ; status_printf (StatusMessage, "Photons %d (sampling %dx%d)", n, s, l) ; } } }