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:
-rw-r--r--release/scripts/freestyle/modules/parameter_editor.py51
-rw-r--r--source/blender/freestyle/intern/stroke/Operators.cpp9
2 files changed, 4 insertions, 56 deletions
diff --git a/release/scripts/freestyle/modules/parameter_editor.py b/release/scripts/freestyle/modules/parameter_editor.py
index 3304229e5ff..38203e9723b 100644
--- a/release/scripts/freestyle/modules/parameter_editor.py
+++ b/release/scripts/freestyle/modules/parameter_editor.py
@@ -1122,54 +1122,6 @@ class Seed:
_seed = Seed()
-### T.K. 07-Aug-2013 Temporary fix for unexpected line gaps
-
-def iter_three_segments(stroke):
- n = stroke.stroke_vertices_size()
- if n >= 4:
- it1 = stroke.stroke_vertices_begin()
- it2 = stroke.stroke_vertices_begin()
- it2.increment()
- it3 = stroke.stroke_vertices_begin()
- it3.increment()
- it3.increment()
- it4 = stroke.stroke_vertices_begin()
- it4.increment()
- it4.increment()
- it4.increment()
- while not it4.is_end:
- yield (it1.object, it2.object, it3.object, it4.object)
- it1.increment()
- it2.increment()
- it3.increment()
- it4.increment()
-
-
-def is_tvertex(svertex):
- return type(svertex.viewvertex) is TVertex
-
-
-class StrokeCleaner(StrokeShader):
- def shade(self, stroke):
- for sv1, sv2, sv3, sv4 in iter_three_segments(stroke):
- seg1 = sv2.point - sv1.point
- seg2 = sv3.point - sv2.point
- seg3 = sv4.point - sv3.point
- if not ((is_tvertex(sv2.first_svertex) and is_tvertex(sv2.second_svertex)) or
- (is_tvertex(sv3.first_svertex) and is_tvertex(sv3.second_svertex))):
- continue
- if seg1.dot(seg2) < 0.0 and seg2.dot(seg3) < 0.0 and seg2.length < 0.01:
- #print(sv2.first_svertex.viewvertex)
- #print(sv2.second_svertex.viewvertex)
- #print(sv3.first_svertex.viewvertex)
- #print(sv3.second_svertex.viewvertex)
- p2 = mathutils.Vector(sv2.point)
- p3 = mathutils.Vector(sv3.point)
- sv2.point = p3
- sv3.point = p2
- stroke.update_length()
-
-
integration_types = {
'MEAN': IntegrationType.MEAN,
'MIN': IntegrationType.MIN,
@@ -1318,9 +1270,6 @@ def process(layer_name, lineset_name):
Operators.sort(bpred)
# prepare a list of stroke shaders
shaders_list = []
- ###
- shaders_list.append(StrokeCleaner())
- ###
for m in linestyle.geometry_modifiers:
if not m.use:
continue
diff --git a/source/blender/freestyle/intern/stroke/Operators.cpp b/source/blender/freestyle/intern/stroke/Operators.cpp
index 2f05413fcbe..427994f80f1 100644
--- a/source/blender/freestyle/intern/stroke/Operators.cpp
+++ b/source/blender/freestyle/intern/stroke/Operators.cpp
@@ -1147,17 +1147,16 @@ static Stroke *createStroke(Interface1D& inter)
StrokeVertex *sv;
std::vector<StrokeVertex *>::iterator it = overlapping_vertices.begin();
if (!reverse) {
- for (int n = 1; n < nvert; n++) {
+ for (int n = 0; n < nvert; n++) {
sv = (*it);
- sv->setPoint(sv->getPoint() + offset * n);
+ sv->setPoint(sv->getPoint() + offset * (n + 1));
++it;
}
}
else {
- int last = nvert - 1;
- for (int n = 0; n < last; n++) {
+ for (int n = 0; n < nvert; n++) {
sv = (*it);
- sv->setPoint(sv->getPoint() + offset * (last - n));
+ sv->setPoint(sv->getPoint() + offset * (nvert - n));
++it;
}
}