#! /usr/lib/veetest/veetest -r
(revision "A.00.01")
(date "Wed 01/Jan/1992")
(component 0 "Context"
 (implementation
  (component 0 "Context"
   (name "Stacked Bars")
   (description 25 4
    Generates and displays a Stacked-Bar chart from
    the two 1-D arrays of input data.  The number
    of bars is equal to the number of array elements
    (arrays must be same size), and the "length" of
    each bar is set by the corresponding element data,
    which should be positive real or int32 numbers. 
    
    The display is autoscaled after plotting the bars
    using the maximum and minumum array data values
    and the number of bars.
    
    The display and data 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")
     (optional yes)
    )
    (input 2
     (type data)
     (name "LowData")
     (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 data)
       (name "Trace2")
       (lock constraints)
       (optional yes)
      )
      (input 3
       (type control)
       (name "Auto Scale")
       (lock name constraints)
       (optional yes)
      )
      (input 4
       (type control)
       (name "Next Curve")
       (lock name constraints)
       (optional yes)
      )
     )
     (implementation
      (component clearAtPrerun 1)
      (component clearAtActivate 0)
      (component tracePin 1)
      (component tracePin 2)
      (component graphMode rectangular)
     )
     (views
      (icon
       (iconImage "display.icon")
      )
      (detail
       (origin 512 351)
       (extent 317 278)
       (displayMode scrollGraph)
       (graphType cartesian)
       (gridType frame)
       (scale 0
        (name "Y name")
        (domainName "X name")
        (pen 9)
        (show 1)
        (range 0 20 4 linear)
       )
       (domain 0 10 4 linear)
       (trace 0 onScale 0
        (name "Trace1")
        (pen 7)
        (lineType 1)
        (pointType 6)
       )
       (trace 1 onScale 0
        (name "Trace2")
        (pen 4)
        (lineType 1)
        (pointType 6)
       )
      )
      (active detail)
     )
    )
    (component 1 "Formula"
     (name "Calculate Top Bar coords")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "A")
       (optional yes)
      )
      (input 2
       (type data)
       (name "B")
       (optional yes)
      )
      (input 3
       (type data)
       (name "I")
       (optional yes)
      )
      (input 4
       (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]+B[i]) coord(I+1-z/2,A[i]+B[i])]")
     )
     (views
      (icon
       (origin 237 318)
       (extent 226 45)
      )
      (detail
       (origin 158 398)
       (extent 475 204)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 2 "Formula"
     (name "Calculate Low 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 237 383)
       (extent 226 34)
      )
      (detail
       (origin 153 393)
       (extent 385 154)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 3 "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 277 466)
       (extent 147 28)
       (showFormat real)
      )
      (active detail)
     )
    )
    (component 4 "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 215 548)
       (extent 110 64)
       (iconImage "unbuild.icon")
      )
      (detail
       (origin 252 110)
       (extent 147 160)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 5 "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 345 568)
       (extent 110 64)
       (iconImage "loop.icon")
      )
      (detail
       (origin 615 253)
       (extent 170 34)
      )
      (active icon)
     )
    )
    (configuration
     (connect D1:1 D0:1)
     (connect D2:1 D0:2)
     (connect D5:0 D0:3)
     (connect D0:0 D0:4)
     (connect I1:1 D1:1)
     (connect I2:1 D1:2)
     (connect D5:1 D1:3)
     (connect D3:1 D1:4)
     (connect I2:1 D2:1)
     (connect D5:1 D2:2)
     (connect D3:1 D2:3)
     (connect I2:1 D4:1)
     (connect D4:5 D5:1)
    )
   )
   (views
    (icon
     (origin 491 608)
     (extent 118 25)
    )
    (panel
     (origin 299 345)
     (extent 423 291)
     (widget 0 detail
      (title off)
      (origin 303 351)
      (extent 415 281)
      (displayMode annotGraph)
      (graphType cartesian)
      (gridType frame)
      (scale 0
       (name "Y name")
       (domainName "X name")
       (pen 1)
       (show 1)
       (range 0 20 4 linear)
      )
      (domain 0 10 4 linear)
      (trace 0 onScale 0
       (name "Trace1")
       (pen 7)
       (lineType 1)
       (pointType 6)
      )
      (trace 1 onScale 0
       (name "Trace2")
       (pen 4)
       (lineType 1)
       (pointType 6)
      )
     )
    )
    (detail
     (origin 156 303)
     (extent 689 355)
     (configuration
      (connect D1:1 D0:1
       (Point 465 340)
       (Point 480 340)
       (Point 480 380)
       (Point 509 380)
      )
      (connect D2:1 D0:2
       (Point 465 400)
       (Point 480 400)
       (Point 480 450)
       (Point 509 450)
      )
      (connect D5:0 D0:3
       (Point 400 634)
       (Point 400 650)
       (Point 470 650)
       (Point 470 520)
       (Point 509 520)
      )
      (connect D0:0 D0:4
       (Point 670 631)
       (Point 670 650)
       (Point 490 650)
       (Point 490 590)
       (Point 509 590)
      )
      (connect I1:1 D1:1
       (Point 158 390)
       (Point 170 390)
       (Point 170 320)
       (Point 234 320)
      )
      (connect I2:1 D1:2
       (Point 158 590)
       (Point 170 590)
       (Point 170 580)
       (Point 200 580)
       (Point 200 330)
       (Point 234 330)
      )
      (connect D5:1 D1:3
       (Point 457 600)
       (Point 480 600)
       (Point 480 530)
       (Point 210 530)
       (Point 210 340)
       (Point 234 340)
      )
      (connect D3:1 D1:4
       (Point 426 480)
       (Point 450 480)
       (Point 450 520)
       (Point 220 520)
       (Point 220 350)
       (Point 234 350)
      )
      (connect I2:1 D2:1
       (Point 158 590)
       (Point 170 590)
       (Point 170 580)
       (Point 200 580)
       (Point 200 390)
       (Point 234 390)
      )
      (connect D5:1 D2:2
       (Point 457 600)
       (Point 480 600)
       (Point 480 530)
       (Point 210 530)
       (Point 210 400)
       (Point 234 400)
      )
      (connect D3:1 D2:3
       (Point 426 480)
       (Point 450 480)
       (Point 450 520)
       (Point 220 520)
       (Point 220 410)
       (Point 234 410)
      )
      (connect I2:1 D4:1
       (Point 158 590)
       (Point 170 590)
       (Point 170 580)
       (Point 212 580)
      )
      (connect D4:5 D5:1
       (Point 327 600)
       (Point 342 600)
      )
     )
    )
    (active panel)
    (active panel)
   )
  )
  (configuration
  )
 )
 (views
  (detail
   (configuration
   )
  )
 )
)
