diff --git a/src/TNL/Meshes/MeshDetails/CMakeLists.txt b/src/TNL/Meshes/MeshDetails/CMakeLists.txt index d559677da2058b6e427a02212d0da1c9f810f7f4..3bc6e5306e7bfaf0c53ec81ba62881455178daca 100644 --- a/src/TNL/Meshes/MeshDetails/CMakeLists.txt +++ b/src/TNL/Meshes/MeshDetails/CMakeLists.txt @@ -3,7 +3,7 @@ ADD_SUBDIRECTORY( initializer ) ADD_SUBDIRECTORY( layers ) ADD_SUBDIRECTORY( traits ) -SET( headers MeshEntityId.h +SET( headers MeshEntityIndex.h MeshEntityIntegrityChecker.h MeshEntityOrientation.h MeshEntityReferenceOrientation.h diff --git a/src/TNL/Meshes/MeshDetails/MeshEntityId.h b/src/TNL/Meshes/MeshDetails/MeshEntityIndex.h similarity index 64% rename from src/TNL/Meshes/MeshDetails/MeshEntityId.h rename to src/TNL/Meshes/MeshDetails/MeshEntityIndex.h index b27f5369894dfedde774800429509bec8ea57ad5..7f064e9f76212fca8fa206f2fc39a1eb2b9e298c 100644 --- a/src/TNL/Meshes/MeshDetails/MeshEntityId.h +++ b/src/TNL/Meshes/MeshDetails/MeshEntityIndex.h @@ -1,5 +1,5 @@ /*************************************************************************** - MeshEntityId.h - description + MeshEntityIndex.h - description ------------------- begin : Feb 28, 2014 copyright : (C) 2014 by Tomas Oberhuber et al. @@ -21,28 +21,28 @@ namespace TNL { namespace Meshes { -template< typename IDType, - typename GlobalIndexType > -class MeshEntityId +template< typename IDType > +class MeshEntityIndex { public: - MeshEntityId() + // FIXME: IDType may be unsigned + MeshEntityIndex() : id( -1 ) {} - const IDType& getId() const + const IDType& getIndex() const { TNL_ASSERT( this->id >= 0, ); return this->id; } - bool operator==( const MeshEntityId< IDType, GlobalIndexType >& id ) const + bool operator==( const MeshEntityIndex& id ) const { return ( this->id == id.id ); } protected: - void setId( GlobalIndexType id ) + void setIndex( IDType id ) { this->id = id; } @@ -50,17 +50,18 @@ protected: IDType id; }; -template< typename GlobalIndexType > -class MeshEntityId< void, GlobalIndexType > +template<> +class MeshEntityIndex< void > { public: - bool operator==( const MeshEntityId< void, GlobalIndexType >& id ) const + bool operator==( const MeshEntityIndex& id ) const { return true; } protected: - void setId( GlobalIndexType ) + template< typename Index > + void setIndex( Index ) {} }; diff --git a/src/TNL/Meshes/MeshDetails/MeshEntity_impl.h b/src/TNL/Meshes/MeshDetails/MeshEntity_impl.h index 7363da05a8d24f0e90b5483f14d64c8b3209eebe..2a18c36f07e328c31824c93ac89baaf771415216 100644 --- a/src/TNL/Meshes/MeshDetails/MeshEntity_impl.h +++ b/src/TNL/Meshes/MeshDetails/MeshEntity_impl.h @@ -82,8 +82,7 @@ operator==( const MeshEntity& entity ) const { return ( MeshSubentityAccess< MeshConfig, EntityTopology >::operator==( entity ) && MeshSuperentityAccess< MeshConfig, EntityTopology >::operator==( entity ) && - MeshEntityId< typename MeshConfig::IdType, - typename MeshConfig::GlobalIndexType >::operator==( entity ) ); + MeshEntityIndex< typename MeshConfig::IdType >::operator==( entity ) ); } template< typename MeshConfig, @@ -183,8 +182,7 @@ MeshEntity< MeshConfig, MeshVertexTopology >:: operator==( const MeshEntity& entity ) const { return ( MeshSuperentityAccess< MeshConfig, MeshVertexTopology >::operator==( entity ) && - MeshEntityId< typename MeshConfig::IdType, - typename MeshConfig::GlobalIndexType >::operator==( entity ) && + MeshEntityIndex< typename MeshConfig::IdType >::operator==( entity ) && point == entity.point ); } diff --git a/src/TNL/Meshes/MeshDetails/initializer/MeshEntityInitializer.h b/src/TNL/Meshes/MeshDetails/initializer/MeshEntityInitializer.h index 4d67b84fd1bac0a4ce57228a52306f402f798fa3..651f1341189731e42a4d2c72ff49be5ec7e13028 100644 --- a/src/TNL/Meshes/MeshDetails/initializer/MeshEntityInitializer.h +++ b/src/TNL/Meshes/MeshDetails/initializer/MeshEntityInitializer.h @@ -75,7 +75,7 @@ public: static void initEntity( EntityType& entity, const GlobalIndexType& entityIndex, const SeedType& entitySeed, InitializerType& initializer) { - initializer.setEntityId( entity, entityIndex ); + initializer.setEntityIndex( entity, entityIndex ); // this is necessary if we want to use existing entities instead of intermediate seeds to create subentity seeds for( LocalIndexType i = 0; i < entitySeed.getCornerIds().getSize(); i++ ) initializer.template setSubentityIndex< 0 >( entity, entityIndex, i, entitySeed.getCornerIds()[ i ] ); @@ -98,7 +98,7 @@ public: static void initEntity( VertexType& entity, const GlobalIndexType& entityIndex, const PointType& point, InitializerType& initializer) { - initializer.setEntityId( entity, entityIndex ); + initializer.setEntityIndex( entity, entityIndex ); initializer.setVertexPoint( entity, point ); } }; diff --git a/src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h b/src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h index b2f8cde3db00dc80e354c99411b6089565daf3df..dc2f951e510c099f39528fa25d678717398ece0b 100644 --- a/src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h +++ b/src/TNL/Meshes/MeshDetails/initializer/MeshInitializer.h @@ -112,9 +112,9 @@ class MeshInitializer } template< typename Entity, typename GlobalIndex > - void setEntityId( Entity& entity, const GlobalIndex& index ) + void setEntityIndex( Entity& entity, const GlobalIndex& index ) { - entity.setId( index ); + entity.setIndex( index ); } template< int Dimension > diff --git a/src/TNL/Meshes/MeshEntity.h b/src/TNL/Meshes/MeshEntity.h index 6fa0820b1b2da463b927819c762603828333a273..89890d5e0188820e82ce2e121b8f5a12c3f4bf48 100644 --- a/src/TNL/Meshes/MeshEntity.h +++ b/src/TNL/Meshes/MeshEntity.h @@ -19,7 +19,7 @@ #include <TNL/File.h> #include <TNL/Meshes/MeshDetails/traits/MeshTraits.h> #include <TNL/Meshes/Topologies/MeshVertexTopology.h> -#include <TNL/Meshes/MeshDetails/MeshEntityId.h> +#include <TNL/Meshes/MeshDetails/MeshEntityIndex.h> #include <TNL/Meshes/MeshDetails/layers/MeshSubentityAccess.h> #include <TNL/Meshes/MeshDetails/layers/MeshSuperentityAccess.h> #include <TNL/Meshes/MeshDetails/layers/MeshEntityStorageRebinder.h> @@ -35,8 +35,7 @@ template< typename MeshConfig, class MeshEntity : protected MeshSubentityAccess< MeshConfig, EntityTopology_ >, protected MeshSuperentityAccess< MeshConfig, EntityTopology_ >, - public MeshEntityId< typename MeshConfig::IdType, - typename MeshConfig::GlobalIndexType > + public MeshEntityIndex< typename MeshConfig::IdType > { public: using MeshTraitsType = MeshTraits< MeshConfig >; @@ -110,8 +109,7 @@ class MeshEntity template< typename MeshConfig > class MeshEntity< MeshConfig, MeshVertexTopology > : protected MeshSuperentityAccess< MeshConfig, MeshVertexTopology >, - public MeshEntityId< typename MeshConfig::IdType, - typename MeshConfig::GlobalIndexType > + public MeshEntityIndex< typename MeshConfig::IdType > { public: using MeshTraitsType = MeshTraits< MeshConfig >; diff --git a/src/UnitTests/Meshes/MeshEntityTest.h b/src/UnitTests/Meshes/MeshEntityTest.h index 3468732fd1667cfc4bbfb4de3711f8c0c96c6e06..a7dca6bfbcc09a67904ecd6ef5121242babc6c0c 100644 --- a/src/UnitTests/Meshes/MeshEntityTest.h +++ b/src/UnitTests/Meshes/MeshEntityTest.h @@ -79,7 +79,7 @@ public: using BaseType::bindSuperentitiesStorageNetwork; using BaseType::setNumberOfSuperentities; using BaseType::setSuperentityIndex; - using BaseType::setId; + using BaseType::setIndex; }; TEST( MeshEntityTest, VertexMeshEntityTest ) @@ -157,9 +157,9 @@ TEST( MeshEntityTest, EdgeMeshEntityTest ) edgeEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 2 ) ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, 2 ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, 0 ); - edgeEntities[ 0 ].setId( 0 ); - edgeEntities[ 1 ].setId( 1 ); - edgeEntities[ 2 ].setId( 2 ); + edgeEntities[ 0 ].setIndex( 0 ); + edgeEntities[ 1 ].setIndex( 1 ); + edgeEntities[ 2 ].setIndex( 2 ); ASSERT_TRUE( vertexEntities[ edgeEntities[ 0 ].getVertexIndex( 0 ) ].getPoint() == point0 ); ASSERT_TRUE( vertexEntities[ edgeEntities[ 0 ].getVertexIndex( 1 ) ].getPoint() == point1 );