00001 using System; 00002 using System.Collections.Generic; 00003 using System.Linq; 00004 using System.Text; 00005 using Microsoft.Xna.Framework; 00006 using Microsoft.Xna.Framework.Graphics; 00007 00008 namespace visLU2 00009 { 00013 public struct Streamline 00014 { 00015 Vector2 startPosition; //start point for this streamline 00016 Vector2 endPosition; //endpoint for this streamline 00017 List<Vector2> points; //list of all points defining this streamline 00018 int startSeedPointSearchAtIndex; // all previous points don't allow any more seed points 00019 List<float> thickness; 00020 00021 #region Properties 00022 public Vector2 StartPos 00023 { 00024 get { return startPosition; } 00025 set { startPosition = value; } 00026 } 00027 public Vector2 EndPos 00028 { 00029 get { return endPosition; } 00030 set { endPosition = value; } 00031 } 00032 public List<Vector2> Points 00033 { 00034 get { return points; } 00035 set { points = value; } 00036 } 00037 public int StartSeedPointSearchAtIndex 00038 { 00039 get { return startSeedPointSearchAtIndex; } 00040 set { startSeedPointSearchAtIndex = value; } 00041 } 00042 public List<float> Tickness 00043 { 00044 get { return thickness; } 00045 set { thickness = value; } 00046 } 00047 #endregion 00048 00049 public Streamline(Vector2 startPosition) 00050 { 00051 this.startPosition = startPosition; 00052 endPosition = Vector2.Zero; 00053 points = new List<Vector2>(); 00054 points.Add(startPosition); 00055 thickness = new List<float>(); 00056 startSeedPointSearchAtIndex = 0; 00057 } 00058 00059 public void setStartSeedPointSearchAtIndex(int value) 00060 { 00061 startSeedPointSearchAtIndex = value; 00062 } 00063 00064 } 00065 00069 public struct Streamlines 00070 { 00071 List<Streamline> streamlines; 00072 float dsep; //start distance 00073 float dtest; //minimum distance 00074 int maxLength; 00075 00076 #region Properties 00077 public float Dsep 00078 { 00079 get { return dsep; } 00080 set { dsep = value; } 00081 } 00082 public float Dtest 00083 { 00084 get { return dtest; } 00085 set { dtest = value; } 00086 } 00087 public int MaxLength 00088 { 00089 get { return maxLength; } 00090 set { maxLength = value; } 00091 } 00092 public List<Streamline> StreamlineList 00093 { 00094 get { return streamlines; } 00095 set { streamlines = value; } 00096 } 00097 #endregion 00098 00099 public Streamlines(float dsep, float dtest, int maxLength) 00100 { 00101 streamlines = new List<Streamline>(); 00102 this.dsep = dsep; 00103 this.dtest = dtest; 00104 this.maxLength = maxLength; 00105 } 00106 00107 public void resetStreamlines() 00108 { 00109 streamlines = new List<Streamline>(); 00110 this.dsep = 0; 00111 this.dtest = 0; 00112 this.maxLength = 0; 00113 } 00114 00115 } 00116 }