{-- TerraHS - Interface between TerraLib and Haskell

    (c) Sergio Costa (INPE) - Setembro, 2005

	This program is free software; you can redistribute it 
    and/or modify it under the terms of the GNU General 
    Public License 2.1 as published by the Free Software Foundation
    (http://www.opensource.org/licenses/gpl-license.php)
--}

{--  --}
	
module TerraHS.Algebras.Spatial.Geometries
	(
		-- * The @Geometries@ class
		Geometries (..)
	)
	 where
	 
	 

import TerraHS.Algebras.Spatial.Points
import TerraHS.Algebras.Spatial.Lines
import TerraHS.Algebras.Spatial.Polygons




class (Num a, 
		Points p a, 
		Lines l a, 
		Polygons pg l a)
		 => 
		 Geometries g pg l p a | g -> pg l p a where
		 
	isPoint, isPolygon, isLine :: g -> Bool
	toPolygon :: g -> pg
	toLine :: g -> l
	toPoint :: g -> p