From: Nikita Kitaev Date: Sat, 5 Dec 2009 20:26:16 +0000 (-0800) Subject: Undo blinepoint changes, they don't belong in this branch X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=de828fa746ed426bfe344b42fb3c07222b3e02be;p=synfig.git Undo blinepoint changes, they don't belong in this branch --- diff --git a/synfig-core/src/synfig/blinepoint.cpp b/synfig-core/src/synfig/blinepoint.cpp index 83e004d..0091e08 100644 --- a/synfig-core/src/synfig/blinepoint.cpp +++ b/synfig-core/src/synfig/blinepoint.cpp @@ -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(); - -} diff --git a/synfig-core/src/synfig/blinepoint.h b/synfig-core/src/synfig/blinepoint.h index 9a07ba8..28908e6 100644 --- a/synfig-core/src/synfig/blinepoint.h +++ b/synfig-core/src/synfig/blinepoint.h @@ -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 +