svghmi/widget_xygraph.ysl2
changeset 3474 3ba74350237d
parent 3470 b36754171535
child 3484 32eaba9cf30e
equal deleted inserted replaced
3473:1202b47e7e63 3474:3ba74350237d
   177 
   177 
   178     ||
   178     ||
   179 }
   179 }
   180 
   180 
   181 widget_defs("XYGraph") {
   181 widget_defs("XYGraph") {
   182     labels("""
   182     labels("/x_interval_minor_mark /x_axis_line /x_interval_major_mark /x_axis_label")
   183         /x_interval_minor_mark
   183     labels("/y_interval_minor_mark /y_axis_line /y_interval_major_mark /y_axis_label")
   184         /x_axis_line
       
   185         /x_interval_major_mark
       
   186         /x_axis_label
       
   187         /y_interval_minor_mark
       
   188         /y_axis_line
       
   189         /y_interval_major_mark
       
   190         /y_axis_label""")
       
   191 
   184 
   192     |     init_specific() {
   185     |     init_specific() {
   193 
   186 
   194     // collect all curve_n labelled children
   187     // collect all curve_n labelled children
   195     foreach "$hmi_element/*[regexp:test(@inkscape:label,'^curve_[0-9]+$')]" {
   188     foreach "$hmi_element/*[regexp:test(@inkscape:label,'^curve_[0-9]+$')]" {
   269     // extract b
   262     // extract b
   270     (2) b = (l1start.y + (l1vect.y * l2start.x) / (l1start.x + l1vect.x) - l2start.y) / ((l2vect.y - (l1vect.y * l2vect.x ) / (l1start.x + l1vect.x)))
   263     (2) b = (l1start.y + (l1vect.y * l2start.x) / (l1start.x + l1vect.x) - l2start.y) / ((l2vect.y - (l1vect.y * l2vect.x ) / (l1start.x + l1vect.x)))
   271     */
   264     */
   272 
   265 
   273     let [l1start, l1vect] = l1;
   266     let [l1start, l1vect] = l1;
   274     let [l1start, l2vect] = l2;
   267     let [l2start, l2vect] = l2;
   275 
   268 
   276     let b = (l1start.y + (l1vect.y * l2start.x) / (l1start.x + l1vect.x) - l2start.y) / ((l2vect.y - (l1vect.y * l2vect.x ) / (l1start.x + l1vect.x)));
   269     let b = (l1start.y + (l1vect.y * l2start.x) / (l1start.x + l1vect.x) - l2start.y) / ((l2vect.y - (l1vect.y * l2vect.x ) / (l1start.x + l1vect.x)));
   277 
   270 
   278     return new DOMPoint(l2start.x + l2vect.x * b, l2start.y + l2vect.y * b);
   271     return new DOMPoint(l2start.x + l2vect.x * b, l2start.y + l2vect.y * b);
   279 };
   272 };