Index: branches/eam_branches/ipp-20100621/psModules/src/objects/pmPhotObj.c
===================================================================
--- branches/eam_branches/ipp-20100621/psModules/src/objects/pmPhotObj.c	(revision 28796)
+++ branches/eam_branches/ipp-20100621/psModules/src/objects/pmPhotObj.c	(revision 28821)
@@ -103,2 +103,17 @@
     return (0);
 }
+
+// sort by X (ascending)
+int pmPhotObjSortByX (const void **a, const void **b)
+{
+    pmPhotObj *objA = *(pmPhotObj **)a;
+    pmPhotObj *objB = *(pmPhotObj **)b;
+
+    psF32 fA = objA->x;
+    psF32 fB = objB->x;
+
+    psF32 diff = fA - fB;
+    if (diff > FLT_EPSILON) return (+1);
+    if (diff < FLT_EPSILON) return (-1);
+    return (0);
+}
Index: branches/eam_branches/ipp-20100621/psModules/src/objects/pmPhotObj.h
===================================================================
--- branches/eam_branches/ipp-20100621/psModules/src/objects/pmPhotObj.h	(revision 28796)
+++ branches/eam_branches/ipp-20100621/psModules/src/objects/pmPhotObj.h	(revision 28821)
@@ -42,4 +42,5 @@
 
 int pmPhotObjSortBySN (const void **a, const void **b);
+int pmPhotObjSortByX (const void **a, const void **b);
 
 /// @}
