#! /usr/lib/veetest/veetest -r
(revision "A.00.01")
(date "Wed 01/Jan/1992")
(component 0 "Context"
 (implementation
  (component 0 "Context"
   (name "Bar Chart Display")
   (description 25 4
    Generates and displays a bar chart using the 1-D
    array input data.  The number of bars is equal to
    the number of array elements, and the "length" of
    each bar is set by the corresponding Array element
    data, which may be a positive or negative real or
    int32 number.
    
    The display is pre-autoscaled before plotting,
    using the maximum and minumum array data values
    and the number of bars.
    
    The data and display labels, bar color, grid type,
    etc. can be set by clicking the Right Button over
    the display area and selecting the "Traces and
    Scales" entry from the resulting menu.  The gap
    between bars can be set using the "Spacing" box
    in the Bar Chart Detail view.
    
    It may prove useful to Secure the BarChart User
    Object after customizing, since this eliminates
    the Panel/Detail buttons and some menu selections
    that are no longer needed.  Be sure to save the
    unsecured object so you can make changes at a
    later date, however.
    
   )
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (type data)
     (name "Ary")
     (requires
      (shape "Array 1D")
     )
     (optional yes)
    )
   )
   (implementation
    (trigMode deg)
    (locked no)
    (component 0 "YPlot"
     (name "XY Trace")
     (subType "XY_Trace")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Trace1")
       (lock constraints)
      )
      (input 2
       (type control)
       (name "Auto Scale")
       (lock name constraints)
       (optional yes)
      )
      (input 3
       (type control)
       (name "Next Curve")
       (lock name constraints)
       (optional yes)
      )
     )
     (implementation
      (component clearAtPrerun 1)
      (component clearAtActivate 0)
      (component tracePin 1)
      (component graphMode rectangular)
     )
     (views
      (icon
       (extent 110 0)
       (iconImage "display.icon")
      )
      (detail
       (origin 457 312)
       (extent 327 277)
       (displayMode scrollGraph)
       (graphType cartesian)
       (gridType frame)
       (scale 0
        (name "Y name")
        (domainName "X name")
        (pen 1)
        (show 1)
        (range 0 10 4 linear)
       )
       (domain 0 10 4 linear)
       (trace 0 onScale 0
        (name "Trace1")
        (pen 7)
        (lineType 1)
        (pointType 6)
       )
      )
      (active detail)
     )
    )
    (component 1 "ForCount"
     (name "For Count")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Count")
       (tag "Count")
       (requires
        (datatype Int32)
        (shape "Scalar")
       )
       (lock constraints)
       (optional yes)
      )
      (output 1
       (type data)
       (name "Count")
       (lock name constraints)
      )
      (buffers in
       (buffer "Count")
      )
     )
     (implementation
      (component count 10)
     )
     (views
      (icon
       (origin 305 548)
       (extent 110 64)
       (iconImage "loop.icon")
      )
      (detail
       (origin 615 253)
       (extent 170 34)
      )
      (active icon)
     )
    )
    (component 2 "Junction"
     (name "JCT")
     (interface
      (input 1
       (type data)
       (name "A")
       (lock name constraints)
      )
      (input 2
       (type data)
       (name "B")
       (lock name constraints)
      )
      (input 3
       (type data)
       (name "C")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Data")
       (lock name constraints)
      )
     )
     (implementation
     )
     (views
      (icon
       (origin 367 393)
       (extent 46 34)
      )
      (detail
      )
      (terminals on)
      (active icon)
     )
    )
    (component 3 "FromArray"
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Ary")
       (tag "Ary")
      )
      (output 1
       (type data)
       (name "SubAry")
       (tag "Result")
       (lock constraints)
      )
      (output 2
       (type data)
       (name "Type")
       (tag "Type")
       (lock constraints)
      )
      (output 3
       (type data)
       (name "NumDims")
       (tag "NumDims")
       (lock constraints)
      )
      (output 4
       (type data)
       (name "DimSizes")
       (tag "DimSizes")
       (lock constraints)
      )
      (output 5
       (type data)
       (name "TotSize")
       (tag "TotSize")
       (lock constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "Ary")
     )
     (views
      (icon
       (origin 165 548)
       (extent 110 64)
       (iconImage "unbuild.icon")
      )
      (detail
       (origin 252 110)
       (extent 147 160)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 4 "Do"
     (interface
      (sequence in)
      (sequence out)
      (output 1
       (type data)
       (name "Do")
       (lock name constraints)
      )
     )
     (implementation
     )
     (views
      (icon
       (origin 337 508)
       (extent 46 25)
      )
      (detail
      )
      (terminals on)
      (active icon)
     )
    )
    (component 5 "Formula"
     (name "Upper Right")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "A")
       (optional yes)
      )
      (input 2
       (type data)
       (name "xmax")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "coord(xmax,max(a))")
     )
     (views
      (icon
       (origin 185 478)
       (extent 110 25)
      )
      (detail
       (origin 312 308)
       (extent 196 104)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 6 "Formula"
     (name "Lower Left")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "A")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "coord(0,min([min(a) 0]))")
     )
     (views
      (icon
       (origin 185 438)
       (extent 110 25)
      )
      (detail
       (origin 180 408)
       (extent 250 104)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 7 "Constant"
     (name "Spacing")
     (subType "Real")
     (interface
      (sequence in)
      (sequence out)
      (output 1
       (type data)
       (name "Real")
       (lock name constraints)
      )
     )
     (implementation
      (component value Real
       (name "Spacing")
       (datum 0.2)
      )
      (component autoTrigger off)
      (component initializeAtPrerun off)
      (component initializeAtActivate off)
      (component initValue Real
       (datum 0)
      )
     )
     (views
      (icon
       (extent 78 0)
      )
      (detail
       (origin 157 396)
       (extent 147 28)
       (showFormat real)
      )
      (active detail)
     )
    )
    (component 8 "Formula"
     (name "Calculate Bar coords")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "A")
       (optional yes)
      )
      (input 2
       (type data)
       (name "I")
       (optional yes)
      )
      (input 3
       (type data)
       (name "z")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "[coord(I+z/2,A[i]) coord(I+1-z/2,A[i])]")
     )
     (views
      (icon
       (origin 165 283)
       (extent 190 34)
      )
      (detail
       (origin 183 443)
       (extent 385 154)
      )
      (terminals on)
      (active icon)
     )
    )
    (configuration
     (connect D2:1 D0:1)
     (connect D4:1 D0:2)
     (connect D0:0 D0:3)
     (connect D4:0 D1:0)
     (connect D3:5 D1:1)
     (connect D8:1 D2:1)
     (connect D6:1 D2:2)
     (connect D5:1 D2:3)
     (connect I1:1 D3:1)
     (connect D5:0 D4:0)
     (connect D6:0 D5:0)
     (connect I1:1 D5:1)
     (connect D3:5 D5:2)
     (connect I1:1 D6:1)
     (connect I1:1 D8:1)
     (connect D1:1 D8:2)
     (connect D7:1 D8:3)
    )
   )
   (views
    (icon
     (origin 529 318)
     (extent 163 25)
    )
    (panel
     (origin 249 350)
     (extent 382 260)
     (widget 0 detail
      (title off)
      (origin 253 355)
      (extent 374 251)
      (displayMode annotGraph)
      (graphType cartesian)
      (gridType frame)
      (scale 0
       (name "Y name")
       (domainName "X name")
       (pen 1)
       (show 1)
       (range 0 10 4 linear)
      )
      (domain 0 10 4 linear)
      (trace 0 onScale 0
       (name "Trace1")
       (pen 7)
       (lineType 1)
       (pointType 6)
      )
     )
    )
    (detail
     (origin 86 262)
     (extent 689 417)
     (configuration
      (connect D2:1 D0:1
       (Point 415 410)
       (Point 430 410)
       (Point 430 360)
       (Point 454 360)
      )
      (connect D4:1 D0:2
       (Point 385 520)
       (Point 400 520)
       (Point 400 450)
       (Point 454 450)
      )
      (connect D0:0 D0:3
       (Point 620 591)
       (Point 620 610)
       (Point 430 610)
       (Point 430 540)
       (Point 454 540)
      )
      (connect D4:0 D1:0
       (Point 360 535)
       (Point 360 545)
      )
      (connect D3:5 D1:1
       (Point 277 600)
       (Point 290 600)
       (Point 290 580)
       (Point 302 580)
      )
      (connect D8:1 D2:1
       (Point 357 300)
       (Point 370 300)
       (Point 370 340)
       (Point 350 340)
       (Point 350 400)
       (Point 364 400)
      )
      (connect D6:1 D2:2
       (Point 297 450)
       (Point 330 450)
       (Point 330 410)
       (Point 364 410)
      )
      (connect D5:1 D2:3
       (Point 297 490)
       (Point 340 490)
       (Point 340 420)
       (Point 364 420)
      )
      (connect I1:1 D3:1
       (Point 88 480)
       (Point 150 480)
       (Point 150 580)
       (Point 162 580)
      )
      (connect D5:0 D4:0
       (Point 240 505)
       (Point 240 520)
       (Point 310 520)
       (Point 310 500)
       (Point 360 500)
       (Point 360 505)
      )
      (connect D6:0 D5:0
       (Point 240 465)
       (Point 240 475)
      )
      (connect I1:1 D5:1
       (Point 88 480)
       (Point 182 480)
      )
      (connect D3:5 D5:2
       (Point 277 600)
       (Point 290 600)
       (Point 290 530)
       (Point 170 530)
       (Point 170 500)
       (Point 182 500)
      )
      (connect I1:1 D6:1
       (Point 88 480)
       (Point 150 480)
       (Point 150 450)
       (Point 182 450)
      )
      (connect I1:1 D8:1
       (Point 88 480)
       (Point 120 480)
       (Point 120 290)
       (Point 162 290)
      )
      (connect D1:1 D8:2
       (Point 417 580)
       (Point 440 580)
       (Point 440 630)
       (Point 130 630)
       (Point 130 300)
       (Point 162 300)
      )
      (connect D7:1 D8:3
       (Point 306 410)
       (Point 320 410)
       (Point 320 400)
       (Point 330 400)
       (Point 330 340)
       (Point 150 340)
       (Point 150 310)
       (Point 162 310)
      )
     )
    )
    (active panel)
    (active panel)
   )
  )
  (configuration
  )
 )
 (views
  (detail
   (configuration
   )
  )
 )
)
