#include "FITKInterfaceHDF5AdaptorBoundaryLocation.h" #include "FITK_Interface/FITKInterfaceIO/FITKAbstractHDF5Reader.h" #include "FITK_Interface/FITKInterfaceIO/FITKAbstractHDF5Writer.h" #include "FITK_Interface/FITKInterfacePhysics/FITKBoundaryLocation.h" namespace IO { QString FITKInterfaceHDF5AdaptorBoundaryLocation::getAdaptorClass() { return "FITKInterfaceHDF5AdaptorBoundaryLocation"; } bool FITKInterfaceHDF5AdaptorBoundaryLocation::adaptR() { auto bc = dynamic_cast(_dataObj); if (!_reader || !_h5Group || !bc) return false; bool isR = true; isR &= readBoundaryLocation(bc, *_h5Group); return isR; } bool FITKInterfaceHDF5AdaptorBoundaryLocation::adaptW() { auto bc = dynamic_cast(_dataObj); if (!_writer || !_h5Group || !bc) return false; bool isW = true; isW &= writeBoundaryLocation(bc, *_h5Group); return isW; } bool FITKInterfaceHDF5AdaptorBoundaryLocation::readBoundaryLocation(Interface::FITKBoundaryLocation * bc, H5::Group & h5Group) { if (!bc) return false; if (!readNDataObject(bc, h5Group)) return false; if (!h5Group.attrExists("ModelID")) return false; if (!h5Group.attrExists("ComponentID")) return false; int modelID = readIntAttribute(h5Group, "ModelID"); int componentID = readIntAttribute(h5Group, "ComponentID"); bc->setModel(modelID); bc->setComponent(componentID); return true; } bool FITKInterfaceHDF5AdaptorBoundaryLocation::writeBoundaryLocation(Interface::FITKBoundaryLocation * bc, H5::Group & h5Group) { if (!bc) return false; int modelID = bc->getModelID(); writeIntAttribute(h5Group, "ModelID", &modelID); int componentID = bc->getComponentID(); writeIntAttribute(h5Group, "ComponentID", &componentID); return writeNDataObject(bc, h5Group); } }