/** * @brief * @param parentId * @return */ virtual int readH5Data(hid_t parentId) { int err = 0; resize(0); IDataArray::Pointer p = H5DataArrayReader::ReadIDataArray(parentId, getName()); if (p.get() == NULL) { return -1; } m_Array = reinterpret_cast<T*>(p->getVoidPointer(0)); m_Size = p->getSize(); m_OwnsData = true; m_MaxId = (m_Size == 0) ? 0 : m_Size - 1; m_IsAllocated = true; m_Name = p->getName(); m_NumTuples = p->getNumberOfTuples(); m_CompDims = p->getComponentDimensions(); m_NumComponents = p->getNumberOfComponents(); // Tell the intermediate DataArray to release ownership of the data as we are going to be responsible // for deleting the memory p->releaseOwnership(); return err; }
/** * @brief * @param parentId * @return */ virtual int readH5Data(hid_t parentId) { int err = 0; this->Resize(0); IDataArray::Pointer p = H5DataArrayReader::readIDataArray(parentId, GetName()); if (p.get() == NULL) { return -1; } this->NumberOfComponents = p->GetNumberOfComponents(); this->Size = p->GetSize(); this->MaxId = (Size == 0) ? 0 : Size -1; this->Array = reinterpret_cast<T*>(p->GetVoidPointer(0)); p->releaseOwnership(); return err; }