本文整理汇总了C++中VoxelDataContainer::addFieldData方法的典型用法代码示例。如果您正苦于以下问题:C++ VoxelDataContainer::addFieldData方法的具体用法?C++ VoxelDataContainer::addFieldData怎么用?C++ VoxelDataContainer::addFieldData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VoxelDataContainer
的用法示例。
在下文中一共展示了VoxelDataContainer::addFieldData方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void LinkFieldMapToCellArray::execute()
{
VoxelDataContainer* m = getVoxelDataContainer();
if(NULL == m)
{
setErrorCondition(-999);
notifyErrorMessage("The DataContainer Object was NULL", -999);
return;
}
setErrorCondition(0);
int64_t voxels = m->getTotalPoints();
int64_t fields = m->getNumFieldTuples();
dataCheck(false, voxels, fields, m->getNumEnsembleTuples());
if (getErrorCondition() < 0)
{
return;
}
//int err = 0;
std::stringstream ss;
m->clearFieldData();
int maxIndex = 0;
std::vector<bool> active;
for(int64_t i=0;i<voxels;i++)
{
int index = m_SelectedCellData[i];
if((index+1) > maxIndex)
{
active.resize(index+1);
active[index] = true;
maxIndex = index+1;
}
}
BoolArrayType::Pointer m_Active = BoolArrayType::CreateArray(maxIndex, 1, DREAM3D::FieldData::Active);
bool* mActive = m_Active->GetPointer(0);
for(int i=0;i<maxIndex;i++)
{
mActive[i] = active[i];
}
m->addFieldData(DREAM3D::FieldData::Active, m_Active);
notifyStatusMessage("Complete");
}
示例2: dataCheck
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void LinkFieldMapToCellArray::dataCheck(bool preflight, size_t voxels, size_t fields, size_t ensembles)
{
setErrorCondition(0);
std::stringstream ss;
VoxelDataContainer* m = getVoxelDataContainer();
IDataArray::Pointer data = m->getCellData(m_SelectedCellDataArrayName);
if (NULL == data.get())
{
ss.str("");
ss << "Selected array '" << m_SelectedCellDataArrayName << "' does not exist in the Voxel Data Container. Was it spelled correctly?";
setErrorCondition(-11001);
addErrorMessage(getHumanLabel(),ss.str(),getErrorCondition());
return;
}
std::string dType = data->getTypeAsString();
IDataArray::Pointer p = IDataArray::NullPointer();
if (dType.compare("int32_t") == 0)
{
DataArray<int32_t>* field = DataArray<int32_t>::SafePointerDownCast(data.get());
m_SelectedCellData = field->GetPointer(0);
}
else
{
ss.str("");
ss << "Selected array '" << m_SelectedCellDataArrayName << "' is not an Integer array. Is this the array you want to use?";
setErrorCondition(-11001);
addErrorMessage(getHumanLabel(),ss.str(),getErrorCondition());
return;
}
m->clearFieldData();
BoolArrayType::Pointer active = BoolArrayType::CreateArray(fields, 1, DREAM3D::FieldData::Active);
// bool* mActive = m_Active->GetPointer(0);
m->addFieldData(DREAM3D::FieldData::Active, active);
}
示例3: dataCheck
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void FindNeighbors::dataCheck(bool preflight, size_t voxels, size_t fields, size_t ensembles)
{
setErrorCondition(0);
std::stringstream ss;
VoxelDataContainer* m = getVoxelDataContainer();
// Cell Data
GET_PREREQ_DATA( m, DREAM3D, CellData, GrainIds, ss, -300, int32_t, Int32ArrayType, voxels, 1)
CREATE_NON_PREREQ_DATA(m, DREAM3D, CellData, SurfaceVoxels, ss, int8_t, Int8ArrayType, 0, voxels, 1)
// Field Data
// Do this whole block FIRST otherwise the side effect is that a call to m->getNumFieldTuples will = 0
// because we are just creating an empty NeighborList object.
// Now we are going to get a "Pointer" to the NeighborList object out of the DataContainer
m_NeighborList = NeighborList<int>::SafeObjectDownCast<IDataArray*, NeighborList<int>* >
(m->getFieldData(m_NeighborListArrayName).get());
if(m_NeighborList == NULL)
{
NeighborList<int>::Pointer neighborlistPtr = NeighborList<int>::New();
neighborlistPtr->SetName(m_NeighborListArrayName);
neighborlistPtr->Resize(fields);
neighborlistPtr->setNumNeighborsArrayName(getNumNeighborsArrayName());
m->addFieldData(m_NeighborListArrayName, neighborlistPtr);
if (neighborlistPtr.get() == NULL) {
ss << "NeighborLists Array Not Initialized at Beginning of FindNeighbors Filter" << std::endl;
setErrorCondition(-308);
}
m_NeighborList = NeighborList<int>::SafeObjectDownCast<IDataArray*, NeighborList<int>* >
(m->getFieldData(m_NeighborListArrayName).get());
CreatedArrayHelpIndexEntry::Pointer e = CreatedArrayHelpIndexEntry::New();
e->setFilterName(this->getNameOfClass());
e->setFilterHumanLabel(this->getHumanLabel());
e->setFilterGroup(this->getGroupName());
e->setFilterSubGroup(this->getSubGroupName());
e->setArrayDefaultName(m_NeighborListArrayName);
e->setArrayGroup("Field");
e->setArrayNumComponents(0);
e->setArrayType("NeighborList");
addCreatedArrayHelpIndexEntry(e);
}
// And we do the same for the SharedSurfaceArea list
m_SharedSurfaceAreaList = NeighborList<float>::SafeObjectDownCast<IDataArray*, NeighborList<float>*>
(m->getFieldData(m_SharedSurfaceAreaListArrayName).get());
if(m_SharedSurfaceAreaList == NULL)
{
NeighborList<float>::Pointer sharedSurfaceAreaListPtr = NeighborList<float>::New();
sharedSurfaceAreaListPtr->SetName(m_SharedSurfaceAreaListArrayName);
sharedSurfaceAreaListPtr->Resize(fields);
sharedSurfaceAreaListPtr->setNumNeighborsArrayName(getNumNeighborsArrayName());
m->addFieldData(m_SharedSurfaceAreaListArrayName, sharedSurfaceAreaListPtr);
if (sharedSurfaceAreaListPtr.get() == NULL)
{
ss.str("");
ss << "SurfaceAreaLists Array Not Initialized correctly at Beginning of FindNeighbors Filter" << std::endl;
setErrorCondition(-308);
addErrorMessage(getHumanLabel(), ss.str(), -308);
}
m_SharedSurfaceAreaList = NeighborList<float>::SafeObjectDownCast<IDataArray*, NeighborList<float>*>
(m->getFieldData(m_SharedSurfaceAreaListArrayName).get());
CreatedArrayHelpIndexEntry::Pointer e = CreatedArrayHelpIndexEntry::New();
e->setFilterName(this->getNameOfClass());
e->setFilterHumanLabel(this->getHumanLabel());
e->setFilterGroup(this->getGroupName());
e->setFilterSubGroup(this->getSubGroupName());
e->setArrayDefaultName(m_SharedSurfaceAreaListArrayName);
e->setArrayGroup("Field");
e->setArrayNumComponents(0);
e->setArrayType("SurfaceAreaLists");
addCreatedArrayHelpIndexEntry(e);
}
CREATE_NON_PREREQ_DATA(m, DREAM3D, FieldData, SurfaceFields, ss, bool, BoolArrayType, false, fields, 1)
CREATE_NON_PREREQ_DATA(m, DREAM3D, FieldData, NumNeighbors, ss, int32_t, Int32ArrayType, 0, fields, 1)
}