Loading src/UnitTests/Meshes/MeshEntityTest.h +59 −59 Original line number Diff line number Diff line Loading @@ -204,21 +204,21 @@ TEST( MeshEntityTest, TriangleMeshEntityTest ) ASSERT_TRUE( edgeVertexSubentities.allocate() ); edgeEntities[ 0 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 0 ) ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 1 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 1 ) ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 2 ) ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ) ); TriangleMeshEntityType triangleEntity; SubentityStorage< TestTriangleMeshConfig, MeshTriangleTopology, 0 > triangleVertexSubentities; Loading Loading @@ -293,36 +293,36 @@ TEST( MeshEntityTest, TetragedronMeshEntityTest ) ASSERT_TRUE( edgeVertexSubentities.allocate() ); edgeEntities[ 0 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 0 ) ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 1 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 1 ) ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 2 ) ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ); edgeEntities[ 3 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 3 ) ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ); edgeEntities[ 4 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 4 ) ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ); edgeEntities[ 5 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 5 ) ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ) ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ) ); Containers::StaticArray< MeshSubtopology< MeshTetrahedronTopology, 2 >::count, TriangleMeshEntityType > triangleEntities; Loading @@ -331,31 +331,31 @@ TEST( MeshEntityTest, TetragedronMeshEntityTest ) ASSERT_TRUE( triangleVertexSubentities.allocate() ); triangleEntities[ 0 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 0 ) ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ); triangleEntities[ 1 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 1 ) ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ); triangleEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 2 ) ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ); triangleEntities[ 3 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 3 ) ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 3, 0 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 3, 1 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 3, 2 >::index ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 2 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 2 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 2 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ) ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 3, 0 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 3, 1 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 3, 2 >::index ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 2 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 2 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 2 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ) ); TetrahedronMeshEntityType tetrahedronEntity; SubentityStorage< TestTriangleMeshConfig, MeshTetrahedronTopology, 0 > tetrahedronVertexSubentities; Loading Loading
src/UnitTests/Meshes/MeshEntityTest.h +59 −59 Original line number Diff line number Diff line Loading @@ -204,21 +204,21 @@ TEST( MeshEntityTest, TriangleMeshEntityTest ) ASSERT_TRUE( edgeVertexSubentities.allocate() ); edgeEntities[ 0 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 0 ) ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 1 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 1 ) ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 2 ) ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTriangleTopology, MeshEdgeTopology, 2, 1 >::index ) ); TriangleMeshEntityType triangleEntity; SubentityStorage< TestTriangleMeshConfig, MeshTriangleTopology, 0 > triangleVertexSubentities; Loading Loading @@ -293,36 +293,36 @@ TEST( MeshEntityTest, TetragedronMeshEntityTest ) ASSERT_TRUE( edgeVertexSubentities.allocate() ); edgeEntities[ 0 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 0 ) ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ); edgeEntities[ 0 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ); edgeEntities[ 1 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 1 ) ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ); edgeEntities[ 1 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ); edgeEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 2 ) ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ); edgeEntities[ 2 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ); edgeEntities[ 3 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 3 ) ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ); edgeEntities[ 3 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ); edgeEntities[ 4 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 4 ) ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ); edgeEntities[ 4 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ); edgeEntities[ 5 ].template bindSubentitiesStorageNetwork< 0 >( edgeVertexSubentities.getValues( 5 ) ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ) ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ); edgeEntities[ 5 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 0 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 0, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 1 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 1, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 2 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 2, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 3 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 3, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 4 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 4, 1 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 0 >::index ) ); ASSERT_TRUE( edgeEntities[ 5 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshEdgeTopology, 5, 1 >::index ) ); Containers::StaticArray< MeshSubtopology< MeshTetrahedronTopology, 2 >::count, TriangleMeshEntityType > triangleEntities; Loading @@ -331,31 +331,31 @@ TEST( MeshEntityTest, TetragedronMeshEntityTest ) ASSERT_TRUE( triangleVertexSubentities.allocate() ); triangleEntities[ 0 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 0 ) ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ); triangleEntities[ 0 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ); triangleEntities[ 1 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 1 ) ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ); triangleEntities[ 1 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ); triangleEntities[ 2 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 2 ) ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ); triangleEntities[ 2 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ); triangleEntities[ 3 ].template bindSubentitiesStorageNetwork< 0 >( triangleVertexSubentities.getValues( 3 ) ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 0, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 3, 0 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 1, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 3, 1 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 2, tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 3, 2 >::index ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 2 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 2 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 0 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 1 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 2 ) == ( tnlSubentityVertex< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ) ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 0, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 3, 0 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 1, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 3, 1 >::index ); triangleEntities[ 3 ].template setSubentityIndex< 0 >( 2, SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 3, 2 >::index ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 0 ].getVertexIndex( 2 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 0, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 1 ].getVertexIndex( 2 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 1, 2 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 0 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 0 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 1 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 1 >::index ) ); ASSERT_TRUE( triangleEntities[ 2 ].getVertexIndex( 2 ) == ( SubentityVertexMap< MeshTetrahedronTopology, MeshTriangleTopology, 2, 2 >::index ) ); TetrahedronMeshEntityType tetrahedronEntity; SubentityStorage< TestTriangleMeshConfig, MeshTetrahedronTopology, 0 > tetrahedronVertexSubentities; Loading