本文整理汇总了C++中VectorList::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorList::begin方法的具体用法?C++ VectorList::begin怎么用?C++ VectorList::begin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorList
的用法示例。
在下文中一共展示了VectorList::begin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fillVectors
void VectorSelector::fillVectors() {
if (!_store) {
return;
}
int current_index = _vector->currentIndex();
VectorPtr current = selectedVector();
QHash<QString, VectorPtr> vectors;
VectorList vectorList = _store->getObjects<Vector>();
VectorList::ConstIterator it = vectorList.begin();
for (; it != vectorList.end(); ++it) {
VectorPtr vector = (*it);
if (vector->isScalarList())
continue;
vector->readLock();
vectors.insert(vector->sizeLimitedName(_vector), vector);
vector->unlock();
}
QStringList list = vectors.keys();
qSort(list);
_vector->clear();
foreach (const QString &string, list) {
VectorPtr v = vectors.value(string);
_vector->addItem(string, qVariantFromValue(v.data()));
}
示例2:
void
SimpleOptimizer::process(VectorList& path)
{
bool changed = true;
while (changed && path.size() > 2)
{
changed = false;
VectorList::iterator i = path.begin();
VectorList::iterator j = ++path.begin();
VectorList::iterator k = ++++path.begin();
while (i != path.end() && j != path.end() && k != path.end())
{
::rl::math::Real ik = this->model->distance(*i, *k);
if (!this->verifier->isColliding(*i, *k, ik))
{
VectorList::iterator l = j;
++j;
++k;
path.erase(l);
if (nullptr != this->viewer)
{
this->viewer->drawConfigurationPath(path);
}
changed = true;
}
else
{
++i;
++j;
++k;
}
}
}
}
示例3: assert
void
SoftBody::applyMatrix(const VectorList& x, VectorList& result)
{
assert(result.size() == Neighborhood::MAX_SIZE * size() + 1);
assert(x.size() == size());
result.setZero();
uint32_t i = 0;
auto x_it = x.begin();
for (auto& hood : neighborhoods) {
uint32_t j = 0;
for (auto& n : hood) {
result[i + j] = n.w * (x[n.index] - *x_it);
++j;
}
i += Neighborhood::MAX_SIZE;
++x_it;
}
result[result.size()-1] = x[0];
}