liblas.h File Reference

#include "las_version.h"
#include "las_config.h"
#include <liblas/cstdint.hpp>
Include dependency graph for liblas.h:

Go to the source code of this file.

Classes

struct  LASPointSummary

Defines

#define LIBLAS_C_API   1
#define LAS_MODE_READ   0
#define LAS_MODE_WRITE   1
#define LAS_MODE_APPEND   2

Typedefs

typedef struct LASWriterHS * LASWriterH
typedef struct LASReaderHS * LASReaderH
typedef struct LASPointHS * LASPointH
typedef struct LASHeaderHS * LASHeaderH
typedef struct LASGuidHS * LASGuidH
typedef struct LASVLRHS * LASVLRH
typedef struct LASColorHS * LASColorH
typedef struct LASSRSHS * LASSRSH
typedef struct LASPointFormatHS * LASPointFormatH
typedef struct GTIFS * GTIF
typedef struct TIFFS * TIFF

Enumerations

enum  LASError {
  LE_None = 0, LE_Debug = 1, LE_Warning = 2, LE_Failure = 3,
  LE_Fatal = 4
}

Functions

LAS_DLL char * LAS_GetVersion (void)
 Returns the version string for this library.
LAS_DLL int LAS_IsLibGeoTIFFEnabled (void)
LAS_DLL int LAS_IsGDALEnabled (void)
LAS_DLL int LAS_IsLibSpatialIndexEnabled (void)
LAS_DLL void LASError_Reset (void)
 Resets the error stack for the libLAS C API.
LAS_DLL void LASError_Pop (void)
 Pops the top error off of the error stack for the libLAS C API.
LAS_DLL LASError LASError_GetLastErrorNum (void)
 Returns the error number of the last error on the error stack.
LAS_DLL char * LASError_GetLastErrorMsg (void)
 Returns the name of the method the last error message happened in.
LAS_DLL char * LASError_GetLastErrorMethod (void)
 Returns the name of the method the last error message happened in.
LAS_DLL int LASError_GetErrorCount (void)
 Returns the number of error messages on the error stack.
LAS_DLL void LASError_Print (const char *message)
 Prints the last error message in the error stack to stderr.
LAS_DLL LASReaderH LASReader_Create (const char *filename)
 Creates a LASReaderH object that can be used to read LASHeaderH and LASPointH objects with.
LAS_DLL LASReaderH LASReader_CreateWithHeader (const char *filename, LASHeaderH hHeader)
 Creates a LASReaderH object that can be used to read LASHeaderH and LASPointH objects with.
LAS_DLL LASPointH LASReader_GetNextPoint (const LASReaderH hReader)
 Reads the next available point on the LASReaderH instance.
LAS_DLL LASPointH LASReader_GetPointAt (const LASReaderH hReader, uint32_t position)
 Reads a LASPointH from the given position in the LAS file represented by the LASReaderH instance.
LAS_DLL void LASReader_Destroy (LASReaderH hReader)
 Closes the file for reading operations represented by the LASReaderH instance.
LAS_DLL LASHeaderH LASReader_GetHeader (const LASReaderH hReader)
 Returns a LASHeaderH representing the header for the file.
LAS_DLL LASError LASReader_SetSRS (LASReaderH hReader, const LASSRSH hSRS)
LAS_DLL LASError LASReader_SetInputSRS (LASReaderH hReader, const LASSRSH hSRS)
LAS_DLL LASError LASReader_SetOutputSRS (LASReaderH hReader, const LASSRSH hSRS)
LAS_DLL double LASPoint_GetX (const LASPointH hPoint)
 Returns the X value for the point.
LAS_DLL LASError LASPoint_SetX (LASPointH hPoint, double value)
 Sets the X value for the point.
LAS_DLL double LASPoint_GetY (const LASPointH hPoint)
 Returns the Y value for the point.
LAS_DLL LASError LASPoint_SetY (LASPointH hPoint, double value)
 Sets the Y value for the point.
LAS_DLL double LASPoint_GetZ (const LASPointH hPoint)
 Returns the Z value for the point.
LAS_DLL LASError LASPoint_SetZ (LASPointH hPoint, double value)
 Sets the Z value for the point.
LAS_DLL uint16_t LASPoint_GetIntensity (const LASPointH hPoint)
 Returns the intensity value for the point.
LAS_DLL LASError LASPoint_SetIntensity (LASPointH hPoint, uint16_t value)
 Sets the intensity value for the point.
LAS_DLL uint16_t LASPoint_GetReturnNumber (const LASPointH hPoint)
 Returns the return number for the point.
LAS_DLL LASError LASPoint_SetReturnNumber (LASPointH hPoint, uint16_t value)
 Sets the return number for the point.
LAS_DLL uint16_t LASPoint_GetNumberOfReturns (const LASPointH hPoint)
 Returns the total number of returns for a given pulse.
LAS_DLL LASError LASPoint_SetNumberOfReturns (LASPointH hPoint, uint16_t value)
 Sets the number of returns for the point.
LAS_DLL uint16_t LASPoint_GetScanDirection (const LASPointH hPoint)
 Returns the scan direction for a given pulse.
LAS_DLL LASError LASPoint_SetScanDirection (LASPointH hPoint, uint16_t value)
 Sets the scan direction for a given pulse.
LAS_DLL uint16_t LASPoint_GetFlightLineEdge (const LASPointH hPoint)
 Returns whether or not a given pulse is an edge point.
LAS_DLL LASError LASPoint_SetFlightLineEdge (LASPointH hPoint, uint16_t value)
 Sets the edge marker for a given pulse.
LAS_DLL uint8_t LASPoint_GetScanFlags (const LASPointH hPoint)
 Returns all of the scan flags for the point -- Return number, number of returns, flightline edge, scan direction, and scan angle rank.
LAS_DLL LASError LASPoint_SetScanFlags (LASPointH hPoint, uint8_t value)
 Sets all of the scan flags for the point.
LAS_DLL uint8_t LASPoint_GetClassification (const LASPointH hPoint)
 Returns the classification for the point.
LAS_DLL LASError LASPoint_SetClassification (LASPointH hPoint, uint8_t value)
 Sets the classification for the point.
LAS_DLL double LASPoint_GetTime (const LASPointH hPoint)
 Returns the time for the point.
LAS_DLL LASError LASPoint_SetTime (LASPointH hPoint, double value)
 Sets the time for the point.
LAS_DLL int8_t LASPoint_GetScanAngleRank (const LASPointH hPoint)
 Returns the scan angle for the point.
LAS_DLL LASError LASPoint_SetScanAngleRank (LASPointH hPoint, int8_t value)
 Sets the scan angle for the point.
LAS_DLL LASError LASPoint_SetPointSourceId (LASPointH hPoint, uint16_t value)
 Sets the point source id for the point.
LAS_DLL uint16_t LASPoint_GetPointSourceId (LASPointH hPoint)
 Returns the point source id for the point.
LAS_DLL uint8_t LASPoint_GetUserData (const LASPointH hPoint)
 Returns the arbitrary user data for the point.
LAS_DLL LASError LASPoint_SetUserData (LASPointH hPoint, uint8_t value)
 Sets the arbitrary user data for the point.
LAS_DLL int LASPoint_Validate (LASPointH hPoint)
 Returns a bitfield representing the validity of various members enum DataMemberFlag { eReturnNumber = 1, eNumberOfReturns = 2, eScanDirection = 4, eFlightLineEdge = 8, eClassification = 16, eScanAngleRank = 32, eTime = 64 };.
LAS_DLL int LASPoint_IsValid (LASPointH hPoint)
 Returns a boolean whether or not the point is valid.
LAS_DLL LASPointH LASPoint_Create (void)
 Creates a new empty LASPointH instance.
LAS_DLL LASPointH LASPoint_Copy (const LASPointH)
 Creates a copy of a LASPointH instance.
LAS_DLL void LASPoint_Destroy (LASPointH hPoint)
 Destroys/deletes a LASPointH instance.
LAS_DLL LASHeaderH LASHeader_Copy (const LASHeaderH hHeader)
 Copies a LASHeaderH instance.
LAS_DLL LASHeaderH LASHeader_Create (void)
 Creates an empty LASHeaderH with default values.
LAS_DLL void LASHeader_Destroy (LASHeaderH hHeader)
 Destroys/deletes a LASHeader instance.
LAS_DLL char * LASHeader_GetFileSignature (const LASHeaderH hHeader)
 Returns the file signature the the file.
LAS_DLL uint16_t LASHeader_GetFileSourceId (const LASHeaderH hHeader)
 Returns the file source id for the file.
LAS_DLL LASError LASHeader_SetFileSourceId (LASHeaderH hHeader, uint16_t value)
 Sets the FileSource ID value for the header.
LAS_DLL char * LASHeader_GetProjectId (const LASHeaderH hHeader)
 Returns the project id for the header as a GUID string.
LAS_DLL LASError LASHeader_SetProjectId (LASHeaderH hHeader, const char *value)
 Sets the project id/GUID for the header.
LAS_DLL LASError LASHeader_SetGUID (LASHeaderH hHeader, LASGuidH hId)
 Sets the project id/GUID for the header.
LAS_DLL uint8_t LASHeader_GetVersionMajor (const LASHeaderH hHeader)
 Returns the major version number for the header.
LAS_DLL LASError LASHeader_SetVersionMajor (LASHeaderH hHeader, uint8_t value)
 Sets the major version number for the header.
LAS_DLL uint8_t LASHeader_GetVersionMinor (const LASHeaderH hHeader)
 Returns the min version number for the header.
LAS_DLL LASError LASHeader_SetVersionMinor (LASHeaderH hHeader, uint8_t value)
 Sets the minor version number for the header.
LAS_DLL char * LASHeader_GetSystemId (const LASHeaderH hHeader)
 Returns the System ID for the header.
LAS_DLL LASError LASHeader_SetSystemId (LASHeaderH hHeader, const char *value)
 Sets the System ID for the header.
LAS_DLL char * LASHeader_GetSoftwareId (const LASHeaderH hHeader)
 Returns the Software ID for the header.
LAS_DLL LASError LASHeader_SetSoftwareId (LASHeaderH hHeader, const char *value)
 Sets the Software ID for the header.
LAS_DLL uint16_t LASHeader_GetReserved (const LASHeaderH hHeader)
 Returns the reserved value for the header.
LAS_DLL LASError LASHeader_SetReserved (LASHeaderH hHeader, uint16_t value)
 Sets the Reserved value for the header.
LAS_DLL uint16_t LASHeader_GetCreationDOY (const LASHeaderH hHeader)
 Returns the file creation day of the year.
LAS_DLL LASError LASHeader_SetCreationDOY (LASHeaderH hHeader, uint16_t value)
 Sets the file creation day of the year.
LAS_DLL uint16_t LASHeader_GetCreationYear (const LASHeaderH hHeader)
 Returns the file creation year.
LAS_DLL LASError LASHeader_SetCreationYear (LASHeaderH hHeader, uint16_t value)
 Sets the file creation year.
LAS_DLL uint16_t LASHeader_GetHeaderSize (const LASHeaderH hHeader)
 Returns the size of the header for the file in bytes.
LAS_DLL uint32_t LASHeader_GetDataOffset (const LASHeaderH hHeader)
 Returns the byte offset to the start of actual point data for the file.
LAS_DLL LASError LASHeader_SetDataOffset (const LASHeaderH hHeader, uint32_t value)
 Sets the location in number of bytes to start writing point data.
LAS_DLL uint32_t LASHeader_GetRecordsCount (const LASHeaderH hHeader)
 Returns the number of variable length records in the header.
LAS_DLL uint16_t LASHeader_GetDataRecordLength (const LASHeaderH hHeader)
 Returns the record length for the points based on their data format id in bytes.
LAS_DLL LASError LASHeader_SetDataRecordLength (const LASHeaderH hHeader, uint16_t value)
 Explicitly set the record length for the file.
LAS_DLL uint8_t LASHeader_GetDataFormatId (const LASHeaderH hHeader)
 Returns the data format id.
LAS_DLL LASError LASHeader_SetDataFormatId (const LASHeaderH hHeader, uint8_t value)
 Sets the data format id for the file.
LAS_DLL uint32_t LASHeader_GetPointRecordsCount (const LASHeaderH hHeader)
 Returns the number of point records in the file.
LAS_DLL LASError LASHeader_SetPointRecordsCount (const LASHeaderH hHeader, uint32_t value)
 Sets the number of point records for the file.
LAS_DLL uint32_t LASHeader_GetPointRecordsByReturnCount (const LASHeaderH hHeader, int index)
 Returns the number of point records by return.
LAS_DLL LASError LASHeader_SetPointRecordsByReturnCount (const LASHeaderH hHeader, int index, uint32_t value)
 Sets the number of point records for a given return.
LAS_DLL double LASHeader_GetScaleX (const LASHeaderH hHeader)
 Return the X scale factor.
LAS_DLL double LASHeader_GetScaleY (const LASHeaderH hHeader)
 Return the Y scale factor.
LAS_DLL double LASHeader_GetScaleZ (const LASHeaderH hHeader)
 Return the Z scale factor.
LAS_DLL LASError LASHeader_SetScale (LASHeaderH hHeader, double x, double y, double z)
 Sets the scale factors.
LAS_DLL double LASHeader_GetOffsetX (const LASHeaderH hHeader)
 Return the X offset.
LAS_DLL double LASHeader_GetOffsetY (const LASHeaderH hHeader)
 Return the Y offset.
LAS_DLL double LASHeader_GetOffsetZ (const LASHeaderH hHeader)
 Return the Z offset.
LAS_DLL LASError LASHeader_SetOffset (LASHeaderH hHeader, double x, double y, double z)
 Sets the offset values.
LAS_DLL double LASHeader_GetMinX (const LASHeaderH hHeader)
 Return the minimum x value.
LAS_DLL double LASHeader_GetMinY (const LASHeaderH hHeader)
 Return the minimum y value.
LAS_DLL double LASHeader_GetMinZ (const LASHeaderH hHeader)
 Return the minimum z value.
LAS_DLL LASError LASHeader_SetMin (LASHeaderH hHeader, double x, double y, double z)
 Sets the minimum values.
LAS_DLL double LASHeader_GetMaxX (const LASHeaderH hHeader)
 Return the maximum x value.
LAS_DLL double LASHeader_GetMaxY (const LASHeaderH hHeader)
 Return the maximum y value.
LAS_DLL double LASHeader_GetMaxZ (const LASHeaderH hHeader)
 Return the maximum z value.
LAS_DLL LASError LASHeader_SetMax (LASHeaderH hHeader, double x, double y, double z)
 Sets the maximum values.
LAS_DLL LASVLRH LASHeader_GetVLR (const LASHeaderH hHeader, uint32_t i)
 Returns the VLR record for the given index.
LAS_DLL LASError LASHeader_DeleteVLR (LASHeaderH hHeader, uint32_t index)
 Deletes a VLR record from the header for the given index.
LAS_DLL LASError LASHeader_AddVLR (LASHeaderH hHeader, const LASVLRH hVLR)
 Adds a VLR record to the header.
LAS_DLL LASWriterH LASWriter_Create (const char *filename, const LASHeaderH hHeader, int mode)
 Creates a new LASWriterH for write operations on LAS files.
LAS_DLL LASError LASWriter_WritePoint (const LASWriterH hWriter, const LASPointH hPoint)
 Writes a point to the file.
LAS_DLL LASError LASWriter_WriteHeader (const LASWriterH hWriter, const LASHeaderH hHeader)
 Overwrites the header for the file represented by the LASWriterH.
LAS_DLL void LASWriter_Destroy (LASWriterH hWriter)
 Destroys the LASWriterH instance, effectively closing the file and performing housekeeping operations.
LAS_DLL LASError LASWriter_SetSRS (LASWriterH hWriter, const LASSRSH hSRS)
LAS_DLL LASError LASWriter_SetInputSRS (LASWriterH hWriter, const LASSRSH hSRS)
LAS_DLL LASError LASWriter_SetOutputSRS (LASWriterH hWriter, const LASSRSH hSRS)
LAS_DLL LASGuidH LASHeader_GetGUID (const LASHeaderH hHeader)
 Returns the GUID value for the header as an opaque LASGuidH pointer.
LAS_DLL LASGuidH LASGuid_Create ()
 Returns a new random GUID.
LAS_DLL LASGuidH LASGuid_CreateFromString (const char *string)
 Creates a new GUID opaque pointer using the given string.
LAS_DLL void LASGuid_Destroy (LASGuidH hId)
 Destroys a GUID opaque pointer and removes it from the heap.
LAS_DLL int LASGuid_Equals (LASGuidH hId1, LASGuidH hId2)
 Determines if two GUIDs are equal.
LAS_DLL char * LASGuid_AsString (LASGuidH hId)
 Returns a string representation of the GUID opqaue pointer.
LAS_DLL LASVLRH LASVLR_Create (void)
 Creates a new VLR record.
LAS_DLL void LASVLR_Destroy (LASVLRH hVLR)
 Destroys a VLR record and removes it from the heap.
LAS_DLL char * LASVLR_GetUserId (const LASVLRH hVLR)
 Returns the User Id for the VLR.
LAS_DLL LASError LASVLR_SetUserId (LASVLRH hVLR, const char *value)
 Sets the User Id for the VLR.
LAS_DLL char * LASVLR_GetDescription (const LASVLRH hVLR)
 Gets the description for the VLR.
LAS_DLL LASError LASVLR_SetDescription (LASVLRH hVLR, const char *value)
 Sets the description for the VLR.
LAS_DLL uint16_t LASVLR_GetRecordLength (const LASVLRH hVLR)
 Returns the record length of the data stored in the VLR.
LAS_DLL LASError LASVLR_SetRecordLength (LASVLRH hVLR, uint16_t value)
 Sets the record length of the data stored in the VLR.
LAS_DLL uint16_t LASVLR_GetRecordId (const LASVLRH hVLR)
 Gets the record id for the VLR.
LAS_DLL LASError LASVLR_SetRecordId (LASVLRH hVLR, uint16_t value)
 Sets the record id for the VLR.
LAS_DLL uint16_t LASVLR_GetReserved (const LASVLRH hVLR)
 Gets the reserved value of the VLR.
LAS_DLL LASError LASVLR_SetReserved (LASVLRH hVLR, uint16_t value)
 Sets the reserved value of the VLR.
LAS_DLL LASError LASVLR_GetData (const LASVLRH hVLR, uint8_t *data)
 Gets the data stream for the VLR as an array of bytes.
LAS_DLL LASError LASVLR_SetData (const LASVLRH hVLR, uint8_t *data, uint16_t length)
 Sets the data stream for the VLR as an array of bytes.
LAS_DLL LASColorH LASColor_Create (void)
 Creates a new Color.
LAS_DLL void LASColor_Destroy (LASColorH hColor)
 Destroys a Color and removes it from the heap.
LAS_DLL uint16_t LASColor_GetRed (const LASColorH hColor)
 Returns the red value for the color.
LAS_DLL LASError LASColor_SetRed (LASColorH hColor, uint16_t value)
 Sets the red value for the color.
LAS_DLL uint16_t LASColor_GetGreen (const LASColorH hColor)
 Returns the green value for the color.
LAS_DLL LASError LASColor_SetGreen (LASColorH hColor, uint16_t value)
 Sets the green value for the color.
LAS_DLL uint16_t LASColor_GetBlue (const LASColorH hColor)
 Returns the blue value for the color.
LAS_DLL LASError LASColor_SetBlue (LASColorH hColor, uint16_t value)
 Sets the blue value for the color.
LAS_DLL LASColorH LASPoint_GetColor (const LASPointH hPoint)
 Returns the color for the LASPointH.
LAS_DLL LASError LASPoint_SetColor (LASPointH hPoint, const LASColorH hColor)
 Sets the color for the point.
LAS_DLL LASError LASPoint_GetExtraData (const LASPointH hPoint, uint8_t **data, uint16_t *length)
 Gets the extra data stream for the LASPointH as an array of bytes.
LAS_DLL LASError LASPoint_SetExtraData (const LASPointH hPoint, uint8_t *data, uint16_t length)
 Sets the extra data stream for the LASPointH as an array of bytes.
LAS_DLL LASSRSH LASSRS_Create (void)
 Creates a new SRS.
LAS_DLL const GTIFLASSRS_GetGTIF (LASSRSH hSRS)
LAS_DLL char * LASSRS_GetWKT (LASSRSH hSRS)
LAS_DLL char * LASSRS_GetWKT_CompoundOK (LASSRSH hSRS)
LAS_DLL LASError LASSRS_SetWKT (LASSRSH hSRS, const char *value)
LAS_DLL LASError LASSRS_SetFromUserInput (LASSRSH hSRS, const char *value)
LAS_DLL char * LASSRS_GetProj4 (LASSRSH hSRS)
LAS_DLL LASError LASSRS_SetProj4 (LASSRSH hSRS, const char *value)
LAS_DLL LASError LASSRS_SetVerticalCS (LASSRSH hSRS, int verticalCSType, const char *citation, int verticalDatum, int verticalUnits)
LAS_DLL LASSRSH LASHeader_GetSRS (const LASHeaderH hHeader)
LAS_DLL LASError LASHeader_SetSRS (LASHeaderH hHeader, const LASSRSH hSRS)
LAS_DLL void LASSRS_Destroy (LASSRSH hSRS)
LAS_DLL LASVLRH LASSRS_GetVLR (const LASSRSH hSRS, uint32_t i)
LAS_DLL uint32_t LASSRS_GetVLRCount (const LASSRSH hSRS)
LAS_DLL void LASString_Free (char *string)
 Method to ensure that you are freeing char*'s from the correct heap.
LAS_DLL LASPointFormatH LASPointFormat_Create (uint8_t version_major, uint8_t version_minor, uint32_t size, uint8_t bHasColor, uint8_t bHasTime)
LAS_DLL uint8_t LASPointFormat_GetVersionMinor (LASPointFormatH hFormat)
LAS_DLL uint8_t LASPointFormat_GetMajorVersion (LASPointFormatH hFormat)
LAS_DLL uint8_t LASPointFormat_HasColor (LASPointFormatH hFormat)
LAS_DLL uint8_t LASPointFormat_SetColor (LASPointFormatH hFormat, uint8_t bColor)
LAS_DLL uint8_t LASPointFormat_HasTime (LASPointFormatH hFormat)
LAS_DLL uint8_t LASPointFormat_SetTime (LASPointFormatH hFormat, uint8_t bTime)
LAS_DLL uint32_t LASPointFormat_GetByteSize (LASPointFormatH hFormat)
LAS_DLL void LASPointFormat_SetByteSize (LASPointFormatH hFormat, uint32_t size)
LAS_DLL void LASPointFormat_Destroy (LASPointFormatH hFormat)

Define Documentation

#define LAS_MODE_APPEND   2
#define LAS_MODE_READ   0
#define LAS_MODE_WRITE   1
#define LIBLAS_C_API   1

Typedef Documentation

typedef struct GTIFS* GTIF
typedef struct LASColorHS* LASColorH
typedef struct LASGuidHS* LASGuidH
typedef struct LASHeaderHS* LASHeaderH
typedef struct LASPointFormatHS* LASPointFormatH
typedef struct LASPointHS* LASPointH
typedef struct LASReaderHS* LASReaderH
typedef struct LASSRSHS* LASSRSH
typedef struct LASVLRHS* LASVLRH
typedef struct LASWriterHS* LASWriterH
typedef struct TIFFS* TIFF

Enumeration Type Documentation

enum LASError
Todo:
to be documented
Enumerator:
LE_None 
LE_Debug 
LE_Warning 
LE_Failure 
LE_Fatal 

Function Documentation

LAS_DLL char* LAS_GetVersion ( void   ) 

Returns the version string for this library.

Returns:
the version string for this library.
LAS_DLL int LAS_IsGDALEnabled ( void   ) 
LAS_DLL int LAS_IsLibGeoTIFFEnabled ( void   ) 
LAS_DLL int LAS_IsLibSpatialIndexEnabled ( void   ) 
LAS_DLL LASColorH LASColor_Create ( void   ) 

Creates a new Color.

Returns:
a new Color
LAS_DLL void LASColor_Destroy ( LASColorH  hColor  ) 

Destroys a Color and removes it from the heap.

LAS_DLL uint16_t LASColor_GetBlue ( const LASColorH  hColor  ) 

Returns the blue value for the color.

Returns:
the blue value for the color.
LAS_DLL uint16_t LASColor_GetGreen ( const LASColorH  hColor  ) 

Returns the green value for the color.

Returns:
the green value for the color.
LAS_DLL uint16_t LASColor_GetRed ( const LASColorH  hColor  ) 

Returns the red value for the color.

Returns:
the red value for the color.
LAS_DLL LASError LASColor_SetBlue ( LASColorH  hColor,
uint16_t  value 
)

Sets the blue value for the color.

Parameters:
hColor the opaque pointer to the LASColorH instance
value the value to set the blue value to
Returns:
an error number if an error occured.
LAS_DLL LASError LASColor_SetGreen ( LASColorH  hColor,
uint16_t  value 
)

Sets the green value for the color.

Parameters:
hColor the opaque pointer to the LASColorH instance
value the value to set the green value to
Returns:
an error number if an error occured.
LAS_DLL LASError LASColor_SetRed ( LASColorH  hColor,
uint16_t  value 
)

Sets the red value for the color.

Parameters:
hColor the opaque pointer to the LASColorH instance
value the value to set the red value to
Returns:
an error number if an error occured.
LAS_DLL int LASError_GetErrorCount ( void   ) 

Returns the number of error messages on the error stack.

Returns:
the number of error messages on the error stack.
LAS_DLL char* LASError_GetLastErrorMethod ( void   ) 

Returns the name of the method the last error message happened in.

Returns:
the name of the method the last error message happened in.
LAS_DLL char* LASError_GetLastErrorMsg ( void   ) 

Returns the name of the method the last error message happened in.

Returns:
the name of the method the last error message happened in.
LAS_DLL LASError LASError_GetLastErrorNum ( void   ) 

Returns the error number of the last error on the error stack.

Returns:
the error number of the last error on the error stack.
LAS_DLL void LASError_Pop ( void   ) 

Pops the top error off of the error stack for the libLAS C API.

LAS_DLL void LASError_Print ( const char *  message  ) 

Prints the last error message in the error stack to stderr.

If there is no error on the error stack, only the message is printed. The function does not alter the error stack in any way.

Parameters:
message Message to include in the stderr output
LAS_DLL void LASError_Reset ( void   ) 

Resets the error stack for the libLAS C API.

LAS_DLL char* LASGuid_AsString ( LASGuidH  hId  ) 

Returns a string representation of the GUID opqaue pointer.

The caller owns the string.

Parameters:
hId the LASGuidH pointer
Returns:
a string representation of the GUID opaque pointer.
LAS_DLL LASGuidH LASGuid_Create (  ) 

Returns a new random GUID.

Returns:
a new random GUID
LAS_DLL LASGuidH LASGuid_CreateFromString ( const char *  string  ) 

Creates a new GUID opaque pointer using the given string.

Parameters:
string A GUID string in the form "00000000-0000-0000-0000-000000000000" An example GUID might be something like '8388F1B8-AA1B-4108-BCA3-6BC68E7B062E'
Returns:
the GUID value as an opaque LASGuidH pointer.
LAS_DLL void LASGuid_Destroy ( LASGuidH  hId  ) 

Destroys a GUID opaque pointer and removes it from the heap.

Parameters:
hId the GUID value to destroy as an opaque LASGuidH pointer.
LAS_DLL int LASGuid_Equals ( LASGuidH  hId1,
LASGuidH  hId2 
)

Determines if two GUIDs are equal.

Parameters:
hId1 the first GUID
hId2 the second GUID
Returns:
0 if false, 1 if true. Use the LASError_GetLastError* methods to determine if an error occured during the operation of this function.
LAS_DLL LASError LASHeader_AddVLR ( LASHeaderH  hHeader,
const LASVLRH  hVLR 
)

Adds a VLR record to the header.

Parameters:
hHeader the LASHeaderH instance
hVLR the VLR to add to the header
Returns:
LASErrorEnum
LAS_DLL LASHeaderH LASHeader_Copy ( const LASHeaderH  hHeader  ) 

Copies a LASHeaderH instance.

Parameters:
hHeader the LASHeaderH to copy
Returns:
a LASHeaderH instance or NULL on error
LAS_DLL LASHeaderH LASHeader_Create ( void   ) 

Creates an empty LASHeaderH with default values.

LAS_DLL LASError LASHeader_DeleteVLR ( LASHeaderH  hHeader,
uint32_t  index 
)

Deletes a VLR record from the header for the given index.

Parameters:
hHeader the LASHeaderH instance
index the index starting from 0 of the VLR to delete
Returns:
LASErrorEnum
LAS_DLL void LASHeader_Destroy ( LASHeaderH  hHeader  ) 

Destroys/deletes a LASHeader instance.

LAS_DLL uint16_t LASHeader_GetCreationDOY ( const LASHeaderH  hHeader  ) 

Returns the file creation day of the year.

The values start from 1, being January 1st, and end at 365 or 366 being December 31st, depending on leap year.

Returns:
the day of the year as an integer starting from 1 for the file creation.
LAS_DLL uint16_t LASHeader_GetCreationYear ( const LASHeaderH  hHeader  ) 

Returns the file creation year.

This is a four digit number representing the year for the file, ie 2003, 2008, etc.

Returns:
the creation year for the file or 0 if none is set
LAS_DLL uint8_t LASHeader_GetDataFormatId ( const LASHeaderH  hHeader  ) 

Returns the data format id.

If this value is 1, the point data have time values associated with them. If it is 0, the point data do not have time values.

Parameters:
hHeader LASHeaderH instance
Returns:
the data format id for the file.
LAS_DLL uint32_t LASHeader_GetDataOffset ( const LASHeaderH  hHeader  ) 

Returns the byte offset to the start of actual point data for the file.

Parameters:
hHeader LASHeaderH instance
Returns:
the type offset to the start of actual point data for the file
LAS_DLL uint16_t LASHeader_GetDataRecordLength ( const LASHeaderH  hHeader  ) 

Returns the record length for the points based on their data format id in bytes.

Parameters:
hHeader LASHeaderH instance
Returns:
the record length for the points based on their data format id in bytes
LAS_DLL char* LASHeader_GetFileSignature ( const LASHeaderH  hHeader  ) 

Returns the file signature the the file.

This should always be 'LASF'

Parameters:
hHeader LASHeaderH instance
Returns:
the file signature the the file. This should always be 'LASF'
LAS_DLL uint16_t LASHeader_GetFileSourceId ( const LASHeaderH  hHeader  ) 

Returns the file source id for the file.

It is a number from 1-65535

Parameters:
hHeader LASHeaderH instance
Returns:
the file source id for the file.
LAS_DLL LASGuidH LASHeader_GetGUID ( const LASHeaderH  hHeader  ) 

Returns the GUID value for the header as an opaque LASGuidH pointer.

Parameters:
hHeader the opaque pointer to the LASHeaderH
Returns:
the GUID value for the header as an opaque LASGuidH pointer.
LAS_DLL uint16_t LASHeader_GetHeaderSize ( const LASHeaderH  hHeader  ) 

Returns the size of the header for the file in bytes.

Returns:
the size of the header for the file in bytes.
LAS_DLL double LASHeader_GetMaxX ( const LASHeaderH  hHeader  ) 

Return the maximum x value.

Parameters:
hHeader LASHeaderH instance
Returns:
the maximum x value
LAS_DLL double LASHeader_GetMaxY ( const LASHeaderH  hHeader  ) 

Return the maximum y value.

Parameters:
hHeader LASHeaderH instance
Returns:
the maximum y value
LAS_DLL double LASHeader_GetMaxZ ( const LASHeaderH  hHeader  ) 

Return the maximum z value.

Parameters:
hHeader LASHeaderH instance
Returns:
the maximum z value
LAS_DLL double LASHeader_GetMinX ( const LASHeaderH  hHeader  ) 

Return the minimum x value.

Parameters:
hHeader LASHeaderH instance
Returns:
the minimum x value
LAS_DLL double LASHeader_GetMinY ( const LASHeaderH  hHeader  ) 

Return the minimum y value.

Parameters:
hHeader LASHeaderH instance
Returns:
the minimum y value
LAS_DLL double LASHeader_GetMinZ ( const LASHeaderH  hHeader  ) 

Return the minimum z value.

Parameters:
hHeader LASHeaderH instance
Returns:
the minimum z value
LAS_DLL double LASHeader_GetOffsetX ( const LASHeaderH  hHeader  ) 

Return the X offset.

Parameters:
hHeader LASHeaderH instance
Returns:
the X offset
LAS_DLL double LASHeader_GetOffsetY ( const LASHeaderH  hHeader  ) 

Return the Y offset.

Parameters:
hHeader LASHeaderH instance
Returns:
the Y offset
LAS_DLL double LASHeader_GetOffsetZ ( const LASHeaderH  hHeader  ) 

Return the Z offset.

Parameters:
hHeader LASHeaderH instance
Returns:
the Z offset
LAS_DLL uint32_t LASHeader_GetPointRecordsByReturnCount ( const LASHeaderH  hHeader,
int  index 
)

Returns the number of point records by return.

Parameters:
hHeader LASHeaderH instance
index the return number to fetch the count for
Returns:
the number of point records for a given return
LAS_DLL uint32_t LASHeader_GetPointRecordsCount ( const LASHeaderH  hHeader  ) 

Returns the number of point records in the file.

This value may not reflect the actual number of point records in the file.

Parameters:
hHeader LASHeaderH instance
Returns:
the number of point records in the file
LAS_DLL char* LASHeader_GetProjectId ( const LASHeaderH  hHeader  ) 

Returns the project id for the header as a GUID string.

Returns:
the project id for the header as a GUID string
LAS_DLL uint32_t LASHeader_GetRecordsCount ( const LASHeaderH  hHeader  ) 

Returns the number of variable length records in the header.

Parameters:
hHeader LASHeaderH instance
Returns:
the number of variable length records in the header
LAS_DLL uint16_t LASHeader_GetReserved ( const LASHeaderH  hHeader  ) 

Returns the reserved value for the header.

This should aways be 0.

Returns:
the reserved value for the header.
LAS_DLL double LASHeader_GetScaleX ( const LASHeaderH  hHeader  ) 

Return the X scale factor.

Parameters:
hHeader LASHeaderH instance
Returns:
the X scale factor
LAS_DLL double LASHeader_GetScaleY ( const LASHeaderH  hHeader  ) 

Return the Y scale factor.

Parameters:
hHeader LASHeaderH instance
Returns:
the Y scale factor
LAS_DLL double LASHeader_GetScaleZ ( const LASHeaderH  hHeader  ) 

Return the Z scale factor.

Parameters:
hHeader LASHeaderH instance
Returns:
the Z scale factor
LAS_DLL char* LASHeader_GetSoftwareId ( const LASHeaderH  hHeader  ) 

Returns the Software ID for the header.

The caller assumes ownership of the returned string

Returns:
the software id for the header as a character array
LAS_DLL LASSRSH LASHeader_GetSRS ( const LASHeaderH  hHeader  ) 
LAS_DLL char* LASHeader_GetSystemId ( const LASHeaderH  hHeader  ) 

Returns the System ID for the header.

The caller assumes ownership of the returned string

Returns:
the system id for the header as a character array
LAS_DLL uint8_t LASHeader_GetVersionMajor ( const LASHeaderH  hHeader  ) 

Returns the major version number for the header.

This value is expected to always be 1.

Parameters:
hHeader LASHeaderH instance
Returns:
major version number for the header.
LAS_DLL uint8_t LASHeader_GetVersionMinor ( const LASHeaderH  hHeader  ) 

Returns the min version number for the header.

This value is expected to be 1 or 0 representing LAS 1.1 or LAS 1.0

Parameters:
hHeader LASHeaderH instance
Returns:
minor version number for the header.
LAS_DLL LASVLRH LASHeader_GetVLR ( const LASHeaderH  hHeader,
uint32_t  i 
)

Returns the VLR record for the given index.

Use LASHeader_GetRecordsCount to determine the number of VLR records available on the header.

Parameters:
hHeader the LASHeaderH instance
i the index starting from 0 of the VLR to fetch
Returns:
LASVLRH instance that models the Variable Length Record
LAS_DLL LASError LASHeader_SetCreationDOY ( LASHeaderH  hHeader,
uint16_t  value 
)

Sets the file creation day of the year.

The values start from 1, being January 1st. No date validation is done

Parameters:
hHeader LASHeaderH instance
value the value to set as the creation day
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetCreationYear ( LASHeaderH  hHeader,
uint16_t  value 
)

Sets the file creation year.

This should be a four digit number representing the year for the file, ie 2003, 2008, etc. No validation on the value is done

Parameters:
hHeader LASHeaderH instance
value the value to set for the creation year
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetDataFormatId ( const LASHeaderH  hHeader,
uint8_t  value 
)

Sets the data format id for the file.

The value should be 1 or 0, with 1 being points that contain time values and 0 being points that do not.

Parameters:
hHeader LASHeaderH instance
value the value for the data format id, 1 or 0 are valid values.
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetDataOffset ( const LASHeaderH  hHeader,
uint32_t  value 
)

Sets the location in number of bytes to start writing point data.

Any space between the end of the LASVLRHs and this value will be written with 0's.

Parameters:
hHeader LASHeaderH instance
value the long integer to set for byte location determining the end of the header
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetDataRecordLength ( const LASHeaderH  hHeader,
uint16_t  value 
)

Explicitly set the record length for the file.

If you set the DataFormatId, default values will be set for you.

Parameters:
hHeader LASHeaderH instance
value the value for the data record length (in bytes).
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetFileSourceId ( LASHeaderH  hHeader,
uint16_t  value 
)

Sets the FileSource ID value for the header.

By default, this value is "0" if it is not explicitly set. See the LAS specification for details on what this value should logically be set to.

Parameters:
hHeader LASHeaderH instance
value the value to set as the FileSource ID value for the header
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetGUID ( LASHeaderH  hHeader,
LASGuidH  hId 
)

Sets the project id/GUID for the header.

Parameters:
hHeader LASHeaderH instance
hId LASGuidH instance to set the GUID for the header to
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetMax ( LASHeaderH  hHeader,
double  x,
double  y,
double  z 
)

Sets the maximum values.

Parameters:
hHeader LASHeaderH instance
x the x maximum
y the y maximum
z the z maximum
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetMin ( LASHeaderH  hHeader,
double  x,
double  y,
double  z 
)

Sets the minimum values.

Parameters:
hHeader LASHeaderH instance
x the x minimum
y the y minimum
z the z minimum
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetOffset ( LASHeaderH  hHeader,
double  x,
double  y,
double  z 
)

Sets the offset values.

Parameters:
hHeader LASHeaderH instance
x the x offset
y the y offset
z the z offset
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetPointRecordsByReturnCount ( const LASHeaderH  hHeader,
int  index,
uint32_t  value 
)

Sets the number of point records for a given return.

Parameters:
hHeader LASHeaderH instance
index the return number to set the count for
value the number of point records for the return
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetPointRecordsCount ( const LASHeaderH  hHeader,
uint32_t  value 
)

Sets the number of point records for the file.

Parameters:
hHeader LASHeaderH instance
value the long integer to set for the number of point records in the file
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetProjectId ( LASHeaderH  hHeader,
const char *  value 
)

Sets the project id/GUID for the header.

Parameters:
hHeader LASHeaderH instance
value character value GUID to set the header value to
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetReserved ( LASHeaderH  hHeader,
uint16_t  value 
)

Sets the Reserved value for the header.

By default, this value is "0" if it is not explicitly set. See the LAS specification for details on what this value should logically be set to.

Parameters:
hHeader LASHeaderH instance
value the value to set as the reserved value for the header
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetScale ( LASHeaderH  hHeader,
double  x,
double  y,
double  z 
)

Sets the scale factors.

Parameters:
hHeader LASHeaderH instance
x the x scale factor
y the y scale factor
z the z scale factor
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetSoftwareId ( LASHeaderH  hHeader,
const char *  value 
)

Sets the Software ID for the header.

By default, this value is "libLAS 1.0" if it is not explicitly set. See the LAS specification for details on what this value should logically be set to.

Parameters:
hHeader LASHeaderH instance
value the value to set as the Software ID for the header
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetSRS ( LASHeaderH  hHeader,
const LASSRSH  hSRS 
)
LAS_DLL LASError LASHeader_SetSystemId ( LASHeaderH  hHeader,
const char *  value 
)

Sets the System ID for the header.

By default, this value is "libLAS" if it is not explicitly set. See the LAS specification for details on what this value should logically be set to.

Parameters:
hHeader LASHeaderH instance
value the value to set as the System ID for the header
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetVersionMajor ( LASHeaderH  hHeader,
uint8_t  value 
)

Sets the major version number for the header.

All values other than 1 are invalid.

Parameters:
hHeader LASHeaderH instance
value integer value to set the major version to (only the value 1 is valid)
Returns:
LASError enum
LAS_DLL LASError LASHeader_SetVersionMinor ( LASHeaderH  hHeader,
uint8_t  value 
)

Sets the minor version number for the header.

All values other than 1 or 0 are invalid.

Parameters:
hHeader LASHeaderH instance
value integer value to set the minor version to (only the values 1 or 0 are valid)
Returns:
LASError enum
Todo:
TODO: Maybe this should return fatal error if version out of range -- hobu
LAS_DLL LASPointH LASPoint_Copy ( const   LASPointH  ) 

Creates a copy of a LASPointH instance.

Parameters:
hPoint the LASPointH instance to copy
Returns:
new LASPointH instance. If the value is NULL use the LASError_GetLastError* methods to determine the problem
LAS_DLL LASPointH LASPoint_Create ( void   ) 

Creates a new empty LASPointH instance.

Returns:
LASPointH instance. If the value is NULL use the LASError_GetLastError* methods to determine the problem
LAS_DLL void LASPoint_Destroy ( LASPointH  hPoint  ) 

Destroys/deletes a LASPointH instance.

LAS_DLL uint8_t LASPoint_GetClassification ( const LASPointH  hPoint  ) 

Returns the classification for the point.

Parameters:
hPoint LASPointH instance
Returns:
the classification for the point
LAS_DLL LASColorH LASPoint_GetColor ( const LASPointH  hPoint  ) 

Returns the color for the LASPointH.

Returns:
the color for the LASPointH.
LAS_DLL LASError LASPoint_GetExtraData ( const LASPointH  hPoint,
uint8_t **  data,
uint16_t *  length 
)

Gets the extra data stream for the LASPointH as an array of bytes.

The length of this array should be the difference between the LASPointFormat_GetByteSize() and the a LASHeader_GetDataRecordLength(). Points with data larger than this (fixed) size will be clipped upong being written into the file. You must allocate it on the heap and you are responsible for its destruction.

Parameters:
hPoint the LASPointH instance
data a pointer to your array where you want the data copied
Returns:
LASErrorEnum
LAS_DLL uint16_t LASPoint_GetFlightLineEdge ( const LASPointH  hPoint  ) 

Returns whether or not a given pulse is an edge point.

Parameters:
hPoint LASPointH instance
Returns:
whether or not a given pulse is an edge point.
LAS_DLL uint16_t LASPoint_GetIntensity ( const LASPointH  hPoint  ) 

Returns the intensity value for the point.

This value is the pulse return magnitude, it is optional, and it is LiDAR system specific.

Returns:
the intensity value for the point.
LAS_DLL uint16_t LASPoint_GetNumberOfReturns ( const LASPointH  hPoint  ) 

Returns the total number of returns for a given pulse.

Parameters:
hPoint LASPointH instance
Returns:
total number of returns for this pulse.
LAS_DLL uint16_t LASPoint_GetPointSourceId ( LASPointH  hPoint  ) 

Returns the point source id for the point.

Parameters:
hPoint LASPointH instance
Returns:
the scan angle for the point
LAS_DLL uint16_t LASPoint_GetReturnNumber ( const LASPointH  hPoint  ) 

Returns the return number for the point.

The return number is "the pulse return number for a given output pulse." The first return number starts with the value 1.

Parameters:
hPoint LASPointH instance
Returns:
a return number, valid from 1-6, for the point. Use the LASError methods to determine if an error occurred during this operation if 0 is returned.
LAS_DLL int8_t LASPoint_GetScanAngleRank ( const LASPointH  hPoint  ) 

Returns the scan angle for the point.

Parameters:
hPoint LASPointH instance
Returns:
the scan angle for the point
LAS_DLL uint16_t LASPoint_GetScanDirection ( const LASPointH  hPoint  ) 

Returns the scan direction for a given pulse.

Parameters:
hPoint LASPointH instance
Returns:
the scan direction for a given pulse.
LAS_DLL uint8_t LASPoint_GetScanFlags ( const LASPointH  hPoint  ) 

Returns all of the scan flags for the point -- Return number, number of returns, flightline edge, scan direction, and scan angle rank.

Parameters:
hPoint LASPointH instance
Returns:
all of the scan flags for the point
LAS_DLL double LASPoint_GetTime ( const LASPointH  hPoint  ) 

Returns the time for the point.

Parameters:
hPoint LASPointH instance
Returns:
the time for the point
LAS_DLL uint8_t LASPoint_GetUserData ( const LASPointH  hPoint  ) 

Returns the arbitrary user data for the point.

Parameters:
hPoint LASPointH instance
Returns:
the arbitrary user data for the point
LAS_DLL double LASPoint_GetX ( const LASPointH  hPoint  ) 

Returns the X value for the point.

This value is not scaled or offset by any header values and stands on its own. If you need points to have a scale and/or offset applied, this must be done in conjunction with the header values after the value is read.

Parameters:
hPoint the opaque pointer to the LASPointH instance
Returns:
the X value for the LASPointH
LAS_DLL double LASPoint_GetY ( const LASPointH  hPoint  ) 

Returns the Y value for the point.

This value is not scaled or offset by any header values and stands on its own. If you need points to have a scale and/or offset applied, this must be done in conjunction with the header values after the value is read.

Parameters:
hPoint the opaque pointer to the LASPointH instance
Returns:
the Y value for the LASPointH
LAS_DLL double LASPoint_GetZ ( const LASPointH  hPoint  ) 

Returns the Z value for the point.

This value is not scaled or offset by any header values and stands on its own. If you need points to have a scale and/or offset applied, this must be done in conjunction with the header values after the value is read.

Parameters:
hPoint the opaque pointer to the LASPointH instance
Returns:
the Z value for the LASPointH
LAS_DLL int LASPoint_IsValid ( LASPointH  hPoint  ) 

Returns a boolean whether or not the point is valid.

Parameters:
hPoint LASPointH instance
Returns:
a boolean (1 or 0) whether or not the point is valid.
LAS_DLL LASError LASPoint_SetClassification ( LASPointH  hPoint,
uint8_t  value 
)

Sets the classification for the point.

No validation is done.

Parameters:
hPoint LASPointH instance
value the value to set for the classification
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetColor ( LASPointH  hPoint,
const LASColorH  hColor 
)

Sets the color for the point.

Parameters:
hPoint the opaque pointer to the LASPointH instance
hColor the opaque pointer to the LASColorH instance
Returns:
an error number if an error occured.
LAS_DLL LASError LASPoint_SetExtraData ( const LASPointH  hPoint,
uint8_t *  data,
uint16_t  length 
)

Sets the extra data stream for the LASPointH as an array of bytes.

The length of this array should be the difference between the LASPointFormat_GetByteSize() and the a LASHeader_GetDataRecordLength(). Points with data larger than this (fixed) size will be clipped upong being written into the file. the VLR structure.

Parameters:
hPoint the LASPointH instance
data a pointer to your array.
length a pointer to an integer defining the size of the data array
Returns:
LASErrorEnum
LAS_DLL LASError LASPoint_SetFlightLineEdge ( LASPointH  hPoint,
uint16_t  value 
)

Sets the edge marker for a given pulse.

Valid values are 0 or 1, with 1 being an edge point and 0 being interior.

Parameters:
hPoint LASPointH instance
value the value to set for flightline edge
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetIntensity ( LASPointH  hPoint,
uint16_t  value 
)

Sets the intensity value for the point.

Parameters:
hPoint the opaque pointer to the LASPointH instance
value the value to set the intensity to
Returns:
an error number if an error occured.
LAS_DLL LASError LASPoint_SetNumberOfReturns ( LASPointH  hPoint,
uint16_t  value 
)

Sets the number of returns for the point.

Valid values are from 1-5.

Parameters:
hPoint LASPointH instance
value the value to set for the number of returns
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetPointSourceId ( LASPointH  hPoint,
uint16_t  value 
)

Sets the point source id for the point.

No validation is done.

Parameters:
hPoint LASPointH instance
value the value to set for the point source id
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetReturnNumber ( LASPointH  hPoint,
uint16_t  value 
)

Sets the return number for the point.

Valid values are from 1-6.

Parameters:
hPoint LASPointH instance
value the value to set for the return number
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetScanAngleRank ( LASPointH  hPoint,
int8_t  value 
)

Sets the scan angle for the point.

No validation is done.

Parameters:
hPoint LASPointH instance
value the value to set for the scan angle
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetScanDirection ( LASPointH  hPoint,
uint16_t  value 
)

Sets the scan direction for a given pulse.

Valid values are 0 or 1, with 1 being a positive scan direction and 0 being a negative scan direction.

Parameters:
hPoint LASPointH instance
value the value to set for scan direction
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetScanFlags ( LASPointH  hPoint,
uint8_t  value 
)

Sets all of the scan flags for the point.

No validation is done.

Parameters:
hPoint LASPointH instance
value the value to set for the flags
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetTime ( LASPointH  hPoint,
double  value 
)

Sets the time for the point.

No validation is done.

Parameters:
hPoint LASPointH instance
value the value to set for the time
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetUserData ( LASPointH  hPoint,
uint8_t  value 
)

Sets the arbitrary user data for the point.

No validation is done.

Parameters:
hPoint LASPointH instance
value the value to set for the arbitrary user data
Returns:
LASError value determine success or failure.
LAS_DLL LASError LASPoint_SetX ( LASPointH  hPoint,
double  value 
)

Sets the X value for the point.

This value must be scaled or offset by any header values before being set.

Parameters:
hPoint the opaque pointer to the LASPointH instance
value the double value to set for the X value of the point
Returns:
an error number if an error occured during the setting of the point.
LAS_DLL LASError LASPoint_SetY ( LASPointH  hPoint,
double  value 
)

Sets the Y value for the point.

This value must be scaled or offset by any header values before being set.

Parameters:
hPoint the opaque pointer to the LASPointH instance
value the double value to set for the Y value of the point
Returns:
an error number if an error occured during the setting of the point.
LAS_DLL LASError LASPoint_SetZ ( LASPointH  hPoint,
double  value 
)

Sets the Z value for the point.

This value must be scaled or offset by any header values before being set.

Parameters:
hPoint the opaque pointer to the LASPointH instance
value the double value to set for the Z value of the point
Returns:
an error number if an error occured during the setting of the point.
LAS_DLL int LASPoint_Validate ( LASPointH  hPoint  ) 

Returns a bitfield representing the validity of various members enum DataMemberFlag { eReturnNumber = 1, eNumberOfReturns = 2, eScanDirection = 4, eFlightLineEdge = 8, eClassification = 16, eScanAngleRank = 32, eTime = 64 };.

Parameters:
hPoint LASPointH instance
Returns:
bitfield representing the validity of various members.
LAS_DLL LASPointFormatH LASPointFormat_Create ( uint8_t  version_major,
uint8_t  version_minor,
uint32_t  size,
uint8_t  bHasColor,
uint8_t  bHasTime 
)
LAS_DLL void LASPointFormat_Destroy ( LASPointFormatH  hFormat  ) 
LAS_DLL uint32_t LASPointFormat_GetByteSize ( LASPointFormatH  hFormat  ) 
LAS_DLL uint8_t LASPointFormat_GetMajorVersion ( LASPointFormatH  hFormat  ) 
LAS_DLL uint8_t LASPointFormat_GetVersionMinor ( LASPointFormatH  hFormat  ) 
LAS_DLL uint8_t LASPointFormat_HasColor ( LASPointFormatH  hFormat  ) 
LAS_DLL uint8_t LASPointFormat_HasTime ( LASPointFormatH  hFormat  ) 
LAS_DLL void LASPointFormat_SetByteSize ( LASPointFormatH  hFormat,
uint32_t  size 
)
LAS_DLL uint8_t LASPointFormat_SetColor ( LASPointFormatH  hFormat,
uint8_t  bColor 
)
LAS_DLL uint8_t LASPointFormat_SetTime ( LASPointFormatH  hFormat,
uint8_t  bTime 
)
LAS_DLL LASReaderH LASReader_Create ( const char *  filename  ) 

Creates a LASReaderH object that can be used to read LASHeaderH and LASPointH objects with.

The LASReaderH must not be created with a filename that is opened for read or write by any other API functions.

Returns:
opaque pointer to a LASReaderH instance.
Parameters:
filename Filename to open for read
LAS_DLL LASReaderH LASReader_CreateWithHeader ( const char *  filename,
LASHeaderH  hHeader 
)

Creates a LASReaderH object that can be used to read LASHeaderH and LASPointH objects with.

The LASReaderH must not be created with a filename that is opened for read or write by any other API functions.

Returns:
opaque pointer to a LASReaderH instance.
Parameters:
filename Filename to open for read
LAS_DLL void LASReader_Destroy ( LASReaderH  hReader  ) 

Closes the file for reading operations represented by the LASReaderH instance.

Parameters:
hReader the opqaue handle to the LASReaderH
LAS_DLL LASHeaderH LASReader_GetHeader ( const LASReaderH  hReader  ) 

Returns a LASHeaderH representing the header for the file.

Parameters:
hReader the LASReaderH instance
Returns:
a LASHeaderH representing the header for the file. NULL is returned in the event of an error. Use the LASError_GetLastError* methods to check in the event of a NULL return.
LAS_DLL LASPointH LASReader_GetNextPoint ( const LASReaderH  hReader  ) 

Reads the next available point on the LASReaderH instance.

If no point is available to read, NULL is returned. If an error happens during the reading of the next available point, an error will be added to the error stack and can be returned with the LASError_GetLastError* methods.

Parameters:
hReader the opaque handle to the LASReaderH
Returns:
an opaque handle to a LASPointH object, or NULL if no point is available to read or an error occured. Use the LASError_GetLastError* methods to confirm the existence of an error if NULL is returned.
LAS_DLL LASPointH LASReader_GetPointAt ( const LASReaderH  hReader,
uint32_t  position 
)

Reads a LASPointH from the given position in the LAS file represented by the LASReaderH instance.

If no point is available at that location, NULL is returned. If an error happens during the reading of the point, an error will be added to the error stack and can be returned with the LASError_GetLastError* methods.

Parameters:
hReader the opaque handle to the LASReaderH
position the integer position of the point in the file to read.
Returns:
an opaque handle to a LASPointH object, or NULL if no point is available at the given location or an error occured. Use the LASError_GetLastError* methods to confirm the existence of an error if NULL is returned.
LAS_DLL LASError LASReader_SetInputSRS ( LASReaderH  hReader,
const LASSRSH  hSRS 
)
LAS_DLL LASError LASReader_SetOutputSRS ( LASReaderH  hReader,
const LASSRSH  hSRS 
)
LAS_DLL LASError LASReader_SetSRS ( LASReaderH  hReader,
const LASSRSH  hSRS 
)
LAS_DLL LASSRSH LASSRS_Create ( void   ) 

Creates a new SRS.

Returns:
a new SRS
LAS_DLL void LASSRS_Destroy ( LASSRSH  hSRS  ) 
LAS_DLL const GTIF* LASSRS_GetGTIF ( LASSRSH  hSRS  ) 
LAS_DLL char* LASSRS_GetProj4 ( LASSRSH  hSRS  ) 
LAS_DLL LASVLRH LASSRS_GetVLR ( const LASSRSH  hSRS,
uint32_t  i 
)
LAS_DLL uint32_t LASSRS_GetVLRCount ( const LASSRSH  hSRS  ) 
LAS_DLL char* LASSRS_GetWKT ( LASSRSH  hSRS  ) 
LAS_DLL char* LASSRS_GetWKT_CompoundOK ( LASSRSH  hSRS  ) 
LAS_DLL LASError LASSRS_SetFromUserInput ( LASSRSH  hSRS,
const char *  value 
)
LAS_DLL LASError LASSRS_SetProj4 ( LASSRSH  hSRS,
const char *  value 
)
LAS_DLL LASError LASSRS_SetVerticalCS ( LASSRSH  hSRS,
int  verticalCSType,
const char *  citation,
int  verticalDatum,
int  verticalUnits 
)
LAS_DLL LASError LASSRS_SetWKT ( LASSRSH  hSRS,
const char *  value 
)
LAS_DLL void LASString_Free ( char *  string  ) 

Method to ensure that you are freeing char*'s from the correct heap.

Parameters:
string the string to free
LAS_DLL LASVLRH LASVLR_Create ( void   ) 

Creates a new VLR record.

Returns:
a new VLR record
LAS_DLL void LASVLR_Destroy ( LASVLRH  hVLR  ) 

Destroys a VLR record and removes it from the heap.

LAS_DLL LASError LASVLR_GetData ( const LASVLRH  hVLR,
uint8_t *  data 
)

Gets the data stream for the VLR as an array of bytes.

The length of this array should be the same as LASVLR_GetRecordLength. You must allocate it on the heap and you are responsible for its destruction.

Parameters:
hVLR the LASVLRH instance
data a pointer to your array where you want the data copied
Returns:
LASErrorEnum
LAS_DLL char* LASVLR_GetDescription ( const LASVLRH  hVLR  ) 

Gets the description for the VLR.

Parameters:
hVLR the LASVLRH instance
Returns:
the description for the VLR
LAS_DLL uint16_t LASVLR_GetRecordId ( const LASVLRH  hVLR  ) 

Gets the record id for the VLR.

Parameters:
hVLR the LASVLRH instance
Returns:
the record id for the VLR
LAS_DLL uint16_t LASVLR_GetRecordLength ( const LASVLRH  hVLR  ) 

Returns the record length of the data stored in the VLR.

Parameters:
hVLR the LASVLRH instance
Returns:
the record length of the data stored in the VLR
LAS_DLL uint16_t LASVLR_GetReserved ( const LASVLRH  hVLR  ) 

Gets the reserved value of the VLR.

This should be 0 and should aways be 0.

Parameters:
hVLR the LASVLRH instance
Returns:
the reserved value of the VLR.
LAS_DLL char* LASVLR_GetUserId ( const LASVLRH  hVLR  ) 

Returns the User Id for the VLR.

Parameters:
hVLR the LASVLRH instance
Returns:
the User Id for the VLR
LAS_DLL LASError LASVLR_SetData ( const LASVLRH  hVLR,
uint8_t *  data,
uint16_t  length 
)

Sets the data stream for the VLR as an array of bytes.

The length of this array should be the same as LASVLR_GetRecordLength. The data are copied into the VLR structure.

Parameters:
hVLR the LASVLRH instance
data a pointer to your array. It must be LASVLR_GetRecordLength in size
Returns:
LASErrorEnum
LAS_DLL LASError LASVLR_SetDescription ( LASVLRH  hVLR,
const char *  value 
)

Sets the description for the VLR.

Parameters:
hVLR the LASVLRH instance
value the value to set for the description. It will be clipped to fit within 32 characters
Returns:
LASErrorEnum
LAS_DLL LASError LASVLR_SetRecordId ( LASVLRH  hVLR,
uint16_t  value 
)

Sets the record id for the VLR.

Parameters:
hVLR the LASVLRH instance
value the record id to set
Returns:
LASErrorEnum
LAS_DLL LASError LASVLR_SetRecordLength ( LASVLRH  hVLR,
uint16_t  value 
)

Sets the record length of the data stored in the VLR.

Parameters:
hVLR the LASVLRH instance
value the length to set for the VLR data length
Returns:
LASErrorEnum
LAS_DLL LASError LASVLR_SetReserved ( LASVLRH  hVLR,
uint16_t  value 
)

Sets the reserved value of the VLR.

This should be 0 and you should not have to ever monkey with this value according to the spec.

Parameters:
hVLR the LASVLRH instance
value the value to set for the reserved value
Returns:
LASErrorEnum
LAS_DLL LASError LASVLR_SetUserId ( LASVLRH  hVLR,
const char *  value 
)

Sets the User Id for the VLR.

Parameters:
hVLR the LASVLRH instance
value the value to set for the User Id. It will be clipped to fit within 16 characters
Returns:
LASErrorEnum
LAS_DLL LASWriterH LASWriter_Create ( const char *  filename,
const LASHeaderH  hHeader,
int  mode 
)

Creates a new LASWriterH for write operations on LAS files.

The file may be opened in either LAS_MODE_APPEND or LAS_MODE_WRITE, but the file cannot be open by another other operations (another LASReaderH or LASWriterH).

Parameters:
filename The filename to open to write
hHeader an opaque pointer to a LASHeaderH that will be written to the file as part of the opening for write operation.
mode a mode value to denote whether to open for write or append operations. Valid values are LAS_MODE_APPEND and LAS_MODE_WRITE.
LAS_DLL void LASWriter_Destroy ( LASWriterH  hWriter  ) 

Destroys the LASWriterH instance, effectively closing the file and performing housekeeping operations.

Parameters:
hWriter LASWriterH instance to close
LAS_DLL LASError LASWriter_SetInputSRS ( LASWriterH  hWriter,
const LASSRSH  hSRS 
)
LAS_DLL LASError LASWriter_SetOutputSRS ( LASWriterH  hWriter,
const LASSRSH  hSRS 
)
LAS_DLL LASError LASWriter_SetSRS ( LASWriterH  hWriter,
const LASSRSH  hSRS 
)
LAS_DLL LASError LASWriter_WriteHeader ( const LASWriterH  hWriter,
const LASHeaderH  hHeader 
)

Overwrites the header for the file represented by the LASWriterH.

It does not matter if the file is opened for append or for write.

Parameters:
hWriter opaque pointer to the LASWriterH instance
hHeader LASHeaderH instance to write into the file
Returns:
LE_None if no error occurred during the operation.
LAS_DLL LASError LASWriter_WritePoint ( const LASWriterH  hWriter,
const LASPointH  hPoint 
)

Writes a point to the file.

The location of where the point is writen is determined by the mode the file is opened in, and what the last operation was. For example, if the file was opened for append, the next point would be written at the end of the file. Likewise, if the file is opened in write mode, even if the file already existed, the next WritePoint operation will happen at the end of the header and all of the existing points in the file will be overwritten.

Parameters:
hWriter opaque pointer to the LASWriterH instance
hPoint the opaque LASPointH pointer to write
Returns:
LE_None if no error occurred during the write operation.