{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,
  TypeFamilies, TypeSynonymInstances #-}
module HROOT.Graf.TCutG.Implementation where
import Data.Monoid
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import Language.Haskell.TH
import Language.Haskell.TH.Syntax
import System.IO.Unsafe
import FFICXX.Runtime.Cast
import FFICXX.Runtime.CodeGen.Cxx
import FFICXX.Runtime.TH
import HROOT.Graf.TCutG.RawType
import HROOT.Graf.TCutG.FFI
import HROOT.Graf.TCutG.Interface
import HROOT.Graf.TCutG.Cast
import HROOT.Graf.TCutG.RawType
import HROOT.Graf.TCutG.Cast
import HROOT.Graf.TCutG.Interface
import HROOT.Hist.TF1.RawType
import HROOT.Hist.TF1.Cast
import HROOT.Hist.TF1.Interface
import HROOT.Hist.TH1F.RawType
import HROOT.Hist.TH1F.Cast
import HROOT.Hist.TH1F.Interface
import HROOT.Hist.TAxis.RawType
import HROOT.Hist.TAxis.Cast
import HROOT.Hist.TAxis.Interface
import HROOT.Core.TClass.RawType
import HROOT.Core.TClass.Cast
import HROOT.Core.TClass.Interface
import HROOT.Hist.TGraph.RawType
import HROOT.Hist.TGraph.Cast
import HROOT.Hist.TGraph.Interface
import HROOT.Core.TNamed.RawType
import HROOT.Core.TNamed.Cast
import HROOT.Core.TNamed.Interface
import HROOT.Core.TAttLine.RawType
import HROOT.Core.TAttLine.Cast
import HROOT.Core.TAttLine.Interface
import HROOT.Core.TAttFill.RawType
import HROOT.Core.TAttFill.Cast
import HROOT.Core.TAttFill.Interface
import HROOT.Core.TAttMarker.RawType
import HROOT.Core.TAttMarker.Cast
import HROOT.Core.TAttMarker.Interface
import HROOT.Core.TObject.RawType
import HROOT.Core.TObject.Cast
import HROOT.Core.TObject.Interface
import STD.Deletable.RawType
import STD.Deletable.Cast
import STD.Deletable.Interface

instance () => ITCutG (TCutG) where

instance () => ITGraph (TCutG) where
        apply :: forall c0. (ITF1 c0, FPtr c0) => TCutG -> c0 -> IO ()
apply = (Ptr RawTCutG -> Ptr RawTF1 -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> Ptr RawTF1 -> IO ()
c_tcutg_apply
        chisquare :: forall c0. (ITF1 c0, FPtr c0) => TCutG -> c0 -> IO CDouble
chisquare = (Ptr RawTCutG -> Ptr RawTF1 -> IO CDouble)
-> TCutG -> c0 -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> Ptr RawTF1 -> IO CDouble
c_tcutg_chisquare
        drawGraph :: forall c0.
Castable c0 CString =>
TCutG -> CInt -> Ptr CDouble -> Ptr CDouble -> c0 -> IO ()
drawGraph = (Ptr RawTCutG
 -> CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO ())
-> TCutG -> CInt -> Ptr CDouble -> Ptr CDouble -> c0 -> IO ()
forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3,
 Castable x4 cx4, Castable y cy) =>
(ca -> cx1 -> cx2 -> cx3 -> cx4 -> IO cy)
-> a -> x1 -> x2 -> x3 -> x4 -> IO y
xform4 Ptr RawTCutG
-> CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO ()
c_tcutg_drawgraph
        drawPanelTGraph :: TCutG -> IO ()
drawPanelTGraph = (Ptr RawTCutG -> IO ()) -> TCutG -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO ()
c_tcutg_drawpaneltgraph
        expand :: TCutG -> CInt -> CInt -> IO ()
expand = (Ptr RawTCutG -> CInt -> CInt -> IO ())
-> TCutG -> CInt -> CInt -> IO ()
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CInt -> CInt -> IO ()
c_tcutg_expand
        fitPanelTGraph :: TCutG -> IO ()
fitPanelTGraph = (Ptr RawTCutG -> IO ()) -> TCutG -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO ()
c_tcutg_fitpaneltgraph
        getCorrelationFactorTGraph :: TCutG -> IO CDouble
getCorrelationFactorTGraph
          = (Ptr RawTCutG -> IO CDouble) -> TCutG -> IO CDouble
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CDouble
c_tcutg_getcorrelationfactortgraph
        getCovarianceTGraph :: TCutG -> IO CDouble
getCovarianceTGraph = (Ptr RawTCutG -> IO CDouble) -> TCutG -> IO CDouble
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CDouble
c_tcutg_getcovariancetgraph
        getMeanTGraph :: TCutG -> CInt -> IO CDouble
getMeanTGraph = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_getmeantgraph
        getRMSTGraph :: TCutG -> CInt -> IO CDouble
getRMSTGraph = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_getrmstgraph
        getErrorX :: TCutG -> CInt -> IO CDouble
getErrorX = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_geterrorx
        getErrorY :: TCutG -> CInt -> IO CDouble
getErrorY = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_geterrory
        getErrorXhigh :: TCutG -> CInt -> IO CDouble
getErrorXhigh = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_geterrorxhigh
        getErrorXlow :: TCutG -> CInt -> IO CDouble
getErrorXlow = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_geterrorxlow
        getErrorYhigh :: TCutG -> CInt -> IO CDouble
getErrorYhigh = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_geterroryhigh
        getErrorYlow :: TCutG -> CInt -> IO CDouble
getErrorYlow = (Ptr RawTCutG -> CInt -> IO CDouble) -> TCutG -> CInt -> IO CDouble
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CDouble
c_tcutg_geterrorylow
        initExpo :: TCutG -> CDouble -> CDouble -> IO ()
initExpo = (Ptr RawTCutG -> CDouble -> CDouble -> IO ())
-> TCutG -> CDouble -> CDouble -> IO ()
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CDouble -> CDouble -> IO ()
c_tcutg_initexpo
        initGaus :: TCutG -> CDouble -> CDouble -> IO ()
initGaus = (Ptr RawTCutG -> CDouble -> CDouble -> IO ())
-> TCutG -> CDouble -> CDouble -> IO ()
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CDouble -> CDouble -> IO ()
c_tcutg_initgaus
        initPolynom :: TCutG -> CDouble -> CDouble -> IO ()
initPolynom = (Ptr RawTCutG -> CDouble -> CDouble -> IO ())
-> TCutG -> CDouble -> CDouble -> IO ()
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CDouble -> CDouble -> IO ()
c_tcutg_initpolynom
        insertPoint :: TCutG -> IO CInt
insertPoint = (Ptr RawTCutG -> IO CInt) -> TCutG -> IO CInt
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CInt
c_tcutg_insertpoint
        integralTGraph :: TCutG -> CInt -> CInt -> IO CDouble
integralTGraph = (Ptr RawTCutG -> CInt -> CInt -> IO CDouble)
-> TCutG -> CInt -> CInt -> IO CDouble
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CInt -> CInt -> IO CDouble
c_tcutg_integraltgraph
        isEditable :: TCutG -> IO CBool
isEditable = (Ptr RawTCutG -> IO CBool) -> TCutG -> IO CBool
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CBool
c_tcutg_iseditable
        isInsideTGraph :: TCutG -> CDouble -> CDouble -> IO CInt
isInsideTGraph = (Ptr RawTCutG -> CDouble -> CDouble -> IO CInt)
-> TCutG -> CDouble -> CDouble -> IO CInt
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CDouble -> CDouble -> IO CInt
c_tcutg_isinsidetgraph
        leastSquareFit :: TCutG -> CInt -> Ptr CDouble -> CDouble -> CDouble -> IO ()
leastSquareFit = (Ptr RawTCutG
 -> CInt -> Ptr CDouble -> CDouble -> CDouble -> IO ())
-> TCutG -> CInt -> Ptr CDouble -> CDouble -> CDouble -> IO ()
forall a ca x1 cx1 x2 cx2 x3 cx3 x4 cx4 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3,
 Castable x4 cx4, Castable y cy) =>
(ca -> cx1 -> cx2 -> cx3 -> cx4 -> IO cy)
-> a -> x1 -> x2 -> x3 -> x4 -> IO y
xform4 Ptr RawTCutG -> CInt -> Ptr CDouble -> CDouble -> CDouble -> IO ()
c_tcutg_leastsquarefit
        paintStats :: forall c0. (ITF1 c0, FPtr c0) => TCutG -> c0 -> IO ()
paintStats = (Ptr RawTCutG -> Ptr RawTF1 -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> Ptr RawTF1 -> IO ()
c_tcutg_paintstats
        removePoint :: TCutG -> CInt -> IO CInt
removePoint = (Ptr RawTCutG -> CInt -> IO CInt) -> TCutG -> CInt -> IO CInt
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO CInt
c_tcutg_removepoint
        setEditable :: TCutG -> CBool -> IO ()
setEditable = (Ptr RawTCutG -> CBool -> IO ()) -> TCutG -> CBool -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CBool -> IO ()
c_tcutg_seteditable
        setHistogram :: forall c0. (ITH1F c0, FPtr c0) => TCutG -> c0 -> IO ()
setHistogram = (Ptr RawTCutG -> Ptr RawTH1F -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> Ptr RawTH1F -> IO ()
c_tcutg_sethistogram
        setMaximumTGraph :: TCutG -> CDouble -> IO ()
setMaximumTGraph = (Ptr RawTCutG -> CDouble -> IO ()) -> TCutG -> CDouble -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CDouble -> IO ()
c_tcutg_setmaximumtgraph
        setMinimumTGraph :: TCutG -> CDouble -> IO ()
setMinimumTGraph = (Ptr RawTCutG -> CDouble -> IO ()) -> TCutG -> CDouble -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CDouble -> IO ()
c_tcutg_setminimumtgraph
        set :: TCutG -> CInt -> IO ()
set = (Ptr RawTCutG -> CInt -> IO ()) -> TCutG -> CInt -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO ()
c_tcutg_set
        setPoint :: TCutG -> CInt -> CDouble -> CDouble -> IO ()
setPoint = (Ptr RawTCutG -> CInt -> CDouble -> CDouble -> IO ())
-> TCutG -> CInt -> CDouble -> CDouble -> IO ()
forall a ca x1 cx1 x2 cx2 x3 cx3 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3,
 Castable y cy) =>
(ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y
xform3 Ptr RawTCutG -> CInt -> CDouble -> CDouble -> IO ()
c_tcutg_setpoint

instance () => ITNamed (TCutG) where
        setName :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
setName = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_setname
        setNameTitle :: forall c1 c0.
(Castable c1 CString, Castable c0 CString) =>
TCutG -> c0 -> c1 -> IO ()
setNameTitle = (Ptr RawTCutG -> CString -> CString -> IO ())
-> TCutG -> c0 -> c1 -> IO ()
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CString -> CString -> IO ()
c_tcutg_setnametitle
        setTitle :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
setTitle = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_settitle

instance () => ITAttLine (TCutG) where
        getLineColor :: TCutG -> IO CShort
getLineColor = (Ptr RawTCutG -> IO CShort) -> TCutG -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CShort
c_tcutg_getlinecolor
        getLineStyle :: TCutG -> IO CShort
getLineStyle = (Ptr RawTCutG -> IO CShort) -> TCutG -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CShort
c_tcutg_getlinestyle
        getLineWidth :: TCutG -> IO CShort
getLineWidth = (Ptr RawTCutG -> IO CShort) -> TCutG -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CShort
c_tcutg_getlinewidth
        resetAttLine :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
resetAttLine = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_resetattline
        setLineAttributes :: TCutG -> IO ()
setLineAttributes = (Ptr RawTCutG -> IO ()) -> TCutG -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO ()
c_tcutg_setlineattributes
        setLineColor :: TCutG -> CShort -> IO ()
setLineColor = (Ptr RawTCutG -> CShort -> IO ()) -> TCutG -> CShort -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CShort -> IO ()
c_tcutg_setlinecolor
        setLineStyle :: TCutG -> CShort -> IO ()
setLineStyle = (Ptr RawTCutG -> CShort -> IO ()) -> TCutG -> CShort -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CShort -> IO ()
c_tcutg_setlinestyle
        setLineWidth :: TCutG -> CShort -> IO ()
setLineWidth = (Ptr RawTCutG -> CShort -> IO ()) -> TCutG -> CShort -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CShort -> IO ()
c_tcutg_setlinewidth

instance () => ITAttFill (TCutG) where
        setFillColor :: TCutG -> CInt -> IO ()
setFillColor = (Ptr RawTCutG -> CInt -> IO ()) -> TCutG -> CInt -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO ()
c_tcutg_setfillcolor
        setFillStyle :: TCutG -> CInt -> IO ()
setFillStyle = (Ptr RawTCutG -> CInt -> IO ()) -> TCutG -> CInt -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CInt -> IO ()
c_tcutg_setfillstyle

instance () => ITAttMarker (TCutG) where
        getMarkerColor :: TCutG -> IO CShort
getMarkerColor = (Ptr RawTCutG -> IO CShort) -> TCutG -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CShort
c_tcutg_getmarkercolor
        getMarkerStyle :: TCutG -> IO CShort
getMarkerStyle = (Ptr RawTCutG -> IO CShort) -> TCutG -> IO CShort
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CShort
c_tcutg_getmarkerstyle
        getMarkerSize :: TCutG -> IO CFloat
getMarkerSize = (Ptr RawTCutG -> IO CFloat) -> TCutG -> IO CFloat
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CFloat
c_tcutg_getmarkersize
        resetAttMarker :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
resetAttMarker = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_resetattmarker
        setMarkerAttributes :: TCutG -> IO ()
setMarkerAttributes = (Ptr RawTCutG -> IO ()) -> TCutG -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO ()
c_tcutg_setmarkerattributes
        setMarkerColor :: TCutG -> CShort -> IO ()
setMarkerColor = (Ptr RawTCutG -> CShort -> IO ()) -> TCutG -> CShort -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CShort -> IO ()
c_tcutg_setmarkercolor
        setMarkerStyle :: TCutG -> CShort -> IO ()
setMarkerStyle = (Ptr RawTCutG -> CShort -> IO ()) -> TCutG -> CShort -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CShort -> IO ()
c_tcutg_setmarkerstyle
        setMarkerSize :: TCutG -> CShort -> IO ()
setMarkerSize = (Ptr RawTCutG -> CShort -> IO ()) -> TCutG -> CShort -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CShort -> IO ()
c_tcutg_setmarkersize

instance () => ITObject (TCutG) where
        clear :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
clear = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_clear
        draw :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
draw = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_draw
        findObject :: forall c0. Castable c0 CString => TCutG -> c0 -> IO TObject
findObject = (Ptr RawTCutG -> CString -> IO (Ptr RawTObject))
-> TCutG -> c0 -> IO TObject
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO (Ptr RawTObject)
c_tcutg_findobject
        getName :: TCutG -> IO CString
getName = (Ptr RawTCutG -> IO CString) -> TCutG -> IO CString
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CString
c_tcutg_getname
        isA :: TCutG -> IO TClass
isA = (Ptr RawTCutG -> IO (Ptr RawTClass)) -> TCutG -> IO TClass
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO (Ptr RawTClass)
c_tcutg_isa
        paint :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
paint = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_paint
        printObj :: forall c0. Castable c0 CString => TCutG -> c0 -> IO ()
printObj = (Ptr RawTCutG -> CString -> IO ()) -> TCutG -> c0 -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawTCutG -> CString -> IO ()
c_tcutg_printobj
        saveAs :: forall c1 c0.
(Castable c1 CString, Castable c0 CString) =>
TCutG -> c0 -> c1 -> IO ()
saveAs = (Ptr RawTCutG -> CString -> CString -> IO ())
-> TCutG -> c0 -> c1 -> IO ()
forall a ca x1 cx1 x2 cx2 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) =>
(ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y
xform2 Ptr RawTCutG -> CString -> CString -> IO ()
c_tcutg_saveas
        write :: forall c0.
Castable c0 CString =>
TCutG -> c0 -> CInt -> CInt -> IO CInt
write = (Ptr RawTCutG -> CString -> CInt -> CInt -> IO CInt)
-> TCutG -> c0 -> CInt -> CInt -> IO CInt
forall a ca x1 cx1 x2 cx2 x3 cx3 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3,
 Castable y cy) =>
(ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y
xform3 Ptr RawTCutG -> CString -> CInt -> CInt -> IO CInt
c_tcutg_write
        write_ :: TCutG -> IO CInt
write_ = (Ptr RawTCutG -> IO CInt) -> TCutG -> IO CInt
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO CInt
c_tcutg_write_

instance () => IDeletable (TCutG) where
        delete :: TCutG -> IO ()
delete = (Ptr RawTCutG -> IO ()) -> TCutG -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawTCutG -> IO ()
c_tcutg_delete

newTCutG ::
           (Castable c0 CString) =>
           c0 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO TCutG
newTCutG :: forall c0.
Castable c0 CString =>
c0 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO TCutG
newTCutG = (CString
 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTCutG))
-> c0 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO TCutG
forall a ca x1 cx1 x2 cx2 x3 cx3 y cy.
(Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3,
 Castable y cy) =>
(ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y
xform3 CString -> CInt -> Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTCutG)
c_tcutg_newtcutg