当前位置: 首页>>代码示例>>C++>>正文


C++ WorkItem::getFinish方法代码示例

本文整理汇总了C++中WorkItem::getFinish方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkItem::getFinish方法的具体用法?C++ WorkItem::getFinish怎么用?C++ WorkItem::getFinish使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WorkItem的用法示例。


在下文中一共展示了WorkItem::getFinish方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: avgRenderTime

QTime Job::avgRenderTime(int& days)
{
   QTime sum,diff,midnight;
   QDateTime left,right;
   int tempDays,counter = 0,hour;

   //24*60*60*1000 = 86400000
   const long MS_PER_DAY = 86400000;

   long daySeconds, timeSeconds;
   WorkItem* currentItem = finished.first();
   days = 0;

   //traverse finished list
   while(currentItem)
   {
      left = currentItem->getFinish();
      right = currentItem->getStart();
      diff = left.time() - right.time();

      //if the hours combine to more than 24 add a day
      hour = diff.hour() + sum.hour();
      if(hour >= 24)
         days++;

      //add to sum
      sum = diff + sum;

      //find the days between start time and finish time
      tempDays = right.daysTo(left);

      //if the difference is greater than one day add the difference
      if(tempDays > 0)
      {
         days = days + tempDays - 1;
         if(diff >= midnight)
            days++;
      }

      currentItem = finished.next();
      counter++;
   }

   //now calculate the average.
   //days must be converted into ms
   //sum must be converted into ms
   //the two must be added and devided by counter
   daySeconds = ((double)days/counter)*24*60*60*1000;
   timeSeconds = sum.hour()*60*60*1000 + sum.minute()*60*1000 + sum.second()*1000 + sum.msec();

   if(counter > 0)
      timeSeconds = timeSeconds/counter + daySeconds;
   else
      timeSeconds = 0;

   midnight = midnight.addMSecs(timeSeconds%MS_PER_DAY);

   days = timeSeconds/MS_PER_DAY;
   return midnight;
}
开发者ID:AlphaPixel,项目名称:3DNature,代码行数:60,代码来源:job.cpp


注:本文中的WorkItem::getFinish方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。