try
and except
to handle automatically the case when Metafor was not compiled with the viewing tool and does not possess VizWin
VizWin
can plot VectorDataCurve
objects. They contain two vectors (abscissa, ordinate). These vectors can be obtained from curves extracted during the simulation, be can also be read on disk, allowing for example the comparison of an experimental curve to the modeled one during the computation.
To view several VectorDataCurve
on only one window, a set of VectorDataCurve
(named DataCurveSet
) must be created.
Example: assume that the result curves #1, #2 and #3 are defined in the ValuesManager
. To view the graphical curves
VectorDataCurve
#1 : abscissa = curve #1, ordinate = curve #2VectorDataCurve
#2 : abscissa = curve #1, ordinate = curve #3
The 2 vectors VectorDataCurve
to view are defined with:
vlm = metafor.getValuesManager() cur1 = VectorDataCurve(1, vlm.getDataVector(1), vlm.getDataVector(2),'curveName') cur2 = VectorDataCurve(2, vlm.getDataVector(1), vlm.getDataVector(3),vlm.getDataVector(3).getName())
These two VectorDataCurve
are stored in a DataCurveSet
to view then together a a single window:
dataCurveSet1 = DataCurveSet() dataCurveSet1.add(cur1) dataCurveSet1.add(cur2)
Finally, this DataCurveSet
is added to a VizWin
window 1):
try: winc1 = VizWin() winc1.add(dataCurveSet1) metafor.addObserver(winc1) except NameError: pass
If one or both vector are part of a multiple extractor, the index of the curve in the extractor can be defined idxI = [0, vlm.getDataVector(i).size()[ :
cur1 = VectorDataCurve(1, vlm.getDataVector(1), idx1, vlm.getDataVector(2), 'curveName') cur1 = VectorDataCurve(1, vlm.getDataVector(1), vlm.getDataVector(2), idx2, 'curveName') cur1 = VectorDataCurve(1, vlm.getDataVector(1), idx1, vlm.getDataVector(2), idx2, 'curveName')
try
and except
to handle automatically the case when Metafor was not compiled with the viewing tool and does not possess VizWin