module TerraHS.TerraLib.TeQuerier
(
TeQuerier(..),
TeQueriers(..)
)
where
import Foreign (Int32)
import Foreign.C.String
import qualified Foreign.Ptr (Ptr)
import TerraHS.Algebras.Base.Object
import TerraHS.Misc.GenericFunctions
import TerraHS.TerraLib.TeGeometry
import TerraHS.TerraLib.TeGeometryAlgorithms
import TerraHS.TerraLib.TeSTInstance
import TerraHS.TerraLib.TeLayer
import TerraHS.TerraLib.TeTheme
class TeQueriers q where
loadInstances :: (Foreign.Ptr.Ptr q) -> Prelude.IO Bool
numElemInstances :: (Foreign.Ptr.Ptr q) -> Prelude.IO Int32
nextInstance :: (Foreign.Ptr.Ptr q) -> Prelude.IO TeSTInstancePtr
data TeQuerier = TeQuerier TeLayerPtr Bool Bool | TeQuerierTheme TeThemePtr Bool Bool
type TeQuerierPtr = Foreign.Ptr.Ptr TeQuerier
instance TeQueriers TeQuerier where
loadInstances ptr = tequerier_loadinstances ptr
numElemInstances ptr = tequerier_numeleminstances ptr
nextInstance ptr = (new TeSTInstance) >>= \st -> (tequerier_nextinstance ptr st) >> return st
instance Pointer TeQuerier where
new (TeQuerier lptr loadgeo loadattr) = do
qptr <- tequerier_new lptr loadgeo loadattr
return qptr
new (TeQuerierTheme lptr loadgeo loadattr) = do
qptr <- tequerier_new2 lptr loadgeo loadattr
return qptr
delete l = error "not implemented"
foreign import stdcall unsafe "c_tequerier_new" tequerier_new :: TeLayerPtr -> Bool -> Bool -> Prelude.IO TeQuerierPtr
foreign import stdcall unsafe "c_tequerier_new2" tequerier_new2 :: TeThemePtr -> Bool -> Bool -> Prelude.IO TeQuerierPtr
foreign import stdcall unsafe "c_tequerier_nextInstance" tequerier_nextinstance :: TeQuerierPtr -> TeSTInstancePtr -> Prelude.IO ()
foreign import stdcall unsafe "c_tequerier_loadInstances" tequerier_loadinstances :: TeQuerierPtr -> Prelude.IO Bool
foreign import stdcall unsafe "c_tequerier_numElemInstances" tequerier_numeleminstances :: TeQuerierPtr -> Prelude.IO Int32