bool ZoneData::readZDbyName(int simNum, int zoneNum, string name, int elementNum, vector<string> &dataStore) { Tools::ClassManager *cm = Tools::ClassManager::getInstance(); DataElement *zdInfo = (DataElement *)cm->getObject("DTF::DataElement"); int handle = this->fileHandle; int simNumber = simNum; int zoneNumber = zoneNum; int elementNumber = elementNum; dtf_datatype dataType = DTF_STRING_DATA; dtf_string *data = NULL; bool retVal = false; dataStore.clear(); if (queryZDbyName(simNumber, zoneNumber, name, *zdInfo)) if (zdInfo->getDataType() == dataType) { data = new dtf_string[zdInfo->getNumElements()]; if (dtf_read_zd_by_name(&handle, &simNumber, &zoneNumber, name.c_str(), &elementNumber, data, &dataType) != DTF_ERROR) { for (int i = 0; i < zdInfo->getNumElements(); i++) dataStore.push_back(data[i]); retVal = true; } } if (data != NULL) { delete[] data; data = NULL; } return retVal; }