note
	description: "[
							Represent the direction that an effect come from (an not where
							it goes, be carefull). Cardinal directions of the haptic device
							are relative to the positioning of the device. 
							North is considered to be away from the user, south is toward the user, 
							east is right, and west is left of the user:
		
							               .--.
							               |__| .-------.
							               |=.| |.-----.|
							               |--| ||     ||
							               |  | |'-----'|
							               |__|~')_____('
							                [ COMPUTER ]
							
							
							                 North (0,-1)
							                      ^
							                      |
							                      |
							(-1,0) West <----[ HAPTIC ]----> East (1,0)
							                      |
							                      |
							                      v
							                 South (0,1)
							
							
							                 [ USER ]
							                   \|||/
							                   (o o)
							             ---ooO-(_)-Ooo---
	]"
	author: "Louis Marchand"
	date: "Tue, 03 Mar 2015 15:22:37 +0000"
	revision: "2.0"

class interface
	GAME_HAPTIC_DIRECTION

create {GAME_HAPTIC_EFFECT}
	make_by_pointer

feature -- Access

	is_polar: BOOLEAN
			-- Is Current is represented with polar coordinate
		require
			exists: exists

	is_cartesian: BOOLEAN
			-- Is Current is represented with cartesian coordinate
		require
			exists: exists

	is_spherical: BOOLEAN
			-- Is Current is represented with spherical coordinate
		require
			exists: exists

	is_equal (a_other: like Current): BOOLEAN
			-- Is other attached to an object considered
			-- equal to current object?

	is_values_equal (a_other: GAME_HAPTIC_DIRECTION): BOOLEAN
			-- Are the important values inside Current are equvalent
	
feature -- implementation

	structure_size: INTEGER_32
			-- Size to allocate (in bytes).
	
invariant
	type_valid: type = {GAME_SDL_EXTERNAL}.sdl_haptic_cartesian or type = {GAME_SDL_EXTERNAL}.sdl_haptic_polar or type = {GAME_SDL_EXTERNAL}.sdl_haptic_spherical

end -- class GAME_HAPTIC_DIRECTION

Generated by ISE EiffelStudio