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


C++ Header::binarySize方法代码示例

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


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

示例1: while

void ANIM::ANIM2::Enumerate<BigDNA::BinarySize>(typename BinarySize::StreamT& s) {
  Header head;

  WordBitmap keyBmp;
  for (atUint32 frame : frames) {
    while (keyBmp.getBit(frame))
      ++frame;
    keyBmp.setBit(frame);
  }

  head.binarySize(s);
  keyBmp.binarySize(s);
  s += 4;
  for (const std::pair<atUint32, std::tuple<bool, bool, bool>>& bone : bones) {
    s += 7;
    if (std::get<0>(bone.second))
      s += 9;
    if (std::get<1>(bone.second))
      s += 9;
    if (std::get<2>(bone.second))
      s += 9;
  }

  s += DNAANIM::ComputeBitstreamSize(frames.size(), channels);
}
开发者ID:AxioDL,项目名称:urde,代码行数:25,代码来源:ANIM.cpp

示例2:

void ANIM::ANIM0::Enumerate<BigDNA::BinarySize>(typename BinarySize::StreamT& s) {
  Header head;

  atUint32 maxId = 0;
  for (const std::pair<atUint32, std::tuple<bool, bool, bool>>& bone : bones)
    maxId = std::max(maxId, bone.first);

  head.binarySize(s);
  s += maxId + 1;
  s += bones.size() * 3 + 12;

  s += 12;
  for (const std::pair<atUint32, std::tuple<bool, bool, bool>>& bone : bones) {
    if (std::get<0>(bone.second))
      s += head.keyCount * 16;
    if (std::get<1>(bone.second))
      s += head.keyCount * 12;
    if (std::get<2>(bone.second))
      s += head.keyCount * 12;
  }
}
开发者ID:AxioDL,项目名称:urde,代码行数:21,代码来源:ANIM.cpp

示例3:

size_t ANIM::ANIM0::binarySize(size_t __isz) const
{
    Header head;

    atUint32 maxId = 0;
    for (const std::pair<atUint32, bool>& bone : bones)
        maxId = std::max(maxId, bone.first);

    __isz = head.binarySize(__isz);
    __isz += maxId + 1;
    __isz += bones.size() + 4;

    __isz += 8;
    for (const std::pair<atUint32, bool>& bone : bones)
    {
        __isz += head.keyCount * 16;
        if (bone.second)
            __isz += head.keyCount * 12;
    }

    return __isz + 4;
}
开发者ID:KalDragon,项目名称:urde,代码行数:22,代码来源:ANIM.cpp

示例4: while

size_t ANIM::ANIM2::binarySize(size_t __isz) const
{
    Header head;

    WordBitmap keyBmp;
    for (atUint32 frame : frames)
    {
        while (keyBmp.getBit(frame))
            ++frame;
        keyBmp.setBit(frame);
    }

    __isz = head.binarySize(__isz);
    __isz = keyBmp.binarySize(__isz);
    __isz += 8;
    for (const std::pair<atUint32, bool>& bone : bones)
    {
        __isz += 17;
        if (bone.second)
            __isz += 9;
    }

    return __isz + DNAANIM::ComputeBitstreamSize(frames.size(), channels);
}
开发者ID:KalDragon,项目名称:urde,代码行数:24,代码来源:ANIM.cpp


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