KLEFT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSNone TUVWXYZ[\]^ None%Extract a raw Haskell value from the  variant. If you  know what you'3ve got, this frees from having to pattern match on  the  constructor. If you' re wrong, you' ll get an  exception.  Associate a &* and a size (in bytes) for every instance  of . The argument to  is never evaluated. #3The PCD format has both ASCII and binary variants. &@Fields attached to a point may be signed integers (I), unsigned & integers (U), or floating point (F). *;Construct a parser for a field based on its type and size. 6 The default PCD version of 0.7. 7/Make a PCD header for a monotyped vector point  type. !mkSimpleHeader fields (type,sz) n prepares a   for  n points with field names fields, field type given by type,  and field size given by sz'. Example to save 1000 3D points using D a single-precision floating point number (4 bytes) for each field: ) mkSimpleHeader ["x","y","z"] (F,4) 1000 8mkHeaderXYZ sample n builds a   for n points with  fields "x", "y", and "z" of & and size (in bytes)  derived from the  instance of sample . Example: % mkHeaderXYZ (undefined::Float) 1000 9BAssemble a parser for points by sequencing together all necessary  field parsers. : Create a  . based on an existing one that keeps only the 1 fields whose names pass the supplied predicate. CGet the next non-comment line. D Parse a PCD header. Returns the   and the rest of the file  contents. E Format a  . to be compatible with the PCD specification. F=Compute the number of bytes this point cloud would occupy if  serialized with the $ encoding. E  !"#$%&'()*+_`abcdef,-./0123456789:;<=>?@ABCDEFg<  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF<&)('#%$"! *+ 543210/.-,6789:;<=>?@ABCDEF+ "! #%$&)('*+_`abcdef,-./0123456789:;<=>?@ABCDEFgNoneG:Read point data using a user-supplied ASCII point parser. H>Load points of arbitrary dimension into a boxed vector with a  h of  as the point representation. I%Parse 3D points serialized in ASCII. J?Parse 4D points serialized to ASCII. This is useful for points @ with X,Y,Z, and RGB fields each represented by a single float. GHIJGHIJGHIJGHIJNoneij a k* and advance the source pointer past this  datum. lminKopqrLKLKL lminKopqrLNoneM"asciiToBinary inputFile outputFile converts a PCD file from  ASCII to Binary. MMMMNone s Read back k points saved as binary data. tBReads point data in either ASCII or binary formats given an ASCII & parser for the point data type and a k instance. If you ; know that your points are binary or ASCII, consider using   readBinPoints or readAsciiPoints. N:Use an existing PCD header to save binary point data to a D file. The supplied header is used as-is, except that its format is  set to $. O@Save a binary PCD file including only the named fields. This is E useful when you have a PCD file that has more fields for each point E than you care about. For instance, you may wish to extract just the  "x", "y", and "z"$ fields for each point. This can be  accomplished using, projectBinaryFields ["x", "y", "z"]  inputFile outputFile. u(Load points stored in a PCD file into a . This requires a  k9 instance for the type used to represent a point. If the ; point is a monotyped collection of fields, consider using  ,  , or   to represent points. When ! using a representation from the linear package, you may wish to  use P or Q# which can handle ASCII and Binary $ serializations of 3D or 4D points. PARead a PCD file consisting of floating point XYZ coordinates for  each point. QBRead a PCD file consisting of floating point XYZW coordinates for  each point (where the final "W" field may be an RGB triple  encoded as a float). RLoad a h" of points, each represented as a h of  9 fields. If you wish to use field names to access to the  data, consider using S. SCParse every field of every point in a PCD file. Returns a function 0 that may be used to project out a named field. stNOuPQRS !"78NOPQRS"! SRQPNO78 stNOuPQRSv       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abacadaeafagahaiajakalmnopqrstuvw xy xz{{|}~pcd-loader-0.3.0.1PCD.Internal.Types PCD.HeaderPCD.Internal.AsciiParsersPCD.Internal.StorableFieldTypePCD.ConversionPCD.DataLinearV2V3V4baseGHC.WordWord8vector-0.10.0.1Data.Vector.StorableVector linear-0.9.2 Linear.MatrixM44Linear.Quaternion Quaternion Linear.V4 Linear.V3 Linear.V2Header_version_fields_sizes _dimTypes_counts_width_height _viewpoint_points_formatPCDType unsafeUnwrap fromHaskell FieldTypeTDoubleTFloatTIntTUintTShortTUshortTCharTUchar DataFormatBinaryASCIIDimTypeFUI fieldParser sequence'countsdimTypesfieldsformatheightpointssizesversion viewpointwidthdefaultVersionmkSimpleHeader mkHeaderXYZ pointParser filterFields defaultHeader readVersion readFields readTypes namedIntegralnamedIntegrals readViewpoint readFormatnextLine readHeader writeHeadertotalBinarySize readPointsreadPointsDefaultreadXYZreadXYZWparseBinaryPointspokeBinaryPoints asciiToBinary saveBinaryPcdprojectBinaryFieldsloadXyzloadXyzwloadFlexiblePointsloadFieldsByName Linear.VectorbasisForbasis^/^**^negatedlerp^-^^+^zeroAdditive$fPCDTypeDouble$fPCDTypeFloat$fPCDTypeInt32$fPCDTypeWord32$fPCDTypeInt16$fPCDTypeWord16 $fPCDTypeInt8$fPCDTypeWord8$fNFDataHeader Data.VectorpeekStepForeign.StorablepeekStorablePparseBinaryFieldparseBinaryFieldspokeSteppokeBinaryFieldpokeBinaryFieldsreadStorableBinaryPoints readPointData loadPoints