本文整理汇总了C++中cchobject::Container类的典型用法代码示例。如果您正苦于以下问题:C++ Container类的具体用法?C++ Container怎么用?C++ Container使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Container类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onNewSelection
void qHPR::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_action)
{
//a single point cloud must be selected
m_action->setEnabled(selectedEntities.size() == 1 && selectedEntities.front()->isA(CC_TYPES::POINT_CLOUD));
}
}
示例2: getAllEntitiesThatHaveMetaData
void BaseFilter::getAllEntitiesThatHaveMetaData(QString key, ccHObject::Container &entities)
{
entities.clear(); //better be sure
ccHObject::Container tempContainer;
getAllEntitiesOfType(CC_TYPES::HIERARCHY_OBJECT, tempContainer);
for (ccHObject::Container::const_iterator it = tempContainer.begin(); it != tempContainer.end(); ++it )
{
if ((*it)->hasMetaData(key))
entities.push_back(*it);
}
}
示例3: getSelectedEntities
int ccDBRoot::getSelectedEntities(ccHObject::Container& selEntities,
CC_CLASS_ENUM filter/*=CC_OBJECT*/,
dbTreeSelectionInfo* info/*=NULL*/)
{
QItemSelectionModel* qism = m_dbTreeWidget->selectionModel();
QModelIndexList selectedIndexes = qism->selectedIndexes();
int i,selCount = selectedIndexes.size();
for (i=0;i<selCount; ++i)
{
ccHObject* anObject = static_cast<ccHObject*>(selectedIndexes[i].internalPointer());
if (anObject && anObject->isKindOf(filter))
selEntities.push_back(anObject);
}
if (info)
{
info->reset();
info->selCount=selCount;
for (i=0;i<selCount;++i)
{
ccHObject* obj = selEntities[i];
info->sfCount += int(obj->hasScalarFields());
info->colorCount += int(obj->hasColors());
info->normalsCount += int(obj->hasNormals());
if (obj->isKindOf(CC_POINT_CLOUD))
{
ccGenericPointCloud* cloud = ccHObjectCaster::ToGenericPointCloud(obj);
info->cloudCount++;
info->octreeCount += int(cloud->getOctree()!=NULL);
}
if (obj->isKindOf(CC_MESH))
info->meshCount++;
if (obj->isKindOf(CC_SENSOR))
{
info->sensorCount++;
if (obj->isKindOf(CC_GBL_SENSOR))
info->gblSensorCount++;
}
if (obj->isKindOf(CC_POINT_KDTREE))
info->kdTreeCount++;
}
}
return int(selEntities.size());
}
示例4: onNewSelection
void qFacets::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_doFuseKdTreeCells)
m_doFuseKdTreeCells->setEnabled(selectedEntities.size()==1 && selectedEntities.back()->isA(CC_TYPES::POINT_CLOUD));
if (m_fastMarchingExtraction)
m_fastMarchingExtraction->setEnabled(selectedEntities.size()==1 && selectedEntities.back()->isA(CC_TYPES::POINT_CLOUD));
if (m_doExportFacets)
m_doExportFacets->setEnabled(selectedEntities.size() != 0);
if (m_doExportFacetsInfo)
m_doExportFacetsInfo->setEnabled(selectedEntities.size() != 0);
if (m_doClassifyFacetsByAngle)
m_doClassifyFacetsByAngle->setEnabled(selectedEntities.size()==1 && selectedEntities.back()->isA(CC_TYPES::HIERARCHY_OBJECT));
if (m_doShowStereogram)
m_doShowStereogram->setEnabled(selectedEntities.size()==1 && (selectedEntities.back()->isA(CC_TYPES::HIERARCHY_OBJECT) || selectedEntities.back()->isA(CC_TYPES::POINT_CLOUD)));
}
示例5: onNewSelection
void qSRA::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_doLoadProfile)
{
//always active
}
bool cloudAndPolylineSelected = ( selectedEntities.size() == 2
&& ( (selectedEntities[0]->isA(CC_TYPES::POLY_LINE) && selectedEntities[1]->isA(CC_TYPES::POINT_CLOUD))
|| (selectedEntities[1]->isA(CC_TYPES::POLY_LINE) && selectedEntities[0]->isA(CC_TYPES::POINT_CLOUD))) );
if (m_doCompareCloudToProfile)
{
m_doCompareCloudToProfile->setEnabled(cloudAndPolylineSelected);
}
if (m_doProjectCloudDists)
{
m_doProjectCloudDists->setEnabled( /*(selectedEntities.size() == 1 && selectedEntities[0]->isA(CC_TYPES::POINT_CLOUD)) ||
(selectedEntities.size() == 2 &&
( (selectedEntities[0]->isA(CC_TYPES::POLY_LINE) && selectedEntities[1]->isA(CC_TYPES::POINT_CLOUD))
|| (selectedEntities[1]->isA(CC_TYPES::POLY_LINE) && selectedEntities[0]->isA(CC_TYPES::POINT_CLOUD))))*/
cloudAndPolylineSelected );
}
//backup selected entities
m_selectedEntities = selectedEntities;
}
示例6: onNewSelection
void qSRA::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_doLoadProfile)
{
//always active
}
bool validSelection = false;
if (selectedEntities.size() == 2)
{
//we expect a cloud...
int cloudIndex = selectedEntities[0]->isA(CC_TYPES::POINT_CLOUD) ? 0 : selectedEntities[1]->isA(CC_TYPES::POINT_CLOUD) ? 1 : -1;
if (cloudIndex != -1)
{
//... and either a polyline or a cone/cylinder
validSelection = (selectedEntities[1-cloudIndex]->isA(CC_TYPES::POLY_LINE) || selectedEntities[1-cloudIndex]->isKindOf(CC_TYPES::CONE));
}
}
if (m_doCompareCloudToProfile)
{
m_doCompareCloudToProfile->setEnabled(validSelection);
}
if (m_doProjectCloudDists)
{
m_doProjectCloudDists->setEnabled(validSelection);
}
}
示例7: onNewSelection
void qCork::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_action)
{
//we need two and only two meshes!
m_action->setEnabled( selectedEntities.size() == 2
&& selectedEntities[0]->isKindOf(CC_TYPES::MESH)
&& selectedEntities[1]->isKindOf(CC_TYPES::MESH));
}
}
示例8: QDialog
ccMatchScalesDlg::ccMatchScalesDlg( const ccHObject::Container& entities,
int defaultSelectedIndex/*=0*/,
QWidget* parent/*=0*/)
: QDialog(parent, Qt::Tool)
, Ui::MatchScalesDialog()
{
setupUi(this);
for (size_t i=0; i<entities.size(); ++i)
{
//add one line per entity in the combo-box
listWidget->insertItem(static_cast<int>(i), new QListWidgetItem(QString("%1 (ID=%2)").arg(entities[i]->getName()).arg(entities[i]->getUniqueID())));
}
//default selection
if (defaultSelectedIndex >= 0 && static_cast<size_t>(defaultSelectedIndex) < entities.size())
listWidget->setItemSelected(listWidget->item(defaultSelectedIndex),true);
rmsDifferenceLineEdit->setValidator(new QDoubleValidator(rmsDifferenceLineEdit));
}
示例9: getSelectedEntitiesThatAre
void BaseFilter::getSelectedEntitiesThatAre(CC_CLASS_ENUM kind, ccHObject::Container & entities)
{
ccHObject::Container selected = m_selected;
for (size_t i = 0 ; i < selected.size(); ++i)
{
ccHObject * this_obj = selected[i];
if (this_obj->isA(kind))
{
entities.push_back(this_obj);
}
}
}
示例10: getSelectedEntitiesThatAreCCPointCloud
void BaseFilter::getSelectedEntitiesThatAreCCPointCloud(ccHObject::Container & entities)
{
ccHObject::Container selected = m_selected;
for (size_t i = 0 ; i < selected.size(); ++i)
{
ccHObject * this_obj = selected[i];
if (this_obj->isA(CC_TYPES::POINT_CLOUD))
{
entities.push_back(this_obj);
}
}
}
示例11: filterObjectsByKind
ccHObject::Container vombat::filterObjectsByKind(const ccHObject::Container& in,
const CC_CLASS_ENUM ThisType)
{
if (in.empty())
return in;
ccHObject::Container out;
for (ccHObject* obj : in) {
if (obj->isKindOf(ThisType)) {
out.push_back(obj);
}
}
return out;
}
示例12: QDialog
ccEntityPickerDlg::ccEntityPickerDlg( const ccHObject::Container& entities,
int selectedIndex/*=0*/,
QWidget* parent/*=0*/,
QString labelStr/*=QString()*/)
: QDialog(parent)
, Ui::PickEntityDlg()
{
setupUi(this);
setWindowFlags(Qt::Tool/*Qt::Dialog | Qt::WindowStaysOnTopHint*/);
for (size_t i=0; i<entities.size(); ++i)
{
//add one line per entity in the combo-box
comboBox->addItem(QString("%1 (ID=%2)").arg(entities[i]->getName()).arg(entities[i]->getUniqueID()));
}
if (!labelStr.isNull())
label->setText(labelStr);
}
示例13: onNewSelection
bool qPoissonReconPlugin::onNewSelection(const ccHObject::Container& selectedEntities)
{
return (selectedEntities.size()==1 && selectedEntities[0]->isA(CC_POINT_CLOUD));
}
示例14: onNewSelection
void qRansacSD::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_action)
m_action->setEnabled(selectedEntities.size()==1 && selectedEntities[0]->isA(CC_POINT_CLOUD));
}
示例15: onNewSelection
void qPCV::onNewSelection(const ccHObject::Container& selectedEntities)
{
if (m_action)
m_action->setEnabled(selectedEntities.size()==1);
}