pcd-loader 0.3.0.0 → 0.3.0.1
raw patch · 3 files changed
+10/−6 lines, 3 filesdep ~lensPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: lens
API changes (from Hackage documentation)
- PCD.Header: counts :: Lens Header Header [Int] [Int]
+ PCD.Header: counts :: Lens' Header [Int]
- PCD.Header: dimTypes :: Lens Header Header [DimType] [DimType]
+ PCD.Header: dimTypes :: Lens' Header [DimType]
- PCD.Header: fields :: Lens Header Header [Text] [Text]
+ PCD.Header: fields :: Lens' Header [Text]
- PCD.Header: format :: Lens Header Header DataFormat DataFormat
+ PCD.Header: format :: Lens' Header DataFormat
- PCD.Header: height :: Lens Header Header Int Int
+ PCD.Header: height :: Lens' Header Int
- PCD.Header: points :: Lens Header Header Integer Integer
+ PCD.Header: points :: Lens' Header Integer
- PCD.Header: sizes :: Lens Header Header [Int] [Int]
+ PCD.Header: sizes :: Lens' Header [Int]
- PCD.Header: version :: Lens Header Header Text Text
+ PCD.Header: version :: Lens' Header Text
- PCD.Header: viewpoint :: Lens Header Header (V3 Double, Quaternion Double) (V3 Double, Quaternion Double)
+ PCD.Header: viewpoint :: Lens' Header (V3 Double, Quaternion Double)
- PCD.Header: width :: Lens Header Header Integer Integer
+ PCD.Header: width :: Lens' Header Integer
Files
- pcd-loader.cabal +4/−3
- src/PCD/Data.hs +4/−1
- src/PCD/Header.hs +2/−2
pcd-loader.cabal view
@@ -1,5 +1,5 @@ name: pcd-loader-version: 0.3.0.0+version: 0.3.0.1 synopsis: PCD file loader. description: Parser for PCD (point cloud data) formats. See <http://pointclouds.org/documentation/tutorials/pcd_file_format.php>@@ -23,8 +23,9 @@ PCD.Internal.StorableFieldType, PCD.Internal.AsciiParsers ghc-options: -O2 -Wall hs-source-dirs: src- build-depends: base >= 4.5 && < 5, text, mtl, lens, vector, bytestring, - attoparsec, binary, deepseq, linear+ build-depends: base >= 4.5 && < 5, text, mtl, vector, bytestring, + attoparsec, binary, deepseq, + lens >= 3.8.1, linear default-language: Haskell2010 executable pcd2bin
src/PCD/Data.hs view
@@ -103,8 +103,11 @@ loadPoints parser pcdFile = do h <- openFile pcdFile ReadMode (pcdh,_) <- readHeader h r <- pcdh `deepseq` readPointData pcdh h parser+ v <- case r of+ Left _ -> return V.empty+ Right v' -> V.length v' `seq` return v' hClose h- return $ either (const V.empty) id r+ return v -- |Read a PCD file consisting of floating point XYZ coordinates for -- each point.
src/PCD/Header.hs view
@@ -5,7 +5,7 @@ module PCD.Header where import Control.Applicative import Control.Arrow ((***))-import Control.Lens (makeLenses, (^.), (%~), (.=), _1, _2, use, Setting)+import Control.Lens (makeLenses, (^.), (%~), (.=), _1, _2, use, ASetter) import Control.Monad.State import Data.Foldable (Foldable, foldMap) import Data.Int@@ -213,7 +213,7 @@ where nxt :: (MonadState (a,Maybe Text) m, MonadIO m) => m () nxt = liftIO (nextLine h) >>= (_2.=) . Just entry :: (MonadState (s,Maybe Text) m, MonadIO m, Functor m) => - Parser a -> Setting s s a a -> m ()+ Parser a -> ASetter s s a a -> m () entry parser field = do use _2 >>= maybe nxt (const (return ())) Just ln <- use _2 case parseOnly parser ln of