コード例 #1
0
ファイル: MeshKernel.cpp プロジェクト: 00liujj/trilinos
bool Kernel::has_superset( const Part & p ) const
{
  const unsigned ordinal = p.mesh_meta_data_ordinal();

  std::pair<const unsigned *, const unsigned *> 
    part_ord = superset_part_ordinals();

  part_ord.first =
    std::lower_bound( part_ord.first , part_ord.second , ordinal );

  return part_ord.first < part_ord.second && ordinal == *part_ord.first ;
}
コード例 #2
0
ファイル: Bucket.cpp プロジェクト: gitter-badger/quinoa
void Bucket::supersets( OrdinalVector & ps ) const
{
  std::pair<const unsigned *, const unsigned *>
    part_ord = superset_part_ordinals();

  ps.resize( part_ord.second - part_ord.first );

  for ( unsigned i = 0 ;
        part_ord.first < part_ord.second ; ++(part_ord.first) , ++i ) {
    ps[i] = *part_ord.first;
  }
}
コード例 #3
0
ファイル: Bucket.cpp プロジェクト: haripandey/trilinos
void Bucket::supersets( PartVector & ps ) const
{
  const MetaData & mesh_meta_data = mesh().mesh_meta_data();

  std::pair<const unsigned *, const unsigned *>
    part_ord = superset_part_ordinals();

  ps.resize( part_ord.second - part_ord.first );

  for ( unsigned i = 0 ;
        part_ord.first < part_ord.second ; ++(part_ord.first) , ++i ) {
    ps[i] = & mesh_meta_data.get_part( * part_ord.first );
  }
}
コード例 #4
0
ファイル: MeshKernel.cpp プロジェクト: 00liujj/trilinos
bool Kernel::has_superset( const PartSet & ps ) const
{
  std::pair<const unsigned *, const unsigned *> 
    part_ord = superset_part_ordinals();

  bool result = ! ps.empty();

  for ( PartSet::const_iterator
        i = ps.begin() ; result && i != ps.end() ; ++i ) {

    const unsigned ordinal = (*i)->mesh_meta_data_ordinal();

    part_ord.first =
      std::lower_bound( part_ord.first , part_ord.second , ordinal );

    result = part_ord.first < part_ord.second && ordinal == *part_ord.first ;
  }
  return result ;
}