Loading src/TNL/Meshes/Mesh.h +6 −11 Original line number Diff line number Diff line Loading @@ -85,22 +85,17 @@ class Mesh bool operator==( const Mesh& mesh ) const; // TODO: this is only for mesh intializer - remove it if possible template< typename DimensionsTag > typename EntityTraits< DimensionsTag::value >::StorageArrayType& entitiesArray(); template< typename EntityTopology, typename SuperdimensionsTag > typename MeshTraitsType::template SuperentityTraits< EntityTopology, SuperdimensionsTag::value >::StorageNetworkType& getSuperentityStorageNetwork() { return StorageBaseType::template getSuperentityStorageNetwork< SuperdimensionsTag >( MeshDimensionsTag< EntityTopology::dimensions >() ); } bool init( const typename MeshTraitsType::PointArrayType& points, const typename MeshTraitsType::CellSeedArrayType& cellSeeds ); protected: // Methods for the mesh initializer using StorageBaseType::getEntitiesArray; using StorageBaseType::getSuperentityStorageNetwork; MeshConfigValidator< MeshConfig > configValidator; friend MeshInitializer< MeshConfig >; }; template< typename MeshConfig > Loading src/TNL/Meshes/MeshDetails/Mesh_impl.h +0 −9 Original line number Diff line number Diff line Loading @@ -149,15 +149,6 @@ operator==( const Mesh& mesh ) const return StorageBaseType::operator==( mesh ); } template< typename MeshConfig > template< typename DimensionTag > typename Mesh< MeshConfig >::template EntityTraits< DimensionTag::value >::StorageArrayType& Mesh< MeshConfig >:: entitiesArray() { return StorageBaseType::entitiesArray( DimensionsTag() ); } template< typename MeshConfig > bool Mesh< MeshConfig >:: Loading src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h +10 −10 Original line number Diff line number Diff line Loading @@ -116,11 +116,11 @@ class MeshInitializer return entity.template subentityOrientationsArray< SubDimensionTag::value >(); } template< typename DimensionTag > typename MeshTraitsType::template EntityTraits< DimensionTag::value >::StorageArrayType& template< int Dimensions > typename MeshTraitsType::template EntityTraits< Dimensions >::StorageArrayType& meshEntitiesArray() { return mesh->template entitiesArray< DimensionTag >(); return mesh->template getEntitiesArray< Dimensions >(); } template< typename EntityTopology, typename SuperdimensionsTag > Loading Loading @@ -209,8 +209,8 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType &initializer, const PointArrayType &points, const CellSeedArrayType &cellSeeds) { StorageArrayType &entityArray = initializer.template meshEntitiesArray< DimensionTag >(); //cout << " Initiating entities with " << DimensionTag::value << " dimensions ... " << std::endl; StorageArrayType &entityArray = initializer.template meshEntitiesArray< Dimensions >(); //cout << " Initiating entities with " << DimensionsTag::value << " dimensions ... " << std::endl; entityArray.setSize( cellSeeds.getSize() ); for( GlobalIndexType i = 0; i < entityArray.getSize(); i++ ) { Loading Loading @@ -356,8 +356,8 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType& initializer, const PointArrayType& points ) { StorageArrayType &entityArray = initializer.template meshEntitiesArray< DimensionTag >(); //cout << " Initiating entities with " << DimensionTag::value << " dimensions ... " << std::endl; StorageArrayType &entityArray = initializer.template meshEntitiesArray< Dimensions >(); //cout << " Initiating entities with " << DimensionsTag::value << " dimensions ... " << std::endl; entityArray.setSize( this->seedsIndexedSet.getSize() ); EntitySeedArrayType seedsArray; seedsArray.setSize( this->seedsIndexedSet.getSize() ); Loading Loading @@ -475,8 +475,8 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType& initializer, const PointArrayType& points ) { EntityArrayType &entityArray = initializer.template meshEntitiesArray< DimensionTag >(); //cout << " Initiating entities with " << DimensionTag::value << " dimensions ... " << std::endl; EntityArrayType &entityArray = initializer.template meshEntitiesArray< DimensionsTag::value >(); //cout << " Initiating entities with " << DimensionsTag::value << " dimensions ... " << std::endl; entityArray.setSize( this->seedsIndexedSet.getSize() ); SeedArrayType seedsArray; seedsArray.setSize( this->seedsIndexedSet.getSize() ); Loading Loading @@ -594,7 +594,7 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType& initializer, const PointArrayType& points ) { EntityArrayType &vertexArray = initializer.template meshEntitiesArray< DimensionTag >(); EntityArrayType &vertexArray = initializer.template meshEntitiesArray< DimensionsTag::value >(); vertexArray.setSize( points.getSize() ); for( GlobalIndexType i = 0; i < vertexArray.getSize(); i++ ) EntityInitializerType::setVertexPoint( vertexArray[i], points[i], initializer ); Loading src/TNL/Meshes/MeshDetails/initializer/MeshSuperentityStorageInitializer.h +1 −1 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ class MeshSuperentityStorageInitializerLayer< MeshConfig, for( auto v_it = it->second.cbegin(); v_it != it->second.cend(); v_it++ ) superentitiesIndices[ i++ ] = *v_it; EntityType& entity = meshInitializer.template meshEntitiesArray< EntityDimensions >()[ entityIndex ]; EntityType& entity = meshInitializer.template meshEntitiesArray< EntityDimensions::value >()[ entityIndex ]; meshInitializer.template bindSuperentitiesStorageNetwork< DimensionsTag::value >( entity, superentityStorageNetwork.getValues( entityIndex++ ) ); } Loading src/TNL/Meshes/MeshDetails/layers/MeshStorageLayer.h +24 −9 Original line number Diff line number Diff line Loading @@ -36,6 +36,24 @@ template< typename MeshConfig > class MeshStorageLayers : public MeshStorageLayer< MeshConfig, typename MeshTraits< MeshConfig >::DimensionTag > { using MeshTraitsType = MeshTraits< MeshConfig >; using BaseType = MeshStorageLayer< MeshConfig, typename MeshTraitsType::DimensionsTag >; template< int Dimensions > using EntityTraits = typename MeshTraitsType::template EntityTraits< Dimensions >; protected: template< int Dimensions > typename EntityTraits< Dimensions >::StorageArrayType& getEntitiesArray() { return BaseType::getEntitiesArray( MeshDimensionsTag< Dimensions >() ); } template< typename EntityTopology, typename SuperdimensionsTag > typename MeshTraitsType::template SuperentityTraits< EntityTopology, SuperdimensionsTag::value >::StorageNetworkType& getSuperentityStorageNetwork() { return BaseType::template getSuperentityStorageNetwork< SuperdimensionsTag >( MeshDimensionsTag< EntityTopology::dimensions >() ); } }; Loading Loading @@ -142,11 +160,9 @@ protected: AccessArrayType entitiesAccess; // TODO: this is only for the mesh initializer - fix it public: using BaseType::entitiesArray; typename EntityTraitsType::StorageArrayType& entitiesArray( DimensionsTag ) // Methods for the mesh initializer using BaseType::getEntitiesArray; typename EntityTraitsType::StorageArrayType& getEntitiesArray( DimensionsTag ) { return entities; } Loading Loading @@ -285,14 +301,13 @@ public: return ( SuperentityStorageBaseType::operator==( meshLayer ) && vertices == meshLayer.vertices ); } private: protected: StorageArrayType vertices; AccessArrayType verticesAccess; // TODO: this is only for the mesh initializer - fix it public: typename EntityTraitsType::StorageArrayType& entitiesArray( DimensionsTag ) // Methods for the mesh initializer typename EntityTraitsType::StorageArrayType& getEntitiesArray( DimensionsTag ) { return vertices; } Loading Loading
src/TNL/Meshes/Mesh.h +6 −11 Original line number Diff line number Diff line Loading @@ -85,22 +85,17 @@ class Mesh bool operator==( const Mesh& mesh ) const; // TODO: this is only for mesh intializer - remove it if possible template< typename DimensionsTag > typename EntityTraits< DimensionsTag::value >::StorageArrayType& entitiesArray(); template< typename EntityTopology, typename SuperdimensionsTag > typename MeshTraitsType::template SuperentityTraits< EntityTopology, SuperdimensionsTag::value >::StorageNetworkType& getSuperentityStorageNetwork() { return StorageBaseType::template getSuperentityStorageNetwork< SuperdimensionsTag >( MeshDimensionsTag< EntityTopology::dimensions >() ); } bool init( const typename MeshTraitsType::PointArrayType& points, const typename MeshTraitsType::CellSeedArrayType& cellSeeds ); protected: // Methods for the mesh initializer using StorageBaseType::getEntitiesArray; using StorageBaseType::getSuperentityStorageNetwork; MeshConfigValidator< MeshConfig > configValidator; friend MeshInitializer< MeshConfig >; }; template< typename MeshConfig > Loading
src/TNL/Meshes/MeshDetails/Mesh_impl.h +0 −9 Original line number Diff line number Diff line Loading @@ -149,15 +149,6 @@ operator==( const Mesh& mesh ) const return StorageBaseType::operator==( mesh ); } template< typename MeshConfig > template< typename DimensionTag > typename Mesh< MeshConfig >::template EntityTraits< DimensionTag::value >::StorageArrayType& Mesh< MeshConfig >:: entitiesArray() { return StorageBaseType::entitiesArray( DimensionsTag() ); } template< typename MeshConfig > bool Mesh< MeshConfig >:: Loading
src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h +10 −10 Original line number Diff line number Diff line Loading @@ -116,11 +116,11 @@ class MeshInitializer return entity.template subentityOrientationsArray< SubDimensionTag::value >(); } template< typename DimensionTag > typename MeshTraitsType::template EntityTraits< DimensionTag::value >::StorageArrayType& template< int Dimensions > typename MeshTraitsType::template EntityTraits< Dimensions >::StorageArrayType& meshEntitiesArray() { return mesh->template entitiesArray< DimensionTag >(); return mesh->template getEntitiesArray< Dimensions >(); } template< typename EntityTopology, typename SuperdimensionsTag > Loading Loading @@ -209,8 +209,8 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType &initializer, const PointArrayType &points, const CellSeedArrayType &cellSeeds) { StorageArrayType &entityArray = initializer.template meshEntitiesArray< DimensionTag >(); //cout << " Initiating entities with " << DimensionTag::value << " dimensions ... " << std::endl; StorageArrayType &entityArray = initializer.template meshEntitiesArray< Dimensions >(); //cout << " Initiating entities with " << DimensionsTag::value << " dimensions ... " << std::endl; entityArray.setSize( cellSeeds.getSize() ); for( GlobalIndexType i = 0; i < entityArray.getSize(); i++ ) { Loading Loading @@ -356,8 +356,8 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType& initializer, const PointArrayType& points ) { StorageArrayType &entityArray = initializer.template meshEntitiesArray< DimensionTag >(); //cout << " Initiating entities with " << DimensionTag::value << " dimensions ... " << std::endl; StorageArrayType &entityArray = initializer.template meshEntitiesArray< Dimensions >(); //cout << " Initiating entities with " << DimensionsTag::value << " dimensions ... " << std::endl; entityArray.setSize( this->seedsIndexedSet.getSize() ); EntitySeedArrayType seedsArray; seedsArray.setSize( this->seedsIndexedSet.getSize() ); Loading Loading @@ -475,8 +475,8 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType& initializer, const PointArrayType& points ) { EntityArrayType &entityArray = initializer.template meshEntitiesArray< DimensionTag >(); //cout << " Initiating entities with " << DimensionTag::value << " dimensions ... " << std::endl; EntityArrayType &entityArray = initializer.template meshEntitiesArray< DimensionsTag::value >(); //cout << " Initiating entities with " << DimensionsTag::value << " dimensions ... " << std::endl; entityArray.setSize( this->seedsIndexedSet.getSize() ); SeedArrayType seedsArray; seedsArray.setSize( this->seedsIndexedSet.getSize() ); Loading Loading @@ -594,7 +594,7 @@ class MeshInitializerLayer< MeshConfig, void initEntities( InitializerType& initializer, const PointArrayType& points ) { EntityArrayType &vertexArray = initializer.template meshEntitiesArray< DimensionTag >(); EntityArrayType &vertexArray = initializer.template meshEntitiesArray< DimensionsTag::value >(); vertexArray.setSize( points.getSize() ); for( GlobalIndexType i = 0; i < vertexArray.getSize(); i++ ) EntityInitializerType::setVertexPoint( vertexArray[i], points[i], initializer ); Loading
src/TNL/Meshes/MeshDetails/initializer/MeshSuperentityStorageInitializer.h +1 −1 Original line number Diff line number Diff line Loading @@ -113,7 +113,7 @@ class MeshSuperentityStorageInitializerLayer< MeshConfig, for( auto v_it = it->second.cbegin(); v_it != it->second.cend(); v_it++ ) superentitiesIndices[ i++ ] = *v_it; EntityType& entity = meshInitializer.template meshEntitiesArray< EntityDimensions >()[ entityIndex ]; EntityType& entity = meshInitializer.template meshEntitiesArray< EntityDimensions::value >()[ entityIndex ]; meshInitializer.template bindSuperentitiesStorageNetwork< DimensionsTag::value >( entity, superentityStorageNetwork.getValues( entityIndex++ ) ); } Loading
src/TNL/Meshes/MeshDetails/layers/MeshStorageLayer.h +24 −9 Original line number Diff line number Diff line Loading @@ -36,6 +36,24 @@ template< typename MeshConfig > class MeshStorageLayers : public MeshStorageLayer< MeshConfig, typename MeshTraits< MeshConfig >::DimensionTag > { using MeshTraitsType = MeshTraits< MeshConfig >; using BaseType = MeshStorageLayer< MeshConfig, typename MeshTraitsType::DimensionsTag >; template< int Dimensions > using EntityTraits = typename MeshTraitsType::template EntityTraits< Dimensions >; protected: template< int Dimensions > typename EntityTraits< Dimensions >::StorageArrayType& getEntitiesArray() { return BaseType::getEntitiesArray( MeshDimensionsTag< Dimensions >() ); } template< typename EntityTopology, typename SuperdimensionsTag > typename MeshTraitsType::template SuperentityTraits< EntityTopology, SuperdimensionsTag::value >::StorageNetworkType& getSuperentityStorageNetwork() { return BaseType::template getSuperentityStorageNetwork< SuperdimensionsTag >( MeshDimensionsTag< EntityTopology::dimensions >() ); } }; Loading Loading @@ -142,11 +160,9 @@ protected: AccessArrayType entitiesAccess; // TODO: this is only for the mesh initializer - fix it public: using BaseType::entitiesArray; typename EntityTraitsType::StorageArrayType& entitiesArray( DimensionsTag ) // Methods for the mesh initializer using BaseType::getEntitiesArray; typename EntityTraitsType::StorageArrayType& getEntitiesArray( DimensionsTag ) { return entities; } Loading Loading @@ -285,14 +301,13 @@ public: return ( SuperentityStorageBaseType::operator==( meshLayer ) && vertices == meshLayer.vertices ); } private: protected: StorageArrayType vertices; AccessArrayType verticesAccess; // TODO: this is only for the mesh initializer - fix it public: typename EntityTraitsType::StorageArrayType& entitiesArray( DimensionsTag ) // Methods for the mesh initializer typename EntityTraitsType::StorageArrayType& getEntitiesArray( DimensionsTag ) { return vertices; } Loading