Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/freestyle/intern/stroke/ChainingIterators.cpp')
-rw-r--r--source/blender/freestyle/intern/stroke/ChainingIterators.cpp274
1 files changed, 137 insertions, 137 deletions
diff --git a/source/blender/freestyle/intern/stroke/ChainingIterators.cpp b/source/blender/freestyle/intern/stroke/ChainingIterators.cpp
index 08bdeb61713..de6c50fe571 100644
--- a/source/blender/freestyle/intern/stroke/ChainingIterators.cpp
+++ b/source/blender/freestyle/intern/stroke/ChainingIterators.cpp
@@ -29,93 +29,93 @@ namespace Freestyle {
ViewEdge *AdjacencyIterator::operator*()
{
- return (*_internalIterator).first;
+ return (*_internalIterator).first;
}
bool AdjacencyIterator::isIncoming() const
{
- return (*_internalIterator).second;
+ return (*_internalIterator).second;
}
int AdjacencyIterator::increment()
{
- ++_internalIterator;
- while ((!_internalIterator.isEnd()) && (!isValid((*_internalIterator).first)))
- ++_internalIterator;
- return 0;
+ ++_internalIterator;
+ while ((!_internalIterator.isEnd()) && (!isValid((*_internalIterator).first)))
+ ++_internalIterator;
+ return 0;
}
bool AdjacencyIterator::isValid(ViewEdge *edge)
{
- if (_restrictToSelection) {
- if (edge->getTimeStamp() != TimeStamp::instance()->getTimeStamp())
- return false;
- }
- if (_restrictToUnvisited) {
- if (edge->getChainingTimeStamp() > TimeStamp::instance()->getTimeStamp())
- return false;
- }
- return true;
+ if (_restrictToSelection) {
+ if (edge->getTimeStamp() != TimeStamp::instance()->getTimeStamp())
+ return false;
+ }
+ if (_restrictToUnvisited) {
+ if (edge->getChainingTimeStamp() > TimeStamp::instance()->getTimeStamp())
+ return false;
+ }
+ return true;
}
int ChainingIterator::init()
{
- return Director_BPy_ChainingIterator_init(this);
+ return Director_BPy_ChainingIterator_init(this);
}
int ChainingIterator::traverse(const AdjacencyIterator &it)
{
- return Director_BPy_ChainingIterator_traverse(this, const_cast<AdjacencyIterator &>(it));
+ return Director_BPy_ChainingIterator_traverse(this, const_cast<AdjacencyIterator &>(it));
}
int ChainingIterator::increment()
{
- _increment = true;
- ViewVertex *vertex = getVertex();
- if (!vertex) {
- _edge = 0;
- return 0;
- }
- AdjacencyIterator it = AdjacencyIterator(vertex, _restrictToSelection, _restrictToUnvisited);
- if (it.isEnd()) {
- _edge = 0;
- return 0;
- }
- if (traverse(it) < 0)
- return -1;
- _edge = result;
- if (_edge == 0)
- return 0;
- if (_edge->A() == vertex)
- _orientation = true;
- else
- _orientation = false;
- return 0;
+ _increment = true;
+ ViewVertex *vertex = getVertex();
+ if (!vertex) {
+ _edge = 0;
+ return 0;
+ }
+ AdjacencyIterator it = AdjacencyIterator(vertex, _restrictToSelection, _restrictToUnvisited);
+ if (it.isEnd()) {
+ _edge = 0;
+ return 0;
+ }
+ if (traverse(it) < 0)
+ return -1;
+ _edge = result;
+ if (_edge == 0)
+ return 0;
+ if (_edge->A() == vertex)
+ _orientation = true;
+ else
+ _orientation = false;
+ return 0;
}
int ChainingIterator::decrement()
{
- _increment = false;
- ViewVertex *vertex = getVertex();
- if (!vertex) {
- _edge = 0;
- return 0;
- }
- AdjacencyIterator it = AdjacencyIterator(vertex, _restrictToSelection, _restrictToUnvisited);
- if (it.isEnd()) {
- _edge = 0;
- return 0;
- }
- if (traverse(it) < 0)
- return -1;
- _edge = result;
- if (_edge == 0)
- return 0;
- if (_edge->B() == vertex)
- _orientation = true;
- else
- _orientation = false;
- return 0;
+ _increment = false;
+ ViewVertex *vertex = getVertex();
+ if (!vertex) {
+ _edge = 0;
+ return 0;
+ }
+ AdjacencyIterator it = AdjacencyIterator(vertex, _restrictToSelection, _restrictToUnvisited);
+ if (it.isEnd()) {
+ _edge = 0;
+ return 0;
+ }
+ if (traverse(it) < 0)
+ return -1;
+ _edge = result;
+ if (_edge == 0)
+ return 0;
+ if (_edge->B() == vertex)
+ _orientation = true;
+ else
+ _orientation = false;
+ return 0;
}
//
@@ -123,88 +123,88 @@ int ChainingIterator::decrement()
//
///////////////////////////////////////////////////////////
-int ChainSilhouetteIterator::traverse(const AdjacencyIterator& ait)
+int ChainSilhouetteIterator::traverse(const AdjacencyIterator &ait)
{
- AdjacencyIterator it(ait);
- ViewVertex *nextVertex = getVertex();
- // we can't get a NULL nextVertex here, it was intercepted before
- if (nextVertex->getNature() & Nature::T_VERTEX) {
- TVertex *tvertex = (TVertex *)nextVertex;
- ViewEdge *mate = (tvertex)->mate(getCurrentEdge());
- while (!it.isEnd()) {
- ViewEdge *ve = *it;
- if (ve == mate) {
- result = ve;
- return 0;
- }
- ++it;
- }
- result = 0;
- return 0;
- }
- if (nextVertex->getNature() & Nature::NON_T_VERTEX) {
- //soc NonTVertex *nontvertex = (NonTVertex*)nextVertex;
- ViewEdge *newEdge(0);
- // we'll try to chain the edges by keeping the same nature...
- // the preseance order is : SILHOUETTE, BORDER, CREASE, MATERIAL_BOUNDARY, EDGE_MARK, SUGGESTIVE, VALLEY, RIDGE
- Nature::EdgeNature natures[8] = {
- Nature::SILHOUETTE,
- Nature::BORDER,
- Nature::CREASE,
- Nature::MATERIAL_BOUNDARY,
- Nature::EDGE_MARK,
- Nature::SUGGESTIVE_CONTOUR,
- Nature::VALLEY,
- Nature::RIDGE,
- };
- int numNatures = sizeof(natures) / sizeof(Nature::EdgeNature);
- for (int i = 0; i < numNatures; ++i) {
- if (getCurrentEdge()->getNature() & natures[i]) {
- int n = 0;
- while (!it.isEnd()) {
- ViewEdge *ve = *it;
- if (ve->getNature() & natures[i]) {
- ++n;
- newEdge = ve;
- }
- ++it;
- }
- if (n == 1) {
- result = newEdge;
- }
- else {
- result = 0;
- }
- return 0;
- }
- }
- }
- result = 0;
- return 0;
+ AdjacencyIterator it(ait);
+ ViewVertex *nextVertex = getVertex();
+ // we can't get a NULL nextVertex here, it was intercepted before
+ if (nextVertex->getNature() & Nature::T_VERTEX) {
+ TVertex *tvertex = (TVertex *)nextVertex;
+ ViewEdge *mate = (tvertex)->mate(getCurrentEdge());
+ while (!it.isEnd()) {
+ ViewEdge *ve = *it;
+ if (ve == mate) {
+ result = ve;
+ return 0;
+ }
+ ++it;
+ }
+ result = 0;
+ return 0;
+ }
+ if (nextVertex->getNature() & Nature::NON_T_VERTEX) {
+ //soc NonTVertex *nontvertex = (NonTVertex*)nextVertex;
+ ViewEdge *newEdge(0);
+ // we'll try to chain the edges by keeping the same nature...
+ // the preseance order is : SILHOUETTE, BORDER, CREASE, MATERIAL_BOUNDARY, EDGE_MARK, SUGGESTIVE, VALLEY, RIDGE
+ Nature::EdgeNature natures[8] = {
+ Nature::SILHOUETTE,
+ Nature::BORDER,
+ Nature::CREASE,
+ Nature::MATERIAL_BOUNDARY,
+ Nature::EDGE_MARK,
+ Nature::SUGGESTIVE_CONTOUR,
+ Nature::VALLEY,
+ Nature::RIDGE,
+ };
+ int numNatures = sizeof(natures) / sizeof(Nature::EdgeNature);
+ for (int i = 0; i < numNatures; ++i) {
+ if (getCurrentEdge()->getNature() & natures[i]) {
+ int n = 0;
+ while (!it.isEnd()) {
+ ViewEdge *ve = *it;
+ if (ve->getNature() & natures[i]) {
+ ++n;
+ newEdge = ve;
+ }
+ ++it;
+ }
+ if (n == 1) {
+ result = newEdge;
+ }
+ else {
+ result = 0;
+ }
+ return 0;
+ }
+ }
+ }
+ result = 0;
+ return 0;
}
-int ChainPredicateIterator::traverse(const AdjacencyIterator& ait)
+int ChainPredicateIterator::traverse(const AdjacencyIterator &ait)
{
- if (!_unary_predicate || !_binary_predicate)
- return -1;
- AdjacencyIterator it(ait);
- // Iterates over next edges to see if one of them respects the predicate:
- while (!it.isEnd()) {
- ViewEdge *ve = *it;
- if (_unary_predicate->operator()(*ve) < 0)
- return -1;
- if (_unary_predicate->result) {
- if (_binary_predicate->operator()(*(getCurrentEdge()), *(ve)) < 0)
- return -1;
- if (_binary_predicate->result) {
- result = ve;
- return 0;
- }
- }
- ++it;
- }
- result = 0;
- return 0;
+ if (!_unary_predicate || !_binary_predicate)
+ return -1;
+ AdjacencyIterator it(ait);
+ // Iterates over next edges to see if one of them respects the predicate:
+ while (!it.isEnd()) {
+ ViewEdge *ve = *it;
+ if (_unary_predicate->operator()(*ve) < 0)
+ return -1;
+ if (_unary_predicate->result) {
+ if (_binary_predicate->operator()(*(getCurrentEdge()), *(ve)) < 0)
+ return -1;
+ if (_binary_predicate->result) {
+ result = ve;
+ return 0;
+ }
+ }
+ ++it;
+ }
+ result = 0;
+ return 0;
}
} /* namespace Freestyle */