本文整理汇总了C++中Coordenada::isVisitado方法的典型用法代码示例。如果您正苦于以下问题:C++ Coordenada::isVisitado方法的具体用法?C++ Coordenada::isVisitado怎么用?C++ Coordenada::isVisitado使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Coordenada
的用法示例。
在下文中一共展示了Coordenada::isVisitado方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clippingPoligonoFechado
void Clipping::clippingPoligonoFechado(Poligono* poligono) {
list<Coordenada*> *poligonoVertices = getPoligonoLista(poligono);
if(poligonoVertices->size() > poligono->getCPPCoordenadas()->size()){
list<Coordenada*> *windowVertices = getWindowLista(poligonoVertices);
list<Coordenada*> *novosVertices = new list<Coordenada*>();
list<Coordenada*>::iterator it = poligonoVertices->begin();
Coordenada* first = NULL;
while (true) {
Coordenada *atual = (*it);
if(atual == first)
return;
it = ListUtils::incrementIteratorCircular(poligonoVertices, it);
if (!atual->isVisitado() && atual->isInterseccao() && CoordenadaUtils::isDentroWindow(*it, window)) {
if(!first)
first = atual;
atual->setVisitado(true);
novosVertices->push_back(atual);
percorrerLista(poligonoVertices, windowVertices, novosVertices, ListUtils::getIteratorInObject(poligonoVertices, atual));
Poligono *poligonoNovo = poligono->clone();
poligonoNovo->setCPPCoordenadas(novosVertices);
window->addWindowObjeto(poligonoNovo);
novosVertices = new list<Coordenada* >();
}
}
delete novosVertices;
ListUtils::destroyListByCondition(windowVertices, CoordenadaUtils::notVisitado);
}else
window->addWindowObjeto(poligono->clone());
ListUtils::destroyListByCondition(poligonoVertices, CoordenadaUtils::notVisitado);
}