HaskellのVector library

簡単な習作

import qualified Data.Vector as V 
import Data.Tensor

main :: IO ()
main = do
  V.mapM_ createFrame tIndices 
  where
    l :: Float
    l = 0.5
    vertexData::V.Vector (Vertex3 Float) 
    vertexData = V.fromList [ Vertex3 (-l) (-l) (-l), Vertex3 l (-l) (-l), Vertex3 l l (-l), Vertex3 (-l) l (-l),
                              Vertex3 (-l) (-l)   l , Vertex3 l (-l)   l , Vertex3 l l l,    Vertex3 (-l) l   l ]
    tIndices:: V.Vector (V.Vector Int)
    tIndices = V.fromList $ map V.fromList [[0,1,2,3],[0,4,5,1],[0,3,7,4],
                                            [1,5,6,2],[2,6,7,3],[5,4,7,6]]
    putVertex::Int -> IO()
    putVertex n = do
         print.show $ vertexData V.! n

    createFrame::V.Vector Int -> IO()
    createFrame indices = do
         print $ show indices
         V.mapM_ putVertex indices
         return ()