本文整理汇总了C++中CField::resetNStep方法的典型用法代码示例。如果您正苦于以下问题:C++ CField::resetNStep方法的具体用法?C++ CField::resetNStep怎么用?C++ CField::resetNStep使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CField
的用法示例。
在下文中一共展示了CField::resetNStep方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initFile
//! Initialize a file in order to write into it
void CFile::initFile(void)
{
CContext* context = CContext::getCurrent();
const CDate& currentDate = context->calendar->getCurrentDate();
CContextServer* server = context->server;
lastSync = currentDate;
lastSplit = currentDate;
if (!split_freq.isEmpty())
{
StdString keySuffix("CContext_"+CContext::getCurrent()->getId()+"::CFile_"+getFileOutputName()+"::") ;
if (context->registryIn->foundKey(keySuffix+"splitStart") && context->registryIn->foundKey(keySuffix+"splitEnd"))
{
CDate savedSplitStart(*context->getCalendar()), savedSplitEnd(*context->getCalendar());
context->registryIn->getKey(keySuffix+"splitStart", savedSplitStart);
context->registryIn->getKey(keySuffix+"splitEnd", savedSplitEnd);
if (savedSplitStart <= lastSplit && lastSplit <= savedSplitEnd)
lastSplit = savedSplitStart;
}
}
isOpen = false;
allDomainEmpty = true;
// if (!record_offset.isEmpty() && record_offset < 0)
// ERROR("void CFile::initFile(void)",
// "Invalid 'record_offset', this attribute cannot be negative.");
const int recordOffset = record_offset.isEmpty() ? 0 : record_offset;
// set<CAxis*> setAxis;
// set<CDomain*> setDomains;
set<StdString> setAxis;
set<StdString> setDomains;
std::vector<CField*>::iterator it, end = this->enabledFields.end();
for (it = this->enabledFields.begin(); it != end; it++)
{
CField* field = *it;
allDomainEmpty &= !field->grid->doGridHaveDataToWrite();
std::vector<CAxis*> vecAxis = field->grid->getAxis();
for (size_t i = 0; i < vecAxis.size(); ++i)
setAxis.insert(vecAxis[i]->getAxisOutputName());
// setAxis.insert(vecAxis[i]);
std::vector<CDomain*> vecDomains = field->grid->getDomains();
for (size_t i = 0; i < vecDomains.size(); ++i)
setDomains.insert(vecDomains[i]->getDomainOutputName());
// setDomains.insert(vecDomains[i]);
field->resetNStep(recordOffset);
}
nbAxis = setAxis.size();
nbDomains = setDomains.size();
// create sub communicator for file
int color = allDomainEmpty ? 0 : 1;
MPI_Comm_split(server->intraComm, color, server->intraCommRank, &fileComm);
if (allDomainEmpty) MPI_Comm_free(&fileComm);
// if (time_counter.isEmpty()) time_counter.setValue(time_counter_attr::centered);
if (time_counter_name.isEmpty()) time_counter_name = "time_counter";
}