|
|
|
@@ -563,6 +563,7 @@ public: |
|
|
|
double m_transform_y_shift = 0.0; |
|
|
|
double m_transform_y_scale = 1.0; |
|
|
|
double m_transform_y_sinus = 0.0; |
|
|
|
double m_transform_y_tilt = 0.0; |
|
|
|
inline double getTransformedValue(double x) |
|
|
|
{ |
|
|
|
if (isTransformed() == false) |
|
|
|
@@ -574,12 +575,14 @@ public: |
|
|
|
double diff = 0.5 - v; |
|
|
|
double scaled = 0.5 - m_transform_y_scale * diff; |
|
|
|
double shifted = scaled + m_transform_y_shift + m_transform_y_sinus*sin(2*3.141592653*(x-m_transform_x_shift)*8.0); |
|
|
|
return jlimit(0.0,1.0,shifted); |
|
|
|
double tiltline = 0.5+m_transform_y_tilt*x; |
|
|
|
double tilted = shifted+tiltline; |
|
|
|
return jlimit(0.0,1.0,tilted); |
|
|
|
} |
|
|
|
bool isTransformed() const |
|
|
|
{ |
|
|
|
return m_transform_x_shift != 0.0 || m_transform_y_shift != 0.0 |
|
|
|
|| m_transform_y_scale!=1.0 || m_transform_y_sinus!=0.0; |
|
|
|
|| m_transform_y_scale!=1.0 || m_transform_y_sinus!=0.0 || m_transform_y_tilt!=0.0; |
|
|
|
} |
|
|
|
private: |
|
|
|
nodes_t m_nodes; |
|
|
|
|