50 lines
		
	
	
		
			984 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			984 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
note
 | 
						|
	description: "[
 | 
						|
		A {VITP_CELL} paired with a hammond distance, used by
 | 
						|
		{VITP_GRID} to order cells based on their distances from
 | 
						|
		a particulation location.
 | 
						|
		]"
 | 
						|
	author:    "Jimmy J. Johnson"
 | 
						|
	date:      "4/11/24"
 | 
						|
	copyright: "Copyright (c) 2024, Jimmy J. Johnson"
 | 
						|
	license:   "Eiffel Forum v2 (http://www.eiffel.com/licensing/forum.txt)"
 | 
						|
 | 
						|
class
 | 
						|
	CELL_DISTANCE_TUPLE
 | 
						|
 | 
						|
inherit
 | 
						|
 | 
						|
	COMPARABLE
 | 
						|
 | 
						|
create
 | 
						|
	make
 | 
						|
 | 
						|
feature {NONE} -- Initialization
 | 
						|
 | 
						|
	make (a_cell: VITP_CELL; a_distance: INTEGER)
 | 
						|
			-- Create an instance
 | 
						|
		do
 | 
						|
			cell := a_cell
 | 
						|
			distance := a_distance
 | 
						|
		end
 | 
						|
 | 
						|
feature -- Access
 | 
						|
 | 
						|
	cell: VITP_CELL
 | 
						|
			-- The cell
 | 
						|
 | 
						|
	distance: INTEGER
 | 
						|
			-- The hammond distance (computed elsewhere) to which
 | 
						|
			-- a `cell' is paired.
 | 
						|
 | 
						|
feature -- Comparison
 | 
						|
 | 
						|
	is_less alias "<" (other: like Current): BOOLEAN
 | 
						|
			-- Is current object less than `other'?
 | 
						|
		do
 | 
						|
			Result := (distance < other.distance) or else
 | 
						|
					(distance = other.distance and cell.position < other.cell.position)
 | 
						|
		end
 | 
						|
 | 
						|
end
 |