[Yt-svn] yt-commit r1402 - trunk/yt/lagos

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Tue Aug 18 14:30:23 PDT 2009


Author: mturk
Date: Tue Aug 18 14:30:20 2009
New Revision: 1402
URL: http://yt.spacepope.org/changeset/1402

Log:
Added sorting for rays



Modified:
   trunk/yt/lagos/BaseDataTypes.py

Modified: trunk/yt/lagos/BaseDataTypes.py
==============================================================================
--- trunk/yt/lagos/BaseDataTypes.py	(original)
+++ trunk/yt/lagos/BaseDataTypes.py	Tue Aug 18 14:30:20 2009
@@ -351,6 +351,7 @@
     def __init__(self, pf, fields, **kwargs):
         AMRData.__init__(self, pf, fields, **kwargs)
         self._grids = None
+        self._sortkey = None
 
     def _generate_field_in_grids(self, field, num_ghost_zones=0):
         for grid in self._grids:
@@ -392,6 +393,12 @@
             self[field] = na.concatenate(
                 [self._get_data_from_grid(grid, field)
                  for grid in self._grids])
+        for field in fields_to_get:
+            if not self.data.has_key(field):
+                continue
+            if self._sortkey is None:
+                self._sortkey = na.argsort(self[self.sort_by])
+            self[field] = self[field][self._sortkey]
 
 class AMROrthoRayBase(AMR1DData):
     _key_fields = ['x','y','z','dx','dy','dz']
@@ -409,6 +416,7 @@
         self.px_dx = 'd%s'%(axis_names[self.px_ax])
         self.py_dx = 'd%s'%(axis_names[self.py_ax])
         self.px, self.py = coords
+        self.sort_by = axis_names[self.axis]
         self._refresh_data()
 
     def _get_list_of_grids(self):
@@ -443,6 +451,7 @@
 class AMRRayBase(AMR1DData):
     _type_name = "ray"
     _con_args = ('start_point', 'end_point')
+    sort_by = 't'
     def __init__(self, start_point, end_point, fields=None, pf=None, **kwargs):
         """
         We accept a start point and an end point and then get all the data



More information about the yt-svn mailing list