@@ -78,11 +78,13 @@ CoSimIO_Info CoSimIO_ImportMesh(
7878 int ** I_ElementTypes)
7979{
8080 using namespace CoSimIO ::Internals;
81+ constexpr int coordinates_per_node = 3 ;
8182 std::unique_ptr<DataContainer<double >> p_container_coords (new DataContainerRawMemory<double >(I_NodalCoordinates, *I_NumberOfNodes));
8283 std::unique_ptr<DataContainer<int >> p_container_conn (new DataContainerRawMemory<int >(I_ElementConnectivities, *I_NumberOfElementConnectivities));
8384 std::unique_ptr<DataContainer<int >> p_container_types (new DataContainerRawMemory<int >(I_ElementTypes, *I_NumberOfElements));
8485 auto info = ConvertInfo (CoSimIO::ImportMesh (ConvertInfo (I_Info), *p_container_coords, *p_container_conn, *p_container_types));
85- *I_NumberOfNodes = static_cast <int >(p_container_coords->size ());
86+ *I_NumberOfNodes = static_cast <int >(p_container_coords->size ()) / coordinates_per_node;
87+ *I_NumberOfElementConnectivities = static_cast <int >(p_container_conn->size ());
8688 *I_NumberOfElements = static_cast <int >(p_container_types->size ());
8789 return info;
8890}
@@ -97,7 +99,8 @@ CoSimIO_Info CoSimIO_ExportMesh(
9799 const int * O_ElementTypes)
98100{
99101 using namespace CoSimIO ::Internals;
100- std::unique_ptr<DataContainer<double >> p_container_coords (new DataContainerRawMemoryReadOnly<double >(O_NodalCoordinates, O_NumberOfNodes));
102+ constexpr int coordinates_per_node = 3 ;
103+ std::unique_ptr<DataContainer<double >> p_container_coords (new DataContainerRawMemoryReadOnly<double >(O_NodalCoordinates, O_NumberOfNodes * coordinates_per_node));
101104 std::unique_ptr<DataContainer<int >> p_container_conn (new DataContainerRawMemoryReadOnly<int >(O_ElementConnectivities, O_NumberOfElementConnectivities));
102105 std::unique_ptr<DataContainer<int >> p_container_types (new DataContainerRawMemoryReadOnly<int >(O_ElementTypes, O_NumberOfElements));
103106 return ConvertInfo (CoSimIO::ExportMesh (ConvertInfo (I_Info), *p_container_coords, *p_container_conn, *p_container_types));
0 commit comments