?9O      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNNone OPQRSTUVW  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: ) 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  !"#$%&'()*+XYZ[\]^_,-./0123456789:;<=>?@ABCDEF`<  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF<&)('#%$"! *+ 543210/.-,6789:;<=>?@ABCDEF+ "! #%$&)('*+XYZ[\]^_,-./0123456789:;<=>?@ABCDEF`Noneab a c* and advance the source pointer past this  datum. deafGghijHGHGH deafGghijHNone k:Read point data using a user-supplied ASCII point parser. lALoad points of unknown dimension into a boxed vector with a list  of  as the point representation. m Read back c points saved as binary data. nBReads point data in either ASCII or binary formats given an ASCII & parser for the point data type and a c instance. If you ; know that your points are binary or ASCII, consider using   readBinPoints or k. o%Parse 3D points serialized in ASCII. p?Parse 4D points serialized to ASCII. This is useful for points @ with X,Y,Z, and RGB fields each represented by a single float. I: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 $. J"asciiToBinary inputFile outputFile converts a PCD file from  ASCII to Binary. K8Save a binary PCD file including only the named fields. q(Load points stored in a PCD file into a  . This requires a  c9 instance for the type used to represent a point. If the ; point is a monotyped collection of fields, consider using   or  to represent points. LARead a PCD file consisting of floating point XYZ coordinates for  each point. MBRead 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). NCParse every field of every point in a PCD file. Returns a function 0 that may be used to project out a named field. klmnopIJKqLMrN !"78IJKLMN"! NMLJIK78klmnopIJKqLMrNs           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX YZ Y[ Y\ Y] Y^ Y_ Y` Ya Ybcdefghijkl mn moppqrstuvwxyz{|}~pcd-loader-0.2.3.2PCD.Internal.Types PCD.HeaderPCD.Internal.StorableFieldTypePCD.Data Linear.V2V2 Linear.V3V3baseGHC.WordWord8linear-0.4.2.1 Linear.MatrixM44Linear.Quaternion Quaternion Linear.V4V4vector-0.10.0.1Data.Vector.StorableVectorHeader_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 writeHeadertotalBinarySizeparseBinaryPointspokeBinaryPoints saveBinaryPcd asciiToBinaryprojectBinaryFieldsloadXyzloadXyzw loadAllFields Linear.VectorbasisForbasislerp^/^**^^-^gnegate^+^$fPCDTypeDouble$fPCDTypeFloat$fPCDTypeInt32$fPCDTypeWord32$fPCDTypeInt16$fPCDTypeWord16 $fPCDTypeInt8$fPCDTypeWord8$fNFDataHeaderpeekStepForeign.StorablepeekStorablePparseBinaryFieldparseBinaryFieldspokeSteppokeBinaryFieldpokeBinaryFieldsreadAsciiPointsreadAsciiPointsDefaultreadHomogenousBinaryPoints readPointData readXYZ_asciireadXYZW_ascii loadPointsloadFlexiblePoints