private void Stream( ArrayList data, AreaLoad areaload )
        {
            data.Add( new Snoop.Data.ClassSeparator( typeof( AreaLoad ) ) );

              data.Add( new Snoop.Data.Xyz( "Force 1", areaload.ForceVector1 ) );
              data.Add( new Snoop.Data.Xyz( "Force 2", areaload.ForceVector2 ) );
              data.Add( new Snoop.Data.Xyz( "Force 3", areaload.ForceVector3 ) );

              data.Add( new Snoop.Data.CategorySeparator( "Loops" ) );
              data.Add( new Snoop.Data.Int( "Number of loops", areaload.GetLoops().Count ) );
              for( int i = 0; i < areaload.GetLoops().Count; i++ )
              {
            CurveLoop curveloop = areaload.GetLoops()[i] as CurveLoop;
            CurveLoopIterator iter = curveloop.GetCurveLoopIterator();
            iter.Reset();
            int j = 0;
            while( iter.MoveNext() )
            {
              data.Add( new Snoop.Data.Object( string.Format( "Loop [{0:d}], Curve [{1:d}]", i, j ), ( iter.Current as Curve ) ) );
              j++;
            }
              }

              data.Add( new Snoop.Data.CategorySeparator( "Reference Points" ) );
              data.Add( new Snoop.Data.Int( "Number of reference points", areaload.NumRefPoints ) );
              for( int i = 0; i < areaload.NumRefPoints; i++ )
              {
            data.Add( new Snoop.Data.Xyz( string.Format( "Reference PT [{0:d}]", i ), areaload.GetRefPoint( i ) ) );
              }
        }
        private void Stream( ArrayList data, AreaLoad areaload )
        {
            data.Add( new Snoop.Data.ClassSeparator( typeof( AreaLoad ) ) );

              data.Add( new Snoop.Data.Xyz( "Force 1", areaload.ForceVector1 ) );
              data.Add( new Snoop.Data.Xyz( "Force 2", areaload.ForceVector2 ) );
              data.Add( new Snoop.Data.Xyz( "Force 3", areaload.ForceVector3 ) );

              data.Add( new Snoop.Data.CategorySeparator( "Loops" ) );
              data.Add( new Snoop.Data.Int( "Number of loops", areaload.GetLoops().Count ) );
              int i = 0, j = 0;
              foreach( var loop in areaload.GetLoops() )
              {
            foreach( var curve in loop )
            {
              data.Add( new Snoop.Data.Object( string.Format( "Loop [{0:d}], Curve [{1:d}]", i, j ), curve ) );
              j++;
            }
            i++;
              }

              data.Add( new Snoop.Data.CategorySeparator( "Reference Points" ) );
              data.Add( new Snoop.Data.Int( "Number of reference points", areaload.NumRefPoints ) );
              for( i = 0; i < areaload.NumRefPoints; i++ )
              {
            data.Add( new Snoop.Data.Xyz( string.Format( "Reference PT [{0:d}]", i ), areaload.GetRefPoint( i ) ) );
              }
        }