[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42568] branches/soc-2008-mxcurioni/source /blender/freestyle/intern/stroke/Operators.cpp: Fix for Operators. recursiveSplit() not able to split a chain within the last segment.
Tamito Kajiyama
rd6t-kjym at asahi-net.or.jp
Sun Dec 11 12:17:45 CET 2011
Revision: 42568
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42568
Author: kjym3
Date: 2011-12-11 11:17:41 +0000 (Sun, 11 Dec 2011)
Log Message:
-----------
Fix for Operators.recursiveSplit() not able to split a chain within the last segment.
Modified Paths:
--------------
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Operators.cpp
Modified: branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Operators.cpp
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Operators.cpp 2011-12-11 10:39:41 UTC (rev 42567)
+++ branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Operators.cpp 2011-12-11 11:17:41 UTC (rev 42568)
@@ -695,7 +695,7 @@
CurveInternal::CurvePointIterator vnext = vit; ++vnext;
- for(; (vit!=vitend)&&(vnext!=vitend)&&(split._CurvilinearLength-vit._CurvilinearLength> 0.001); ++vit,++vnext){
+ for(; (vit!=vitend)&&(vnext!=vitend)&&(vnext._CurvilinearLength<split._CurvilinearLength); ++vit,++vnext){
new_curve_a->push_vertex_back(&(*vit));
}
if((vit==vitend) || (vnext == vitend)){
@@ -707,15 +707,11 @@
}
// build the two resulting chains
- if(fabs(vit._CurvilinearLength-split._CurvilinearLength) > 0.001){
- new_curve_a->push_vertex_back(&(*split));
- new_curve_b->push_vertex_back(&(*split));
- }
- else{
- new_curve_a->push_vertex_back(&(*vit));
- }
+ new_curve_a->push_vertex_back(&(*vit));
+ new_curve_a->push_vertex_back(&(*split));
+ new_curve_b->push_vertex_back(&(*split));
- for(;vit!=vitend;++vit)
+ for(vit=vnext;vit!=vitend;++vit)
new_curve_b->push_vertex_back(&(*vit));
// let's check whether one or two of the two new curves
@@ -864,7 +860,7 @@
CurveInternal::CurvePointIterator vnext = vit; ++vnext;
- for(; (vit!=vitend)&&(vnext!=vitend)&&(split._CurvilinearLength-vit._CurvilinearLength> 0.001); ++vit,++vnext){
+ for(; (vit!=vitend)&&(vnext!=vitend)&&(vnext._CurvilinearLength<split._CurvilinearLength); ++vit,++vnext){
new_curve_a->push_vertex_back(&(*vit));
}
if((vit==vitend) || (vnext == vitend)){
@@ -876,15 +872,11 @@
}
// build the two resulting chains
- if(fabs(vit._CurvilinearLength-split._CurvilinearLength) > 0.001){
- new_curve_a->push_vertex_back(&(*split));
- new_curve_b->push_vertex_back(&(*split));
- }
- else{
- new_curve_a->push_vertex_back(&(*vit));
- }
+ new_curve_a->push_vertex_back(&(*vit));
+ new_curve_a->push_vertex_back(&(*split));
+ new_curve_b->push_vertex_back(&(*split));
- for(;vit!=vitend;++vit)
+ for(vit=vnext;vit!=vitend;++vit)
new_curve_b->push_vertex_back(&(*vit));
// let's check whether one or two of the two new curves
More information about the Bf-blender-cvs
mailing list