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


C++ ON_SimpleArray::Destroy方法代码示例

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


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

示例1: SetMesh

void CMeshDir::SetMesh( const ON_Mesh* mesh )
{
  m_mesh = mesh;
  m_face_center.Destroy();
  m_face_normal.Destroy();
  if( m_mesh )
  {
    if( !m_mesh->HasFaceNormals() )
    {
      const_cast<ON_Mesh*>(m_mesh)->ComputeFaceNormals();
    }
    if( m_mesh->HasFaceNormals() )
    {
      int fi, fcnt = m_mesh->m_F.Count();
      m_face_center.Reserve(fcnt);
      m_face_normal.Reserve(fcnt);
      ON_3dPoint p;
      ON_3dVector n;
      for( fi = 0; fi < fcnt; fi++ )
      {
        const int* fvi = m_mesh->m_F[fi].vi;
        if( m_mesh->m_F[fi].IsQuad() )
        {
          p = 0.25*(m_mesh->m_V[fvi[0]] + m_mesh->m_V[fvi[1]] + m_mesh->m_V[fvi[2]] + m_mesh->m_V[fvi[3]]);
        }
        else if( m_mesh->m_F[fi].IsTriangle() )
        {
          p = (1.0f/3.0f)*(m_mesh->m_V[fvi[0]] + m_mesh->m_V[fvi[1]] + m_mesh->m_V[fvi[2]]);
        }
        else
          continue;
        n = m_mesh->m_FN[fi];
        m_face_center.Append(p);
        m_face_normal.Append(n);
      }
    }
  }
}
开发者ID:619486,项目名称:Rhino5Samples_CPP,代码行数:38,代码来源:cmdSampleMeshDir.cpp


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