29 mesh::PtrData ptrFromData = ptrFromMesh->createData(
"MappedData", dimensions, 0_dataID);
31 ptrFromMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 0.0));
32 ptrFromMesh->createVertex(Eigen::Vector3d(1.0, 0.0, 0.0));
33 ptrFromMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 1.0));
37 mesh::PtrData ptrToData = ptrToMesh->createData(
"MappedData", dimensions, 1_dataID);
39 ptrToMesh->createVertex(Eigen::Vector3d(0.0, 0.1, 0.0));
40 ptrToMesh->createVertex(Eigen::Vector3d(1.0, 0.1, 0.0));
41 ptrToMesh->createVertex(Eigen::Vector3d(0.0, 0.1, 1.0));
44 toMeshContext.
mesh = ptrToMesh;
49 mappingContext.
fromMeshID = ptrFromMesh->getID();
50 mappingContext.
toMeshID = ptrToMesh->getID();
52 BOOST_TEST(ptrToData->getID() != ptrFromData->getID());
53 BOOST_TEST(ptrToMesh->getID() != ptrFromMesh->getID());
57 BOOST_TEST(dataContext.
getMeshID() == ptrFromMesh->getID());
63 BOOST_TEST(fixture.
getFromDataID(dataContext, 0) == ptrFromData->getID());
64 BOOST_TEST(fixture.
getToDataID(dataContext, 0) == ptrToData->getID());
67 BOOST_TEST(dataContext.
getMeshID() != ptrToMesh->getID());
68 BOOST_TEST(dataContext.
getMeshID() == ptrFromMesh->getID());
86 mesh::PtrData ptrFromData = ptrFromMesh->createData(
"MappedData", dimensions, 0_dataID);
88 ptrFromMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 0.0));
89 ptrFromMesh->createVertex(Eigen::Vector3d(1.0, 0.0, 0.0));
90 ptrFromMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 1.0));
94 mesh::PtrData ptrToData = ptrToMesh->createData(
"MappedData", dimensions, 1_dataID);
96 ptrToMesh->createVertex(Eigen::Vector3d(0.0, 0.1, 0.0));
97 ptrToMesh->createVertex(Eigen::Vector3d(1.0, 0.1, 0.0));
98 ptrToMesh->createVertex(Eigen::Vector3d(0.0, 0.1, 1.0));
101 toMeshContext1.
mesh = ptrToMesh;
106 mappingContext.
fromMeshID = ptrFromMesh->getID();
107 mappingContext.
toMeshID = ptrToMesh->getID();
109 BOOST_TEST(ptrToData->getID() != ptrFromData->getID());
110 BOOST_TEST(ptrToMesh->getID() != ptrFromMesh->getID());
114 BOOST_TEST(dataContext.
getMeshID() == ptrFromMesh->getID());
122 mesh::PtrData ptrToData2 = ptrToMesh2->createData(
"MappedData", dimensions, 2_dataID);
124 ptrToMesh2->createVertex(Eigen::Vector3d(0.0, 1.1, 0.0));
125 ptrToMesh2->createVertex(Eigen::Vector3d(2.0, 1.1, 0.0));
126 ptrToMesh2->createVertex(Eigen::Vector3d(0.0, 2.1, 4.0));
129 toMeshContext2.
mesh = ptrToMesh2;
132 mappingContext2.
fromMeshID = ptrFromMesh->getID();
133 mappingContext2.
toMeshID = ptrToMesh2->getID();
142 BOOST_TEST(dataContext.
getMeshID() != ptrToMesh->getID());
143 BOOST_TEST(dataContext.
getMeshID() == ptrFromMesh->getID());
147 BOOST_TEST(fixture.
getFromDataID(dataContext, 0) == ptrFromData->getID());
148 BOOST_TEST(fixture.
getToDataID(dataContext, 0) == ptrToData->getID());
155 BOOST_TEST(dataContext.
getMeshID() != ptrToMesh2->getID());
159 BOOST_TEST(fixture.
getFromDataID(dataContext, 1) == ptrFromData->getID());
160 BOOST_TEST(fixture.
getToDataID(dataContext, 1) == ptrToData2->getID());
175 int dataDimensions = 1;
178 mesh::PtrData ptrData = ptrMesh->createData(
"Data", dataDimensions, 0_dataID);
182 ids[0] = ptrMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 0.0)).getID();
183 ids[1] = ptrMesh->createVertex(Eigen::Vector3d(1.0, 0.0, 0.0)).getID();
184 ids[2] = ptrMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 1.0)).getID();
186 BOOST_TEST(ids[0] == 0);
187 BOOST_TEST(ids[1] == 1);
188 BOOST_TEST(ids[2] == 2);
191 for (
int i = 0; i < nValues; i++) {
199 BOOST_TEST(dataContext.
getMeshID() == ptrMesh->getID());
205 ids.
emplace_back(ptrMesh->createVertex(Eigen::Vector3d(0.0, 1.0, 0.0)).getID());
208 BOOST_TEST(ids[3] == 3);
224 mesh::PtrData ptrToData = ptrToMesh->createData(
"MappedData", dimensions, 0_dataID);
226 ptrToMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 0.0));
227 ptrToMesh->createVertex(Eigen::Vector3d(1.0, 0.0, 0.0));
228 ptrToMesh->createVertex(Eigen::Vector3d(0.0, 0.0, 1.0));
232 mesh::PtrData ptrFromData = ptrFromMesh->createData(
"MappedData", dimensions, 1_dataID);
234 ptrFromMesh->createVertex(Eigen::Vector3d(0.0, 0.1, 0.0));
235 ptrFromMesh->createVertex(Eigen::Vector3d(1.0, 0.1, 0.0));
236 ptrFromMesh->createVertex(Eigen::Vector3d(0.0, 0.1, 1.0));
239 fromMeshContext.
mesh = ptrFromMesh;
244 mappingContext.
fromMeshID = ptrFromMesh->getID();
245 mappingContext.
toMeshID = ptrToMesh->getID();
247 BOOST_TEST(ptrToData->getID() != ptrFromData->getID());
248 BOOST_TEST(ptrToMesh->getID() != ptrFromMesh->getID());
252 BOOST_TEST(dataContext.
getMeshID() == ptrToMesh->getID());
260 BOOST_TEST(fixture.
getFromDataID(dataContext, 0) == ptrFromData->getID());
261 BOOST_TEST(fixture.
getToDataID(dataContext, 0) == ptrToData->getID());
264 BOOST_TEST(dataContext.
getMeshID() == ptrToMesh->getID());
265 BOOST_TEST(dataContext.
getMeshID() != ptrFromMesh->getID());
BOOST_AUTO_TEST_CASE(testDataContextWriteMapping)
Stores one Data object with related mesh. Context stores data to be read from and potentially provide...
void appendMappingConfiguration(MappingContext &mappingContext, const MeshContext &meshContext) override
Adds a MappingContext and the MeshContext required by the read mapping to the corresponding ReadDataC...
Stores one Data object with related mesh. Context stores data to be written to and potentially provid...
void resizeBufferTo(int size)
void writeValuesIntoDataBuffer(::precice::span< const VertexID > vertices, ::precice::span< const double > values)
Store values in _writeDataBuffer.
void appendMappingConfiguration(MappingContext &mappingContext, const MeshContext &meshContext) override
Adds a MappingContext and the MeshContext required by the write mapping to the corresponding WriteDat...
int getToDataID(precice::impl::DataContext &dataContext, int dataVectorIndex)
int getProvidedDataID(precice::impl::DataContext &dataContext)
bool hasReadMapping(precice::impl::DataContext &dataContext)
int getFromDataID(precice::impl::DataContext &dataContext, int dataVectorIndex)
bool hasWriteMapping(precice::impl::DataContext &dataContext)
bool hasMapping(precice::impl::DataContext &dataContext)
std::vector< impl::MappingContext > mappingContexts(precice::impl::DataContext &dataContext)
Holds a data mapping and related information.
mapping::PtrMapping mapping
Data mapping.
MeshID fromMeshID
id of mesh from which is mapped
MeshID toMeshID
id of mesh to which is mapped
Stores a mesh and related objects and data.
mesh::PtrMesh mesh
Mesh holding the geometry data structure.