PrintAs.hs revision fcd50ed0f526645ca50bad2170e3b98b911b7678
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu{- |
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuModule : $Header$
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuDescription : print the abstract syntax of FreeCAD terms
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuCopyright : (c) Robert Savu and Uni Bremen 2011
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuLicense : GPLv2 or higher, see LICENSE.txt
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuMaintainer : Robert.Savu@dfki.de
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuStability : experimental
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuPortability : portable
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuPrinting of the abstract syntax of FreeCAD terms
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu-}
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiumodule FreeCAD.PrintAs where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuimport FreeCAD.As
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuimport Common.DocUtils
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuimport Common.Doc
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuimport Common.Id
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu-- | Pretty printing 'Double'
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuinstance Pretty Double where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu pretty = sidDoc . mkSimpleId . show
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuinstance Pretty Vector3 where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu pretty v = pretty (x v, y v, z v)
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuinstance Pretty Matrix33 where
a604cbad8e2202147b5c6bb9f2e06ae61162d654Felix Gabriel Mance pretty m = vcat [lparen <> rows, rparen] where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu rows = vcat [row1, row2, row3]
be2439588008221e691321fdf4f75432cfb72878Felix Gabriel Mance row a b c = sepByCommas $ map pretty [a m, b m, c m]
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu row1 = row a11 a12 a13
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu row2 = row a21 a22 a23
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu row3 = row a31 a32 a33
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu