keid-core-0.1.7.1: Core parts of Keid engine.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Resource.Mesh.Types

Synopsis

Documentation

data AxisAligned a Source #

Constructors

AxisAligned 

Fields

Instances

Instances details
Foldable AxisAligned Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

fold :: Monoid m => AxisAligned m -> m #

foldMap :: Monoid m => (a -> m) -> AxisAligned a -> m #

foldMap' :: Monoid m => (a -> m) -> AxisAligned a -> m #

foldr :: (a -> b -> b) -> b -> AxisAligned a -> b #

foldr' :: (a -> b -> b) -> b -> AxisAligned a -> b #

foldl :: (b -> a -> b) -> b -> AxisAligned a -> b #

foldl' :: (b -> a -> b) -> b -> AxisAligned a -> b #

foldr1 :: (a -> a -> a) -> AxisAligned a -> a #

foldl1 :: (a -> a -> a) -> AxisAligned a -> a #

toList :: AxisAligned a -> [a] #

null :: AxisAligned a -> Bool #

length :: AxisAligned a -> Int #

elem :: Eq a => a -> AxisAligned a -> Bool #

maximum :: Ord a => AxisAligned a -> a #

minimum :: Ord a => AxisAligned a -> a #

sum :: Num a => AxisAligned a -> a #

product :: Num a => AxisAligned a -> a #

Traversable AxisAligned Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

traverse :: Applicative f => (a -> f b) -> AxisAligned a -> f (AxisAligned b) #

sequenceA :: Applicative f => AxisAligned (f a) -> f (AxisAligned a) #

mapM :: Monad m => (a -> m b) -> AxisAligned a -> m (AxisAligned b) #

sequence :: Monad m => AxisAligned (m a) -> m (AxisAligned a) #

Applicative AxisAligned Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

pure :: a -> AxisAligned a #

(<*>) :: AxisAligned (a -> b) -> AxisAligned a -> AxisAligned b #

liftA2 :: (a -> b -> c) -> AxisAligned a -> AxisAligned b -> AxisAligned c #

(*>) :: AxisAligned a -> AxisAligned b -> AxisAligned b #

(<*) :: AxisAligned a -> AxisAligned b -> AxisAligned a #

Functor AxisAligned Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

fmap :: (a -> b) -> AxisAligned a -> AxisAligned b #

(<$) :: a -> AxisAligned b -> AxisAligned a #

Storable a => Storable (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

Generic (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

Associated Types

type Rep (AxisAligned a) :: Type -> Type #

Methods

from :: AxisAligned a -> Rep (AxisAligned a) x #

to :: Rep (AxisAligned a) x -> AxisAligned a #

Show a => Show (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

Eq a => Eq (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

Ord a => Ord (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

Serialise a => Serialise (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

encode :: AxisAligned a -> Encoding

decode :: Decoder s (AxisAligned a)

encodeList :: [AxisAligned a] -> Encoding

decodeList :: Decoder s [AxisAligned a]

type Rep (AxisAligned a) Source # 
Instance details

Defined in Resource.Mesh.Types

type Rep (AxisAligned a) = D1 ('MetaData "AxisAligned" "Resource.Mesh.Types" "keid-core-0.1.7.1-inplace" 'False) (C1 ('MetaCons "AxisAligned" 'PrefixI 'True) (S1 ('MetaSel ('Just "aaX") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Just "aaY") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "aaZ") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a))))

data Meta Source #

Instances

Instances details
Generic Meta Source # 
Instance details

Defined in Resource.Mesh.Types

Associated Types

type Rep Meta :: Type -> Type #

Methods

from :: Meta -> Rep Meta x #

to :: Rep Meta x -> Meta #

Show Meta Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

showsPrec :: Int -> Meta -> ShowS #

show :: Meta -> String #

showList :: [Meta] -> ShowS #

GStorable Meta Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

gsizeOf :: Meta -> Int

galignment :: Meta -> Int

gpeekByteOff :: Ptr b -> Int -> IO Meta

gpokeByteOff :: Ptr b -> Int -> Meta -> IO ()

Eq Meta Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

(==) :: Meta -> Meta -> Bool #

(/=) :: Meta -> Meta -> Bool #

Serialise Meta Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

encode :: Meta -> Encoding

decode :: Decoder s Meta

encodeList :: [Meta] -> Encoding

decodeList :: Decoder s [Meta]

type Rep Meta Source # 
Instance details

Defined in Resource.Mesh.Types

data NodePartitions a Source #

Constructors

NodePartitions 

Fields

Instances

Instances details
Foldable NodePartitions Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

fold :: Monoid m => NodePartitions m -> m #

foldMap :: Monoid m => (a -> m) -> NodePartitions a -> m #

foldMap' :: Monoid m => (a -> m) -> NodePartitions a -> m #

foldr :: (a -> b -> b) -> b -> NodePartitions a -> b #

foldr' :: (a -> b -> b) -> b -> NodePartitions a -> b #

foldl :: (b -> a -> b) -> b -> NodePartitions a -> b #

foldl' :: (b -> a -> b) -> b -> NodePartitions a -> b #

foldr1 :: (a -> a -> a) -> NodePartitions a -> a #

foldl1 :: (a -> a -> a) -> NodePartitions a -> a #

toList :: NodePartitions a -> [a] #

null :: NodePartitions a -> Bool #

length :: NodePartitions a -> Int #

elem :: Eq a => a -> NodePartitions a -> Bool #

maximum :: Ord a => NodePartitions a -> a #

minimum :: Ord a => NodePartitions a -> a #

sum :: Num a => NodePartitions a -> a #

product :: Num a => NodePartitions a -> a #

Traversable NodePartitions Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

traverse :: Applicative f => (a -> f b) -> NodePartitions a -> f (NodePartitions b) #

sequenceA :: Applicative f => NodePartitions (f a) -> f (NodePartitions a) #

mapM :: Monad m => (a -> m b) -> NodePartitions a -> m (NodePartitions b) #

sequence :: Monad m => NodePartitions (m a) -> m (NodePartitions a) #

Functor NodePartitions Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

fmap :: (a -> b) -> NodePartitions a -> NodePartitions b #

(<$) :: a -> NodePartitions b -> NodePartitions a #

Show a => Show (NodePartitions a) Source # 
Instance details

Defined in Resource.Mesh.Types

Eq a => Eq (NodePartitions a) Source # 
Instance details

Defined in Resource.Mesh.Types

type Nodes = Vector Node Source #

data Node Source #

Constructors

Node 

Instances

Instances details
Generic Node Source # 
Instance details

Defined in Resource.Mesh.Types

Associated Types

type Rep Node :: Type -> Type #

Methods

from :: Node -> Rep Node x #

to :: Rep Node x -> Node #

Show Node Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

showsPrec :: Int -> Node -> ShowS #

show :: Node -> String #

showList :: [Node] -> ShowS #

GStorable Node Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

gsizeOf :: Node -> Int

galignment :: Node -> Int

gpeekByteOff :: Ptr b -> Int -> IO Node

gpokeByteOff :: Ptr b -> Int -> Node -> IO ()

Eq Node Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

(==) :: Node -> Node -> Bool #

(/=) :: Node -> Node -> Bool #

HasRange Node Source # 
Instance details

Defined in Resource.Mesh.Types

type Rep Node Source # 
Instance details

Defined in Resource.Mesh.Types

type Rep Node = D1 ('MetaData "Node" "Resource.Mesh.Types" "keid-core-0.1.7.1-inplace" 'False) (C1 ('MetaCons "Node" 'PrefixI 'True) ((S1 ('MetaSel ('Just "nBoundingSphere") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Vec4) :*: S1 ('MetaSel ('Just "nTransformBB") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Transform)) :*: (S1 ('MetaSel ('Just "nRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 IndexRange) :*: S1 ('MetaSel ('Just "nMeasurements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (AxisAligned Measurements)))))

data TexturedNode Source #

Instances

Instances details
Generic TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

Associated Types

type Rep TexturedNode :: Type -> Type #

Show TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

GStorable TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

Eq TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

HasRange TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

type Rep TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

data TextureParams Source #

Constructors

TextureParams 

Fields

Instances

Instances details
Storable TextureParams Source # 
Instance details

Defined in Resource.Mesh.Types

Generic TextureParams Source # 
Instance details

Defined in Resource.Mesh.Types

Associated Types

type Rep TextureParams :: Type -> Type #

Show TextureParams Source # 
Instance details

Defined in Resource.Mesh.Types

Eq TextureParams Source # 
Instance details

Defined in Resource.Mesh.Types

Zero TextureParams Source # 
Instance details

Defined in Resource.Mesh.Types

type Rep TextureParams Source # 
Instance details

Defined in Resource.Mesh.Types

type Rep TextureParams = D1 ('MetaData "TextureParams" "Resource.Mesh.Types" "keid-core-0.1.7.1-inplace" 'False) (C1 ('MetaCons "TextureParams" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tpScale") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Vec2) :*: S1 ('MetaSel ('Just "tpOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Vec2)) :*: (S1 ('MetaSel ('Just "tpGamma") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Vec4) :*: (S1 ('MetaSel ('Just "tpSamplerId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int32) :*: S1 ('MetaSel ('Just "tpTextureId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int32)))))

data Measurements Source #

Constructors

Measurements 

Fields

Instances

Instances details
Storable Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

Generic Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

Associated Types

type Rep Measurements :: Type -> Type #

Show Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

Eq Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

Ord Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

Serialise Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

Methods

encode :: Measurements -> Encoding

decode :: Decoder s Measurements

encodeList :: [Measurements] -> Encoding

decodeList :: Decoder s [Measurements]

type Rep Measurements Source # 
Instance details

Defined in Resource.Mesh.Types

measureAaWith :: (Foldable outer, Foldable inner) => (a -> inner Packed) -> outer a -> AxisAligned Measurements Source #

class HasRange a where Source #

Methods

getRange :: a -> IndexRange Source #

adjustRange :: a -> Word32 -> a Source #

Instances

Instances details
HasRange Node Source # 
Instance details

Defined in Resource.Mesh.Types

HasRange TexturedNode Source # 
Instance details

Defined in Resource.Mesh.Types

encodeStorable :: forall a. Storable a => a -> Encoding Source #

CBOR.encode helper for storable types (vectors, etc.)

decodeStorable :: forall a s. (Storable a, Typeable a) => Decoder s a Source #

CBOR.decode helper for storable types (vectors, etc.)