summaryrefslogtreecommitdiffstats
path: root/src/2geom/pointwise.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-03-19 23:14:47 +0000
committerJabiertxof <jtx@jtx.marker.es>2015-03-19 23:14:47 +0000
commitf3e7b51b1d2497cda7a66e13f4f50da145ece19c (patch)
tree21b2586ac55dca8bee4ca0bc6ed4cef050ae51fc /src/2geom/pointwise.cpp
parentupdate to trunk (diff)
downloadinkscape-f3e7b51b1d2497cda7a66e13f4f50da145ece19c.tar.gz
inkscape-f3e7b51b1d2497cda7a66e13f4f50da145ece19c.zip
Added delete nodes/satellites
(bzr r13645.1.45)
Diffstat (limited to 'src/2geom/pointwise.cpp')
-rw-r--r--src/2geom/pointwise.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/src/2geom/pointwise.cpp b/src/2geom/pointwise.cpp
index 584e78523..8f7a0b402 100644
--- a/src/2geom/pointwise.cpp
+++ b/src/2geom/pointwise.cpp
@@ -37,7 +37,7 @@
namespace Geom {
Pointwise::Pointwise(Piecewise<D2<SBasis> > pwd2)
- : _pwd2(pwd2),_pathInfo(NULL), _satellites(NULL)
+ : _pwd2(pwd2)
{
setPathInfo();
};
@@ -273,36 +273,40 @@ Pointwise::new_pwd_sustract(Piecewise<D2<SBasis> > A)
sats.push_back(std::make_pair(_satellites[i].first-counter,_satellites[i].second));
}
}
+ set_extremes(sats,false,true,0.0,0.0);
setSatellites(sats);
}
void
-Pointwise::set_extremes(bool active, bool hidden, double amount, double angle)
+Pointwise::set_extremes(std::vector<std::pair<unsigned int,Satellite> > sats, bool active, bool hidden, double amount, double angle)
{
for(unsigned int i = 0; i < _pathInfo.size(); i++){
unsigned int firstNode = getFirst(_pathInfo[i].first);
unsigned int lastNode = getLast(_pathInfo[i].first);
- std::cout << firstNode << "FIRSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n";
- std::cout << lastNode << "LASTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT\n";
if(!getIsClosed(lastNode)){
- std::cout << "CLOSSEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\n";
bool endOpen = false;
- for(unsigned i = 0; i < _satellites.size(); i++){
- _satellites[i].second.setIsEndOpen(false);
- if(_satellites[i].first == firstNode || _satellites[i].first == lastNode){
- _satellites[i].second.setActive(active);
- _satellites[i].second.setHidden(hidden);
- if(_satellites[i].first == lastNode){
+ for(unsigned i = 0; i < sats.size(); i++){
+ sats[i].second.setIsEndOpen(false);
+ if(sats[i].first > lastNode){
+ break;
+ }
+ if(sats[i].first == firstNode || sats[i].first == lastNode){
+ sats[i].second.setActive(active);
+ sats[i].second.setHidden(hidden);
+ if(sats[i].first == lastNode){
if(!endOpen){
endOpen = true;
} else {
endOpen = false;
- std::cout << "ENNNNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDOPEN\n";
- _satellites[i].second.setIsEndOpen(true);
- _satellites[i].second.setAmount(amount);
- _satellites[i].second.setAngle(angle);
+ sats[i].second.setIsEndOpen(true);
+ sats[i].second.setAmount(amount);
+ sats[i].second.setAngle(angle);
}
}
+ if(sats[i].first == firstNode){
+ sats[i].second.setAmount(amount);
+ sats[i].second.setAngle(angle);
+ }
}
}
}