Commit 3dbfb472 authored by Ján Bobot's avatar Ján Bobot Committed by Jakub Klinkovský
Browse files

Fixed failed static assertions in mesh initializer

parent c25535d2
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -54,8 +54,14 @@ class EntityInitializer

   using SeedType         = EntitySeed< MeshConfig, EntityTopology >;
   using InitializerType  = Initializer< MeshConfig >;
   using NeighborCountsArray = typename MeshTraitsType::NeighborCountsArray;

public:
   static void initSubvertexMatrix( const NeighborCountsArray& capacities, InitializerType& initializer )
   {
      initializer.template initSubentityMatrix< EntityTopology::dimension, 0 >( capacities );
   }

   static void initEntity( const GlobalIndexType entityIndex, const SeedType& entitySeed, InitializerType& initializer )
   {
      // this is necessary if we want to use existing entities instead of intermediate seeds to create subentity seeds
@@ -76,7 +82,9 @@ class EntityInitializer< MeshConfig, EntityTopology, false >

   using SeedType         = EntitySeed< MeshConfig, EntityTopology >;
   using InitializerType  = Initializer< MeshConfig >;
   using NeighborCountsArray = typename MeshTraitsType::NeighborCountsArray;
public:
   static void initSubvertexMatrix( const NeighborCountsArray& capacities, InitializerType& initializer ) {}
   static void initEntity( const GlobalIndexType entityIndex, const SeedType& entitySeed, InitializerType& initializer ) {}
};

+2 −2
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ class InitializerLayer< MeshConfig, typename MeshTraits< MeshConfig >::Dimension
         for( LocalIndexType i = 0; i < capacities.getSize(); i++ )
            capacities[ i ] = cellSeeds[ i ].getCornersCount();

         initializer.template initSubentityMatrix< EntityTopology::dimension, 0 >( capacities );
         EntityInitializerType::initSubvertexMatrix( capacities, initializer );

         for( GlobalIndexType i = 0; i < cellSeeds.getSize(); i++ )
            EntityInitializerType::initEntity( i, cellSeeds[ i ], initializer );
@@ -252,7 +252,7 @@ class InitializerLayer
         NeighborCountsArray capacities( numberOfEntities );
         int vertexCount = MeshTraitsType::template SubentityTraits< EntityTopology, 0 >::count;
         capacities.setValue( vertexCount );
         initializer.template initSubentityMatrix< EntityTopology::dimension, 0 >( capacities );
         EntityInitializerType::initSubvertexMatrix( capacities, initializer );

         using SubentitySeedsCreator = SubentitySeedsCreator< MeshConfig, typename MeshTraitsType::CellTopology, DimensionTag >;
         for( GlobalIndexType i = 0; i < mesh.template getEntitiesCount< MeshType::getMeshDimension() >(); i++ )
+2 −0
Original line number Diff line number Diff line
@@ -89,6 +89,8 @@ public:
   setSubentitiesCounts( const typename MeshTraitsType::NeighborCountsArray& counts )
   {
      static_assert( Dimension > Subdimension, "Invalid combination of Dimension and Subdimension." );
      static_assert( SubentityTraits< Dimension, Subdimension >::storageEnabled,
                     "You try to set subentitiesCounts for a combination of Dimension and Subdimension which is disabled in the mesh configuration." );
      using BaseType = SubentityStorageLayerFamily< MeshConfig,
                                                    Device,
                                                    typename EntityTraits< Dimension >::EntityTopology >;