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


C++ Worker::addFinishedTask方法代码示例

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


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

示例1:

int Map::Worker::run(void *data)
{
  Worker *instance = (Worker*)(data);

  int exitCode = -1;

  for (;;)
  {
    exitCode = instance->getExitCode();
    if (exitCode != -1)
      break;

    WorkerTask task = instance->getScheduledTask();

    if (!task.valid)
      continue;

    Quad* neighbors[4] = { NULL };
    neighbors[0] = task.map->findQuad(task.x  , task.z-1);
    neighbors[1] = task.map->findQuad(task.x+1, task.z  );
    neighbors[2] = task.map->findQuad(task.x  , task.z+1);
    neighbors[3] = task.map->findQuad(task.x-1, task.z  );

    task.quad->generate(neighbors, task.scale, task.fractal);
    task.quad->calculateNormals(neighbors, task.scale);

    for (int i = 0; i < 4; ++i)
    {
      if (neighbors[i] != NULL)
      {
        Quad* nNeighbors[4] = { NULL };
        nNeighbors[0] = task.map->findQuad(neighbors[i]->x()  , neighbors[i]->z()-1);
        nNeighbors[1] = task.map->findQuad(neighbors[i]->x()+1, neighbors[i]->z()  );
        nNeighbors[2] = task.map->findQuad(neighbors[i]->x()  , neighbors[i]->z()+1);
        nNeighbors[3] = task.map->findQuad(neighbors[i]->x()-1, neighbors[i]->z()  );
        neighbors[i]->calculateNormals(nNeighbors, task.scale);
      }
    }

    instance->addFinishedTask(task);
  }

  return exitCode;
}
开发者ID:piotrdz,项目名称:FlightSim,代码行数:44,代码来源:map.cpp


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