Undo blinepoint changes, they don't belong in this branch
authorNikita Kitaev <nikitakit@gmail.com>
Sat, 5 Dec 2009 20:26:16 +0000 (12:26 -0800)
committerNikita Kitaev <nikitakit@gmail.com>
Sat, 5 Dec 2009 20:26:16 +0000 (12:26 -0800)
synfig-core/src/synfig/blinepoint.cpp
synfig-core/src/synfig/blinepoint.h

index 83e004d..0091e08 100644 (file)
@@ -49,22 +49,16 @@ using namespace synfig;
 void
 synfig::BLinePoint::reverse()
 {
-       std::swap(tangent_[0],tangent_[1]);
-       tangent_[0]=-tangent_[0];
-       tangent_[1]=-tangent_[1];
+       if(split_tangent_)
+       {
+               std::swap(tangent_[0],tangent_[1]);
+               tangent_[0]=-tangent_[0];
+               tangent_[1]=-tangent_[1];
+       }
+       else
+       {
+               tangent_[0]=-tangent_[0];
+               tangent_[1]=-tangent_[1];
+       }
 }
 
-void
-synfig::BLinePoint::normalize(int i)
-{
-       //i is the number of the tangent to modify
-       //other tangent is (1-i)
-       split_tangent_=(!link_radius_ && !link_theta_);
-       if (link_radius_ && link_theta_)
-               tangent_[i]=tangent_[1-i];
-    else if (link_radius_)
-               tangent_[i]=tangent_[i].norm()*tangent_[1-i].mag();
-    else if (link_theta_)
-               tangent_[i]=tangent_[1-i].norm()*tangent_[i].mag();
-
-}
index 9a07ba8..28908e6 100644 (file)
@@ -47,8 +47,6 @@ private:
        float   width_;
        float   origin_;
        bool    split_tangent_;
-       bool    link_radius_;
-       bool    link_theta_;
 
 public:
 
@@ -56,9 +54,7 @@ public:
                vertex_(Point(0,0)),
                width_(0.01),
                origin_(0.0),
-               split_tangent_(false),
-               link_radius_(true),
-               link_theta_(true)
+               split_tangent_(false)
        { tangent_[0] = Point(0,0); tangent_[1] = Point(0,0); }
 
        const Point& get_vertex()const { return vertex_; }
@@ -66,10 +62,10 @@ public:
 
 
        const Vector& get_tangent1()const { return tangent_[0]; }
-       const Vector& get_tangent2()const { return tangent_[1]; }
+       const Vector& get_tangent2()const { return split_tangent_?tangent_[1]:tangent_[0]; }
        void set_tangent(const Vector& x) { tangent_[0]=tangent_[1]=x; }
-       void set_tangent1(const Vector& x) { tangent_[0]=x; normalize(1);}
-       void set_tangent2(const Vector& x) { tangent_[1]=x; normalize(0);}
+       void set_tangent1(const Vector& x) { tangent_[0]=x; }
+       void set_tangent2(const Vector& x) { tangent_[1]=x; }
 
 
        const float& get_width()const { return width_; }
@@ -83,16 +79,7 @@ public:
 
 
        const bool& get_split_tangent_flag()const { return split_tangent_; }
-       void set_split_tangent_flag(bool x=true) { link_radius_=link_theta_=!x; normalize();}
-
-       const bool& get_link_radius_flag()const { return link_radius_; }
-       void set_link_radius_flag(bool x=true) { link_radius_=x; normalize();}
-
-       const bool& get_link_theta_flag()const { return link_theta_; }
-       void set_link_theta_flag(bool x=true) { link_theta_=x; normalize();}
-
-       //normalize tangents, i.e. make sure their values correspond to the linkage
-       void normalize(int i=0);
+       void set_split_tangent_flag(bool x=true) { split_tangent_=x; }
 
        void reverse();
 
@@ -103,3 +90,4 @@ public:
 /* === E N D =============================================================== */
 
 #endif
+