Loading src/TNL/Meshes/MeshDetails/MeshEntity_impl.h +1 −1 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ String MeshEntity< MeshConfig, MeshVertexTopology >:: getType() { return String( "Mesh< ... >" ); return String( "MeshEntity< ... >" ); } template< typename MeshConfig > Loading src/TNL/Meshes/MeshDetails/initializer/MeshEntityInitializer.h +42 −45 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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 ); Loading Loading @@ -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; Loading @@ -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 ); Loading Loading @@ -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; Loading @@ -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 ] ); } Loading Loading @@ -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, Loading @@ -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); } Loading Loading @@ -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, Loading @@ -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 ); Loading Loading @@ -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); } } }; Loading src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h +1 −8 Original line number Diff line number Diff line Loading @@ -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 ) Loading src/TNL/Meshes/MeshDetails/initializer/MeshSuperentityStorageInitializer.h +0 −1 Original line number Diff line number Diff line Loading @@ -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 >; Loading src/TNL/Meshes/MeshDetails/layers/MeshSubentityStorageLayer.h +0 −14 Original line number Diff line number Diff line Loading @@ -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() { Loading Loading @@ -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 { Loading Loading @@ -313,9 +304,6 @@ protected: return this->subentitiesIndices[ localIndex ]; } using BaseType::subentityIdsArray; IdArrayType& subentityIdsArray( DimensionsTag ) { return this->subentitiesIndices; } using BaseType::subentityOrientationsArray; void subentityOrientationsArray() {} Loading Loading @@ -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 Loading
src/TNL/Meshes/MeshDetails/MeshEntity_impl.h +1 −1 Original line number Diff line number Diff line Loading @@ -134,7 +134,7 @@ String MeshEntity< MeshConfig, MeshVertexTopology >:: getType() { return String( "Mesh< ... >" ); return String( "MeshEntity< ... >" ); } template< typename MeshConfig > Loading
src/TNL/Meshes/MeshDetails/initializer/MeshEntityInitializer.h +42 −45 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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 ); Loading Loading @@ -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; Loading @@ -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 ); Loading Loading @@ -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; Loading @@ -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 ] ); } Loading Loading @@ -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, Loading @@ -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); } Loading Loading @@ -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, Loading @@ -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 ); Loading Loading @@ -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); } } }; Loading
src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h +1 −8 Original line number Diff line number Diff line Loading @@ -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 ) Loading
src/TNL/Meshes/MeshDetails/initializer/MeshSuperentityStorageInitializer.h +0 −1 Original line number Diff line number Diff line Loading @@ -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 >; Loading
src/TNL/Meshes/MeshDetails/layers/MeshSubentityStorageLayer.h +0 −14 Original line number Diff line number Diff line Loading @@ -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() { Loading Loading @@ -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 { Loading Loading @@ -313,9 +304,6 @@ protected: return this->subentitiesIndices[ localIndex ]; } using BaseType::subentityIdsArray; IdArrayType& subentityIdsArray( DimensionsTag ) { return this->subentitiesIndices; } using BaseType::subentityOrientationsArray; void subentityOrientationsArray() {} Loading Loading @@ -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