home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / new / misc / sci / multiplot / rexx / 2pointsslope.mpt next >
Text File  |  1994-04-17  |  1KB  |  91 lines

  1. /* This script calculates the formula of a straight
  2. line which passes through two selected points  */
  3.  
  4.  
  5. port= 'MULTIPLOT.01'
  6. RESULT=''
  7. RC=0
  8.  
  9. /* Check Multiplot is running */
  10. options results
  11. if(~show('p',port)) then do
  12.   say "Please start Multiplot first"
  13.   exit 1
  14. end
  15. address value port
  16.  
  17. /* Check a PLOT WINDOW is active */
  18. 'QUERY'
  19. if(rc ~=0) then do
  20.   say "QUERY command failed!"
  21.   exit 1
  22. end
  23. if(compare('PLOWIN',RESULT)<6) then do
  24.   'SAY Please select a PLOT WINDOW first.'
  25.   exit 1
  26. end
  27.  
  28. /* Check two (and no more) Data Sets are selected */
  29. 'PEEK 3 NOVALS'
  30. if(rc =0) then do
  31.   'SAY Please select only 2 points.'
  32.   exit 1
  33. end
  34. 'PEEK 2 NOVALS'
  35. if(rc~=0) then do
  36.   'SAY Please select 2 points first.'
  37.   exit 1
  38. end
  39. 'PEEK 1 NOVALS'
  40. if(rc~=0) then do
  41.   'SAY Please select 2 points first.'
  42.   exit 1
  43. end
  44.  
  45. /* First point */
  46.  
  47. 'PEEK 1'
  48. point1=POINT
  49.  
  50. /* Second point */
  51.  
  52. 'PEEK 2'
  53. point2=POINT
  54.  
  55. /* Make new data set for values */
  56.  
  57. 'SETADD'
  58. 'QUERY'
  59. if(rc ~=0) then do
  60.   say "QUERY command failed!"
  61.   exit 1
  62. end
  63. setnum=word(RESULT,4)
  64. if(compare('CUSTPLOT',RESULT)<8) then do
  65.   'SAY SetAdd command failed.'
  66.   exit 1
  67. end
  68.  
  69. 'POINT 0 STAR'
  70. 'COLOUR 1'
  71. 'PLOT POINT'
  72. 'CONTINUE'
  73.  
  74. /* Add two points to new set */
  75. 'SET' word(point1,1) 'XVAL'
  76. 'SET' word(point1,2) 'YVAL'
  77. 'CONTINUE'
  78. 'SET' word(point2,1) 'XVAL'
  79. 'SET' word(point2,2) 'YVAL'
  80. 'CONTINUE'
  81. 'STOP'
  82.  
  83.  
  84. 'SELECT SET' setnum
  85. 'SELECT REPLACE'
  86. 'FUNCTION SLINE'
  87. 'SELECT SET' setnum
  88. 'SELECT REPLACE'
  89. 'DELETE'
  90.  
  91.