Commit 0afa6d13 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Removed subentityIdsArray method

parent 9afe834a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ String
MeshEntity< MeshConfig, MeshVertexTopology >::
getType()
{
   return String( "Mesh< ... >" );
   return String( "MeshEntity< ... >" );
}

template< typename MeshConfig >
+42 −45
Original line number Diff line number Diff line
@@ -147,7 +147,6 @@ class MeshEntityInitializerLayer< MeshConfig,
   using EntityType                = MeshEntity< MeshConfig, EntityTopology >;
   using SeedType                  = MeshEntitySeed< MeshConfig, EntityTopology >;
   using SubentitySeedsCreatorType = MeshSubentitySeedsCreator< MeshConfig, EntityTopology, DimensionsTag >;
   using IdArrayType               = typename SubentityTraitsType::IdArrayType;
   using LocalIndexType            = typename MeshTraitsType::LocalIndexType;

protected:
@@ -157,14 +156,14 @@ protected:
      //std::cout << "   Initiating subentities with " << DimensionsTag::value << " dimensions ... " << std::endl;
      auto subentitySeeds = SubentitySeedsCreatorType::create( entitySeed );

      IdArrayType& subentityIdsArray = InitializerType::template subentityIdsArray< DimensionTag >( entity );
      for( LocalIndexType i = 0; i < subentitySeeds.getSize(); i++ )
      {
         subentityIdsArray[ i ] = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         //std::cout << "    Adding subentity " << subentityIdsArray[ i ] << std::endl;
         const GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         InitializerType::template setSubentityIndex< DimensionsTag::value >( entity, i, subentityIndex );
         //std::cout << "    Adding subentity " << subentityIndex << std::endl;
         meshInitializer.
            template getSuperentityInitializer< DimensionTag >().
               addSuperentity( EntityDimensionTag(), subentityIdsArray[ i ], entityIndex );
            template getSuperentityInitializer< DimensionsTag >().
               addSuperentity( EntityDimensionsTag(), subentityIndex, entityIndex );
      }

      BaseType::initSubentities( entity, entityIndex, entitySeed, meshInitializer );
@@ -205,7 +204,6 @@ class MeshEntityInitializerLayer< MeshConfig,
   using EntityType                = MeshEntity< MeshConfig, EntityTopology >;
   using SeedType                  = MeshEntitySeed< MeshConfig, EntityTopology >;
   using SubentitySeedsCreatorType = MeshSubentitySeedsCreator< MeshConfig, EntityTopology, DimensionsTag >;
   using IdArrayType               = typename MeshTraits< MeshConfig >::template SubentityTraits< EntityTopology, DimensionsTag::value >::IdArrayType;
   using LocalIndexType            = typename MeshTraits< MeshConfig >::LocalIndexType;
   using OrientationArrayType      = typename SubentitiesTraits::OrientationArrayType;

@@ -216,18 +214,17 @@ protected:
      //std::cout << "   Initiating subentities with " << DimensionsTag::value << " dimensions ... " << std::endl;
      auto subentitySeeds = SubentitySeedsCreatorType::create( entitySeed );

      IdArrayType& subentityIdsArray = InitializerType::template subentityIdsArray< DimensionsTag >( entity );
      OrientationArrayType& subentityOrientationsArray = InitializerType::template subentityOrientationsArray< DimensionsTag >( entity );
      for( LocalIndexType i = 0; i < subentitySeeds.getSize(); i++ )
      {
         GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         subentityIdsArray[ i ] = subentityIndex;
         //std::cout << "    Adding subentity " << subentityIdsArray[ i ] << std::endl;
         const GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         InitializerType::template setSubentityIndex< DimensionsTag::value >( entity, i, subentityIndex );
         //std::cout << "    Adding subentity " << subentityIndex << std::endl;
         subentityOrientationsArray[ i ] = meshInitializer.template getReferenceOrientation< DimensionsTag >( subentityIndex ).createOrientation( subentitySeeds[ i ] );
         //std::cout << "    Subentity orientation = " << subentityOrientationsArray[ i ].getSubvertexPermutation() << std::endl;
         meshInitializer.
            template getSuperentityInitializer< DimensionTag >().
               addSuperentity( EntityDimensionTag(), subentityIdsArray[ i ], entityIndex );
            template getSuperentityInitializer< DimensionsTag >().
               addSuperentity( EntityDimensionsTag(), subentityIndex, entityIndex );
      }

      BaseType::initSubentities( entity, entityIndex, entitySeed, meshInitializer );
@@ -268,7 +265,6 @@ class MeshEntityInitializerLayer< MeshConfig,
   using EntityType                = MeshEntity< MeshConfig, EntityTopology >;
   using SeedType                  = MeshEntitySeed< MeshConfig, EntityTopology >;
   using SubentitySeedsCreatorType = MeshSubentitySeedsCreator< MeshConfig, EntityTopology, DimensionsTag >;
   using IdArrayType               = typename MeshTraits< MeshConfig >::template SubentityTraits< EntityTopology, DimensionsTag >::IdArrayType;
   using LocalIndexType            = typename MeshTraits< MeshConfig >::LocalIndexType;
   using OrientationArrayType      = typename SubentitiesTraits::OrientationArrayType;

@@ -279,12 +275,12 @@ protected:
      //std::cout << "   Initiating subentities with " << DimensionsTag::value << " dimensions ... " << std::endl;
      auto subentitySeeds = SubentitySeedsCreatorType::create( entitySeed );

      IdArrayType& subentityIdsArray = InitializerType::template subentityIdsArray< DimensionsTag >( entity );
      OrientationArrayType& subentityOrientationsArray = InitializerType::template subentityOrientationsArray< DimensionsTag >( entity );
      for( LocalIndexType i = 0; i < subentitySeeds.getSize(); i++ )
      {
         subentityIdsArray[ i ] = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         //std::cout << "    Adding subentity " << subentityIdsArray[ i ] << std::endl;
         const GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         InitializerType::template setSubentityIndex< DimensionsTag::value >( entity, i, subentityIndex );
         //std::cout << "    Adding subentity " << subentityIndex << std::endl;
         subentityOrientationsArray[ i ] = meshInitializer.template getReferenceOrientation< DimensionsTag >( subentitySeeds[ i ] ).createOrientation( subentitySeeds[ i ] );
      }

@@ -323,7 +319,6 @@ class MeshEntityInitializerLayer< MeshConfig,
   using EntityType                = MeshEntity< MeshConfig, EntityTopology >;
   using SeedType                  = MeshEntitySeed< MeshConfig, EntityTopology >;
   using SubentitySeedsCreatorType = MeshSubentitySeedsCreator< MeshConfig, EntityTopology, DimensionsTag >;
   using IdArrayType               = typename MeshTraits< MeshConfig >::template SubentityTraits< EntityTopology, DimensionsTag >::IdArrayType;

protected:
   static void initSubentities( EntityType& entity, GlobalIndexType entityIndex, const SeedType& entitySeed,
@@ -332,9 +327,11 @@ protected:
      //std::cout << "   Initiating subentities with " << DimensionsTag::value << " dimensions ... " << std::endl;
      auto subentitySeeds = SubentitySeedsCreatorType::create( entitySeed );

		IdArrayType& subentityIdsArray = InitializerType::template subentityIdsArray< DimensionTag >( entity );
      for( LocalIndexType i = 0; i < subentitySeeds.getSize(); i++)
			subentityIdsArray[ i ] = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
      {
         const GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         InitializerType::template setSubentityIndex< DimensionsTag::value >( entity, i, subentityIndex );
      }

      BaseType::initSubentities(entity, entityIndex, entitySeed, meshInitializer);
   }
@@ -371,7 +368,6 @@ class MeshEntityInitializerLayer< MeshConfig,
   using EntityType                = MeshEntity< MeshConfig, EntityTopology >;
   using SeedType                  = MeshEntitySeed< MeshConfig, EntityTopology >;
   using SubentitySeedsCreatorType = MeshSubentitySeedsCreator< MeshConfig, EntityTopology, DimensionsTag >;
   using IdArrayType               = typename MeshTraits< MeshConfig >::template SubentityTraits< EntityTopology, DimensionsTag >::IdArrayType;

protected:
   static void initSubentities( EntityType& entity, GlobalIndexType entityIndex, const SeedType& entitySeed,
@@ -379,10 +375,10 @@ protected:
   {
      //std::cout << "   Initiating subentities with " << DimensionsTag::value << " dimensions ... " << std::endl;
      auto subentitySeeds = SubentitySeedsCreatorType::create( entitySeed );
      IdArrayType& subentityIdsArray = InitializerType::template subentityIdsArray< DimensionsTag >( entity );

      for( LocalIndexType i = 0; i < subentitySeeds.getSize(); i++)
      {
         GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         const GlobalIndexType subentityIndex = meshInitializer.findEntitySeedIndex( subentitySeeds[ i ] );
         meshInitializer.
            template getSuperentityInitializer< DimensionsTag >().
               addSuperentity( EntityDimensionsTag(), subentityIndex, entityIndex );
@@ -428,16 +424,17 @@ class MeshEntityInitializerLayer< MeshConfig,
   using EntityDimensionsTag   = MeshDimensionsTag< EntityTopology::dimensions >;
   using EntityType            = MeshEntity< MeshConfig, EntityTopology >;
   using SeedType              = MeshEntitySeed< MeshConfig, EntityTopology >;
   using IdArrayType               = typename MeshTraits< MeshConfig >::template SubentityTraits< EntityTopology, DimensionsTag::value >::IdArrayType;

protected:
   static void initSubentities( EntityType& entity, GlobalIndexType entityIndex, const SeedType& entitySeed,
                                InitializerType& meshInitializer )
   {
      //std::cout << "   Initiating subentities with " << DimensionsTag::value << " dimensions ... " << std::endl;
      const IdArrayType& subentityIdsArray = InitializerType::template subentityIdsArray< DimensionsTag >(entity);
      for( LocalIndexType i = 0; i < subentityIdsArray.getSize(); i++ )
         meshInitializer.template getSuperentityInitializer< DimensionsTag >().addSuperentity( EntityDimensionsTag(), subentityIdsArray[ i ], entityIndex);
      for( LocalIndexType i = 0; i < entity.template getNumberOfSubentities< DimensionsTag::value >(); i++ )
      {
         const GlobalIndexType subentityIndex = entity.template getSubentityIndex< DimensionsTag::value >( i );
         meshInitializer.template getSuperentityInitializer< DimensionsTag >().addSuperentity( EntityDimensionsTag(), subentityIndex, entityIndex);
      }
   }
};

+1 −8
Original line number Diff line number Diff line
@@ -96,19 +96,12 @@ class MeshInitializer
      }

      template<int Subdimensions, typename EntityType, typename LocalIndex, typename GlobalIndex >
      void
      static void
      setSubentityIndex( EntityType& entity, const LocalIndex& localIndex, const GlobalIndex& globalIndex )
      {
         entity.template setSubentityIndex< Subdimensions >( localIndex, globalIndex );
      }

      template<typename SubDimensionsTag, typename EntityType >
      static typename MeshTraitsType::template SubentityTraits< typename EntityType::EntityTopology, SubDimensionsTag::value >::IdArrayType&
      subentityIdsArray( EntityType& entity )
      {
         return entity.template subentityIdsArray< SubDimensionTag::value >();
      }

      template<typename SubDimensionsTag, typename MeshEntity >
      static typename MeshTraitsType::template SubentityTraits< typename MeshEntity::EntityTopology, SubDimensionsTag::value >::OrientationArrayType&
      subentityOrientationsArray( MeshEntity& entity )
+0 −1
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ class MeshSuperentityStorageInitializerLayer< MeshConfig,
   using EntityType                = MeshEntity< MeshConfig, EntityTopology >;

   using MeshTraitsType            = MeshTraits< MeshConfig >;
   using GlobalIdArrayType         = typename MeshTraitsType::GlobalIdArrayType;
   using GlobalIndexType           = typename MeshTraitsType::GlobalIndexType;
   using LocalIndexType            = typename MeshTraitsType::LocalIndexType;
   using MeshInitializerType       = MeshInitializer< MeshConfig >;
+0 −14
Original line number Diff line number Diff line
@@ -85,12 +85,6 @@ public:
                                          localIndex );
   }

   template< int Subdimensions >
   typename SubentityTraits< Subdimensions >::IdArrayType& subentityIdsArray()
   {
      return BaseType::subentityIdsArray( MeshDimensionsTag< Subdimensions >() );
   }

   template< int Subdimensions >
   typename SubentityTraits< Subdimensions >::OrientationArrayType& subentityOrientationsArray()
   {
@@ -200,9 +194,6 @@ protected:
      return this->subentitiesIndices[ localIndex ];
   }

   using BaseType::subentityIdsArray;
   IdArrayType& subentityIdsArray( DimensionsTag ) { return this->subentitiesIndices; }

   using BaseType::subentityOrientation;
   IdPermutationArrayAccessorType subentityOrientation( DimensionTag, LocalIndexType index) const
   {
@@ -313,9 +304,6 @@ protected:
      return this->subentitiesIndices[ localIndex ];
   }

   using BaseType::subentityIdsArray;
   IdArrayType& subentityIdsArray( DimensionsTag ) { return this->subentitiesIndices; }

   using BaseType::subentityOrientationsArray;
   void subentityOrientationsArray() {}

@@ -409,8 +397,6 @@ protected:
      this->verticesIndices[ localIndex ] = globalIndex;
   }

   IdArrayType& subentityIdsArray( DimensionsTag ) { return this->verticesIndices; }

protected:
   /***
    *  Necessary because of 'using BaseType::...;' in the derived classes
Loading