/******************************************************************************
* $Id$
*
* Project: libLAS - http://liblas.org - A BSD library for LAS format data.
* Purpose: Main prototypes for the libLAS C API
* Author: Howard Butler, hobu.inc@gmail.com
*
******************************************************************************
* Copyright (c) 2008, Howard Butler
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following
* conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided
* with the distribution.
* * Neither the name of the Martin Isenburg or Iowa Department
* of Natural Resources nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
****************************************************************************/
#ifndef LIBLAS_H_INCLUDED
#define LIBLAS_H_INCLUDED
#define LIBLAS_C_API 1
#include "las_version.h"
#include "las_config.h"
#include <liblas/export.hpp>
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 LASSchemaHS *LASSchemaH;
LAS_C_START
#define LAS_MODE_READ 0
#define LAS_MODE_WRITE 1
#define LAS_MODE_APPEND 2
/**
* \todo to be documented
*/
typedef enum
{
LE_None = 0,
LE_Debug = 1,
LE_Warning = 2,
LE_Failure = 3,
LE_Fatal = 4
} LASError;
/** Returns the version string for this library.
* @return the version string for this library.
*/
LAS_DLL char* LAS_GetVersion(void);
LAS_DLL char* LAS_GetFullVersion(void);
LAS_DLL int LAS_IsLibGeoTIFFEnabled(void);
LAS_DLL int LAS_IsGDALEnabled(void);
LAS_DLL int LAS_IsLibSpatialIndexEnabled(void);
/****************************************************************************/
/* Error handling */
/****************************************************************************/
/** Resets the error stack for the libLAS C API.
*/
LAS_DLL void LASError_Reset(void);
/** Pops the top error off of the error stack for the libLAS C API.
*/
LAS_DLL void LASError_Pop(void);
/** Returns the error number of the last error on the error stack.
* @return the error number of the last error on the error stack.
*/
LAS_DLL LASError LASError_GetLastErrorNum(void);
/** Returns the name of the method the last error message happened in.
* @return 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.
* @return the name of the method the last error message happened in.
*/
LAS_DLL char * LASError_GetLastErrorMethod(void);
/** Returns the number of error messages on the error stack.
* @return the number of error messages on the error stack.
*/
LAS_DLL int LASError_GetErrorCount(void);
/** 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.
* @param message Message to include in the stderr output
*/
LAS_DLL void LASError_Print(const char* message);
/****************************************************************************/
/* Reader operations */
/****************************************************************************/
/** 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.
* @return opaque pointer to a LASReaderH instance.
* @param filename Filename to open for read
*/
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.
* This function allows you to optionally override the file's header
* information with your own.
* @return opaque pointer to a LASReaderH instance.
* @param filename Filename to open for read
* @param hHeader a LASHeaderH instance to override the file's header with.
*
*/
LAS_DLL LASReaderH LASReader_CreateWithHeader( const char * filename,
LASHeaderH hHeader);
/** 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.
* @param hReader the opaque handle to the LASReaderH
* @return 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_GetNextPoint(const LASReaderH hReader);
/** 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.
* @param hReader the opaque handle to the LASReaderH
* @param position the integer position of the point in the file to read.
* @return 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 LASPointH LASReader_GetPointAt(const LASReaderH hReader, unsigned int position);
/** Closes the file for reading operations represented by the LASReaderH instance.
* @param hReader the opqaue handle to the LASReaderH
*/
LAS_DLL void LASReader_Destroy(LASReaderH hReader);
/** Returns a LASHeaderH representing the header for the file
* @param hReader the LASReaderH instance
* @return 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 LASHeaderH LASReader_GetHeader(const LASReaderH hReader);
LAS_DLL void LASReader_SetHeader( LASReaderH h
没有合适的资源?快使用搜索试试~ 我知道了~
liblas-release-x64(包括liblas.lib,liblas.dll,include文件)
共80个文件
hpp:75个
h:3个
lib:1个
4星 · 超过85%的资源 需积分: 38 54 下载量 79 浏览量
2018-01-08
09:03:24
上传
评论 1
收藏 457KB ZIP 举报
温馨提示
编译后的liblas文件,release_x64运行平台,(debug_x64下载地址:http://download.csdn.net/download/joker_mw/10128945)las读写程序参考官网,很简单
资源推荐
资源详情
资源评论
收起资源包目录
liblasRelease_x64.zip (80个子文件)
liblasRelease_x64
lib
liblas.lib 279KB
bin
liblas.dll 635KB
include
liblas
capi
liblas.h 50KB
las_config.h 3KB
las_version.h 3KB
writer.hpp 4KB
dimension.hpp 8KB
external
property_tree
stream_translator.hpp 7KB
string_path.hpp 11KB
xml_parser.hpp 6KB
ptree_fwd.hpp 5KB
ptree.hpp 21KB
id_translator.hpp 2KB
ptree_serialization.hpp 4KB
info_parser.hpp 6KB
ini_parser.hpp 12KB
detail
rapidxml.hpp 115KB
info_parser_error.hpp 1KB
xml_parser_writer_settings.hpp 2KB
xml_parser_error.hpp 1KB
info_parser_utils.hpp 977B
json_parser_error.hpp 1KB
ptree_implementation.hpp 30KB
info_parser_writer_settings.hpp 1KB
file_parser_error.hpp 3KB
json_parser_write.hpp 7KB
exception_implementation.hpp 2KB
xml_parser_flags.hpp 1KB
info_parser_read.hpp 15KB
xml_parser_utils.hpp 5KB
json_parser_read.hpp 11KB
xml_parser_write.hpp 7KB
info_parser_write.hpp 5KB
ptree_utils.hpp 3KB
xml_parser_read_rapidxml.hpp 5KB
exceptions.hpp 3KB
json_parser.hpp 6KB
exception.hpp 4KB
header.hpp 17KB
chipper.hpp 4KB
liblas.hpp 8KB
point.hpp 8KB
version.hpp 5KB
reader.hpp 5KB
iterator.hpp 9KB
export.hpp 3KB
color.hpp 5KB
bounds.hpp 14KB
classification.hpp 9KB
schema.hpp 6KB
utility.hpp 4KB
index.hpp 29KB
factory.hpp 4KB
spatialreference.hpp 9KB
detail
zippoint.hpp 3KB
binary.hpp 7KB
endian.hpp 4KB
index
indexoutput.hpp 5KB
indexcell.hpp 4KB
timer.hpp 3KB
writer
writer.hpp 4KB
header.hpp 3KB
point.hpp 3KB
zipwriter.hpp 4KB
pointrecord.hpp 3KB
opt_allocator.hpp 6KB
file_ptr_stream.hpp 3KB
private_utility.hpp 13KB
reader
header.hpp 3KB
cachedreader.hpp 4KB
reader.hpp 4KB
zipreader.hpp 4KB
singleton.hpp 3KB
fwd.hpp 3KB
sha1.hpp 2KB
filter.hpp 13KB
error.hpp 3KB
compatibility.hpp 3KB
variablerecord.hpp 5KB
transform.hpp 6KB
共 80 条
- 1
资源评论
- 开发工程师(记录出现的问题)2023-06-12添加了 使用不了
- qq_422710052018-09-04请问有VS2015的64位debug文件吗
- 佐罗XIII2018-02-01非常感谢,我想在VS2017下编译LIBLAS一直编译不成功,CMAKE老是出错。请问高手有什么好方法吗。
LoveCherish1993
- 粉丝: 13
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功