From f3892c81cb2d7e00b3d4a7d2083a12496ab38cfd Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 26 Oct 2020 01:53:14 +0000 Subject: [PATCH 01/73] Add comment about test_pdalc --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ecd8457..6454de8 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,8 @@ The library can be installed as a package on Windows, Mac and Linux using Conda. conda install -c conda-forge pdal-c ``` +The conda package includes a tool called `test_pdalc`. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to. + ## Dependencies The library is dependent on PDAL and has currently been tested up to v2.2.0. From 81bea9cd54e2382e03b77d3e73720a8f74d0fe6a Mon Sep 17 00:00:00 2001 From: runette Date: Mon, 26 Oct 2020 08:55:25 +0000 Subject: [PATCH 02/73] Update update_docs.yml --- .github/workflows/update_docs.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update_docs.yml b/.github/workflows/update_docs.yml index 792ddb4..217d205 100644 --- a/.github/workflows/update_docs.yml +++ b/.github/workflows/update_docs.yml @@ -15,9 +15,11 @@ jobs: run: | SOURCE=$(pwd) cd docs + VERSION=$(basename ${GITHUB_REF}) + echo "Version Being built: ${GITHUB_REF}" cat Doxyfile.in | \ sed s:'${PROJECT_NAME}':'pdal-c': | \ - sed s:'${pdal-c_VERSION}':'v2.0.0': | \ + sed s:'${pdal-c_VERSION}': $GITHUB_REF: | \ sed s:'${CMAKE_SOURCE_DIR}':.: | \ sed s:'${PDAL_INCLUDE_DIRS}':NONE: \ > Doxyfile From e43727749be3a8d1c81979015db168615bba3c4c Mon Sep 17 00:00:00 2001 From: runette Date: Mon, 26 Oct 2020 08:58:02 +0000 Subject: [PATCH 03/73] Fix Auto Docs Update Job --- .github/workflows/update_docs.yml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/update_docs.yml b/.github/workflows/update_docs.yml index 217d205..52ff03b 100644 --- a/.github/workflows/update_docs.yml +++ b/.github/workflows/update_docs.yml @@ -1,31 +1,33 @@ name: Update Docs on: - workflow_dispatch + release: + types: [published] jobs: build: runs-on: ubuntu-latest steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout The PR + - name: Checkout The Master uses: actions/checkout@v2 + with: + ref: master + fetch-depth: 1 - name: Build shell: bash run: | SOURCE=$(pwd) cd docs - VERSION=$(basename ${GITHUB_REF}) - echo "Version Being built: ${GITHUB_REF}" + VERSION=$( basename ${GITHUB_REF} ) + echo "Version Being built: ${VERSION}" cat Doxyfile.in | \ - sed s:'${PROJECT_NAME}':'pdal-c': | \ - sed s:'${pdal-c_VERSION}': $GITHUB_REF: | \ - sed s:'${CMAKE_SOURCE_DIR}':.: | \ - sed s:'${PDAL_INCLUDE_DIRS}':NONE: \ + sed 's:${PROJECT_NAME}:pdal-c:' | \ + sed 's:${pdal-c_VERSION}: '$VERSION' :' | \ + sed 's:${CMAKE_SOURCE_DIR}:.:' | \ + sed 's:${PDAL_INCLUDE_DIRS}:NONE:' \ > Doxyfile - cat Doxyfile - - name: Run Doxygen uses: mattnotmitt/doxygen-action@v1.2.0 with: @@ -41,7 +43,7 @@ jobs: uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ github.ref }} + branch: master From f9ff0a35b5ae801b83a888c4ef8352c7d81e6c96 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 26 Oct 2020 10:03:42 +0000 Subject: [PATCH 04/73] Fix Broken Link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6454de8..9e838eb 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ pdal-c: PDAL C API # Basics -*pdal-c* is a C API for the Point Data Abstraction Library ([PDAL](https:/pdal.io)) +*pdal-c* is a C API for the Point Data Abstraction Library ([PDAL](https://pdal.io)) and is compatible with PDAL 1.7 and later. *pdal-c* is released under the [BSD 3-clause license](LICENSE.md). From 2485d177e82743f53cb28f5fa1d24f5f591da451 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 11:52:41 +0100 Subject: [PATCH 05/73] first draft --- source/pdal/pdalc_pointview.cpp | 40 +++++++++++++++++++++++++++++++++ source/pdal/pdalc_pointview.h | 28 +++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 80c900b..e526d67 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -206,6 +206,46 @@ extern "C" return size; } + + uint64_t PDALGetMeshSize(PDALPointViewPtr view) + { + pdal::capi::PointView* wrapper = reinterpret_cast(view); + pdal::TriangularMesh* mesh=wrapper.mesh(); + return mesh && *mesh ? (uint64_t)(*mesh)->size() : 0; + } + + uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buf) + { + uint64_t size = 0; + + if (view && buf) + { + pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::TriangularMesh* mesh=capiView.mesh(); + + + if (*capiView && *mesh) + { + uint64_t size = 0; + for (unsigned idx = 0; idx < (*mesh)->size(); ++idx) + { + const Triangle& t = (*mesh)[idx]; + uint32_t a = (uint32_t)t.m_a; + std::memcpy(buff, &a, 4); + uint32_t b = (uint32_t)t.m_b; + std::memcpy(buff + 4, &b, 4); + uint32_t c = (uint32_t)t.m_c; + std::memcpy(buff + 8, &c, 4); + + buf += 12; + size += pointSize; + } + } + } + + return size; + } + } } } \ No newline at end of file diff --git a/source/pdal/pdalc_pointview.h b/source/pdal/pdalc_pointview.h index 617a235..bda1ba8 100644 --- a/source/pdal/pdalc_pointview.h +++ b/source/pdal/pdalc_pointview.h @@ -167,6 +167,34 @@ PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr di */ PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer); +/** + * Returns the number of triangles in the provided `view`. + * + * @see pdal::TriangularMesh + * + * @param view The point view + * @return The number of triangles or zero if there is no mesh. + */ +PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view); + +/** + * Retrieves the triangles from the PointView. + * + * @note Behavior will be undefined if `buffer` is not large enough + * to contain all the packed point data + * + * @see Use the product of the values returned by PDALGetPointViewSize + * and 12 to obtain the minimum byte size for `buffer` + * + * @see pdal::TriangularMesh + * + * @param view The view that contains the triangles + * @param[out] buffer Pointer to buffer to fill + * @return The size of the triangles stored in `buf` + * or zero if `view` is NULL, or `buf` is NULL + */ +PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); + #ifdef __cplusplus } } From 65f794a4f6db77e1275a8394d7fd96819acadc42 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 12:25:57 +0100 Subject: [PATCH 06/73] bug fixes --- csharp/PointView.cs | 16 ++++++++++++++++ source/pdal/pdalc_forward.h | 6 ++++++ source/pdal/pdalc_pointview.cpp | 4 ++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 1114e70..7552eb8 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -82,6 +82,17 @@ public class PointView : IDisposable private IntPtr mNative = IntPtr.Zero; + [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetMeshViewSize")] + + private static extern ulong meshSize(IntPtr view); + + [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetAllTriangles")] + + private static extern ulong getAllTriangles(IntPtr view, [MarshalAs(UnmanagedType.LPArray)] byte[] buf); + + private IntPtr mNative = IntPtr.Zero; + + public PointView(IntPtr nativeView) { mNative = nativeView; @@ -232,6 +243,11 @@ public BakedPointCloud GetBakedPointCloud(long size) { pc.Initialize(positions, colors, (int)size); return pc; + } + + public DMesh3 getMesh() + { + } private double parseDouble(byte[] buffer, string interpretationName, int position) { diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index 634b00b..d946f12 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -55,15 +55,18 @@ namespace pdal struct DimType; class PipelineExecutor; class PointView; +class TriangularMesh using PointViewPtr = std::shared_ptr; using DimTypeList = std::vector; +using MeshPtr = std::shared_ptr namespace capi { class PointViewIterator; using Pipeline = std::unique_ptr; using PointView = pdal::PointViewPtr; +using TriangularMesh = pdal::MeshPtr; using DimTypeList = std::unique_ptr; } } @@ -105,6 +108,9 @@ typedef void* PDALPointLayoutPtr; /// A pointer to point view typedef void* PDALPointViewPtr; +/// A pointer to a Mesh +typedef void* PDALMeshPtr + /// A pointer to a point view iterator typedef void* PDALPointViewIteratorPtr; diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index e526d67..0c62234 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -210,7 +210,7 @@ extern "C" uint64_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::TriangularMesh* mesh=wrapper.mesh(); + pdal::TriangularMesh* mesh=reinterpret_castwrapper->mesh(); return mesh && *mesh ? (uint64_t)(*mesh)->size() : 0; } @@ -221,7 +221,7 @@ extern "C" if (view && buf) { pdal::capi::PointView *capiView = reinterpret_cast(view); - pdal::TriangularMesh* mesh=capiView.mesh(); + pdal::capi::TriangularMesh* mesh=reinterpret_castcapiView->mesh(); if (*capiView && *mesh) From 05ac0432bdbac584145b3724a88ae8e3bcacddc8 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 12:37:16 +0100 Subject: [PATCH 07/73] Update pdalc_forward.h --- source/pdal/pdalc_forward.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index d946f12..89cae54 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -55,11 +55,11 @@ namespace pdal struct DimType; class PipelineExecutor; class PointView; -class TriangularMesh +class TriangularMesh; using PointViewPtr = std::shared_ptr; using DimTypeList = std::vector; -using MeshPtr = std::shared_ptr +using MeshPtr = std::shared_ptr; namespace capi { @@ -109,7 +109,7 @@ typedef void* PDALPointLayoutPtr; typedef void* PDALPointViewPtr; /// A pointer to a Mesh -typedef void* PDALMeshPtr +typedef void* PDALMeshPtr; /// A pointer to a point view iterator typedef void* PDALPointViewIteratorPtr; From 6c010d43124585900a8c3a87ad0cc0a45b2ed1eb Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 12:52:06 +0100 Subject: [PATCH 08/73] bug fixes --- csharp/PointView.cs | 12 +++++++++++- source/pdal/pdalc_pointview.cpp | 10 +++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 7552eb8..cf1754f 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -247,8 +247,18 @@ public BakedPointCloud GetBakedPointCloud(long size) { public DMesh3 getMesh() { + byte[] data = null; - } + if (this.meshSize > 0) + { + ulong byteCount = this.meshSize * 12; + data = new byte[byteCount]; + getAllTriangles(mNative, dims.Native, data); + + } + + return data; + } private double parseDouble(byte[] buffer, string interpretationName, int position) { double value = 0; diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 0c62234..4eb2622 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -210,18 +210,18 @@ extern "C" uint64_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::TriangularMesh* mesh=reinterpret_castwrapper->mesh(); + pdal::capi::TriangularMesh* mesh=reinterpret_cast(wrapper->mesh()); return mesh && *mesh ? (uint64_t)(*mesh)->size() : 0; } - uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buf) + uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) { uint64_t size = 0; if (view && buf) { - pdal::capi::PointView *capiView = reinterpret_cast(view); - pdal::capi::TriangularMesh* mesh=reinterpret_castcapiView->mesh(); + pdal::capi::PointView* capiView = reinterpret_cast(view); + pdal::capi::TriangularMesh* mesh=reinterpret_cast(capiView->mesh()); if (*capiView && *mesh) @@ -229,7 +229,7 @@ extern "C" uint64_t size = 0; for (unsigned idx = 0; idx < (*mesh)->size(); ++idx) { - const Triangle& t = (*mesh)[idx]; + const Triangle& t = *mesh[idx]; uint32_t a = (uint32_t)t.m_a; std::memcpy(buff, &a, 4); uint32_t b = (uint32_t)t.m_b; From f9fe551750b9e14b99d51149906db4e850cf9d87 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 13:09:28 +0100 Subject: [PATCH 09/73] bug fixes --- csharp/PointView.cs | 6 +++++- source/pdal/pdalc_pointview.cpp | 12 ++++++------ tests/pdal/test_pdalc_pointview.c.in | 22 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index cf1754f..23131eb 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -253,8 +253,12 @@ public DMesh3 getMesh() { ulong byteCount = this.meshSize * 12; data = new byte[byteCount]; - getAllTriangles(mNative, dims.Native, data); + szie = getAllTriangles(mNative, data); + List + for (long i=0; i < size; i++) + { + } } return data; diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 4eb2622..69ad76b 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -210,7 +210,7 @@ extern "C" uint64_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::capi::TriangularMesh* mesh=reinterpret_cast(wrapper->mesh()); + pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); return mesh && *mesh ? (uint64_t)(*mesh)->size() : 0; } @@ -218,10 +218,10 @@ extern "C" { uint64_t size = 0; - if (view && buf) + if (view && buff) { pdal::capi::PointView* capiView = reinterpret_cast(view); - pdal::capi::TriangularMesh* mesh=reinterpret_cast(capiView->mesh()); + pdal::capi::TriangularMesh* mesh=reinterpret_cast((*capiView)->mesh()); if (*capiView && *mesh) @@ -229,7 +229,7 @@ extern "C" uint64_t size = 0; for (unsigned idx = 0; idx < (*mesh)->size(); ++idx) { - const Triangle& t = *mesh[idx]; + const Triangle& t = (*mesh)[idx]; uint32_t a = (uint32_t)t.m_a; std::memcpy(buff, &a, 4); uint32_t b = (uint32_t)t.m_b; @@ -237,8 +237,8 @@ extern "C" uint32_t c = (uint32_t)t.m_c; std::memcpy(buff + 8, &c, 4); - buf += 12; - size += pointSize; + buff += 12; + size += 12; } } } diff --git a/tests/pdal/test_pdalc_pointview.c.in b/tests/pdal/test_pdalc_pointview.c.in index 70ef40b..6c6b37c 100644 --- a/tests/pdal/test_pdalc_pointview.c.in +++ b/tests/pdal/test_pdalc_pointview.c.in @@ -170,6 +170,28 @@ TEST testPDALGetPointViewSize(void) PASS(); } +TEST testPDALGetMeshSize(void) +{ + ASSERT_EQ(0, PDALGetMeshSize(NULL)); + + PDALResetPointViewIterator(gPointViewIterator); + bool hasNext = PDALHasNextPointView(gPointViewIterator); + ASSERT(hasNext); + + PDALPointViewPtr view = PDALGetNextPointView(gPointViewIterator); + ASSERT(view); + + // Dispose view before assertion to avoid CWE-404 + // See http://cwe.mitre.org/data/definitions/404.html + // See https://scan4.coverity.com/doc/en/cov_checker_ref.html#static_checker_RESOURCE_LEAK + size_t size = PDALGetMeshSize(view); + PDALDisposePointView(view); + ASSERT(size == 0); + + + PASS(); +} + TEST testPDALIsPointViewEmpty(void) { ASSERT(PDALIsPointViewEmpty(NULL)); From d9577d8acd0b1c8880eca4dc95c2648e75142843 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 13:25:35 +0100 Subject: [PATCH 10/73] bug fix --- csharp/PointView.cs | 12 ++++++++---- source/pdal/pdalc_pointview.cpp | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 23131eb..07bc8b0 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -254,14 +254,18 @@ public DMesh3 getMesh() ulong byteCount = this.meshSize * 12; data = new byte[byteCount]; szie = getAllTriangles(mNative, data); - List - for (long i=0; i < size; i++) + List tris = new List(); + for (int i=0; i < size; i++) { + int position = i * 12; + tris.add(BitConverter.ToUInt32(data, position); + tris.add(BitConverter.ToUInt32(data, position + 4); + tris.add(BitConverter.ToUInt32(data, position + 8); + } - } } - return data; + return default } private double parseDouble(byte[] buffer, string interpretationName, int position) { diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 69ad76b..8dc1971 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -229,7 +229,7 @@ extern "C" uint64_t size = 0; for (unsigned idx = 0; idx < (*mesh)->size(); ++idx) { - const Triangle& t = (*mesh)[idx]; + const Triangle& t = (*(*mesh))[idx]; uint32_t a = (uint32_t)t.m_a; std::memcpy(buff, &a, 4); uint32_t b = (uint32_t)t.m_b; From 5e3a8ba305dd8ee30ab5e7c773177a8a10fde8c7 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 16:42:37 +0100 Subject: [PATCH 11/73] fixe size bug --- .gitignore | 5 ++- csharp/Config.cs | 58 +++++++-------------------- csharp/PointView.cs | 69 ++++++++++++++++++++++++--------- csharp/csharp.csproj | 10 +++++ source/pdal/pdalc_pointview.cpp | 8 ++-- source/pdal/pdalc_pointview.h | 4 +- 6 files changed, 83 insertions(+), 71 deletions(-) create mode 100644 csharp/csharp.csproj diff --git a/.gitignore b/.gitignore index 4b85f2e..1f83022 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,8 @@ tests/pdal/test_pdalc_*.c .DS_Store # Build directory /build +bin/ +obj/ # Prerequisites *.d @@ -28,6 +30,7 @@ tests/pdal/test_pdalc_*.c *.o *.obj *.elf +*.sln # Linker output *.ilk @@ -72,4 +75,4 @@ Data/ Doxyfile *.tcl -Testing/ \ No newline at end of file +Testing/ diff --git a/csharp/Config.cs b/csharp/Config.cs index d151036..40ef05b 100644 --- a/csharp/Config.cs +++ b/csharp/Config.cs @@ -1,6 +1,7 @@ /****************************************************************************** * Copyright (c) 2019, Simverge Software LLC. All rights reserved. * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following * conditions are met: @@ -27,10 +28,9 @@ this list of conditions and the following disclaimer in the documentation * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -using System.IO; using System.Runtime.InteropServices; using System.Text; -using UnityEngine; +using System; namespace Pdal { @@ -39,19 +39,17 @@ public class PdalConfiguration public static void ConfigurePdal() { Config config = new Config(); - Debug.Log("GDAL Data Path: " + config.GdalData); - Debug.Log("Proj4 Data Path: " + config.Proj4Data); - - Debug.Log("PDAL Version Integer: " + config.VersionInteger); - Debug.Log("PDAL Version Major: " + config.VersionMajor); - Debug.Log("PDAL Version Minor: " + config.VersionMinor); - Debug.Log("PDAL Version Patch: " + config.VersionPatch); - - Debug.Log("PDAL Full Version: " + config.FullVersion); - Debug.Log("PDAL Version: " + config.Version); - Debug.Log("PDAL SHA1: " + config.Sha1); - Debug.Log("PDAL Debug Info: " + config.DebugInfo); - } + + Console.WriteLine("PDAL Version Integer: " + config.VersionInteger); + Console.WriteLine("PDAL Version Major: " + config.VersionMajor); + Console.WriteLine("PDAL Version Minor: " + config.VersionMinor); + Console.WriteLine("PDAL Version Patch: " + config.VersionPatch); + + Console.WriteLine("PDAL Full Version: " + config.FullVersion); + Console.WriteLine("PDAL Version: " + config.Version); + Console.WriteLine("PDAL SHA1: " + config.Sha1); + Console.WriteLine("PDAL Debug Info: " + config.DebugInfo); + } } /** @@ -109,39 +107,9 @@ public class Config */ public Config() { - //string cwd = Environment.CurrentDirectory; - string gdalPath = Application.streamingAssetsPath; - GdalData = Path.Combine(gdalPath, "gdal-data"); - Proj4Data = Path.Combine(gdalPath, "proj"); } - /// The path to the GDAL data directory - public string GdalData - { - get - { - StringBuilder buffer = new StringBuilder(256); - getGdalDataPath(buffer, (uint) buffer.Capacity); - return buffer.ToString(); - } - - set { setGdalDataPath(value); } - } - - /// The path to the proj4 data directory - public string Proj4Data - { - get - { - StringBuilder buffer = new StringBuilder(256); - getProj4DataPath(buffer, (uint) buffer.Capacity); - return buffer.ToString(); - } - - set { setProj4DataPath(value); } - } - /// The PDAL full version string with dot-separated major, minor, and patch version numbers and PDAL commit SHA1 public string FullVersion { diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 07bc8b0..9a71146 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -82,15 +82,13 @@ public class PointView : IDisposable private IntPtr mNative = IntPtr.Zero; - [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetMeshViewSize")] + [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetMeshSize")] - private static extern ulong meshSize(IntPtr view); + private static extern uint meshSize(IntPtr view); [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetAllTriangles")] - private static extern ulong getAllTriangles(IntPtr view, [MarshalAs(UnmanagedType.LPArray)] byte[] buf); - - private IntPtr mNative = IntPtr.Zero; + private static extern uint getAllTriangles(IntPtr view, [MarshalAs(UnmanagedType.LPArray)] byte[] buf); public PointView(IntPtr nativeView) @@ -114,6 +112,11 @@ public ulong Size get { return size(mNative); } } + public uint MeshSize + { + get { return meshSize(mNative); } + } + public bool Empty { get { return empty(mNative); } @@ -191,6 +194,24 @@ public byte[] GetPackedPoint(DimTypeList dims, ulong idx) return data; } + public byte[] GetPackedMesh( out uint size) + { + byte[] data = null; + size = 0; + + Console.WriteLine($"native Size {meshSize(mNative)}"); + + if (meshSize(mNative) > 0) + { + ulong byteCount = meshSize(mNative) * 12; + Console.WriteLine($"bytecount Size {byteCount}"); + data = new byte[byteCount]; + size = getAllTriangles(mNative, data); + } + + return data; + } + public PointView Clone() { PointView clonedView = null; @@ -204,8 +225,8 @@ public PointView Clone() return clonedView; } - public BakedPointCloud GetBakedPointCloud(long size) { - BakedPointCloud pc = new BakedPointCloud(); + public BpcData GetBakedPointCloud(long size) { + BpcData pc; PointLayout layout = Layout; DimTypeList typelist = layout.Types; byte[] data = GetAllPackedPoints(typelist); @@ -241,31 +262,31 @@ public BakedPointCloud GetBakedPointCloud(long size) { )); } - pc.Initialize(positions, colors, (int)size); + pc.positions = positions; + pc.colors = colors; + pc.size = (int)size; return pc; } public DMesh3 getMesh() { - byte[] data = null; + ulong size; + byte[] data = GetPackedMesh(out size); - if (this.meshSize > 0) - { - ulong byteCount = this.meshSize * 12; - data = new byte[byteCount]; - szie = getAllTriangles(mNative, data); + if (size < 0 ) + { List tris = new List(); - for (int i=0; i < size; i++) + for (int i=0; i < (int)size; i++) { int position = i * 12; - tris.add(BitConverter.ToUInt32(data, position); - tris.add(BitConverter.ToUInt32(data, position + 4); - tris.add(BitConverter.ToUInt32(data, position + 8); + tris.Add(BitConverter.ToUInt32(data, position)); + tris.Add(BitConverter.ToUInt32(data, position + 4)); + tris.Add(BitConverter.ToUInt32(data, position + 8)); } } - return default + return default; } private double parseDouble(byte[] buffer, string interpretationName, int position) { @@ -297,5 +318,15 @@ private double parseDouble(byte[] buffer, string interpretationName, int positio private float parseColor(byte[] buffer, string interpretationName, int position) { return (float) parseDouble(buffer, interpretationName, position) / 256; } + } + + /// + /// Data needed to use the PC data (BPC == Baked Point Cloud) + /// + public struct BpcData + { + public IEnumerable positions; + public IEnumerable colors; + public int size; } } \ No newline at end of file diff --git a/csharp/csharp.csproj b/csharp/csharp.csproj new file mode 100644 index 0000000..4ebef52 --- /dev/null +++ b/csharp/csharp.csproj @@ -0,0 +1,10 @@ + + + + netstandard2.1 + + + + + + diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 8dc1971..12a4756 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -207,16 +207,16 @@ extern "C" return size; } - uint64_t PDALGetMeshSize(PDALPointViewPtr view) + size_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); return mesh && *mesh ? (uint64_t)(*mesh)->size() : 0; } - uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) + size_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) { - uint64_t size = 0; + size_t size = 0; if (view && buff) { @@ -229,7 +229,7 @@ extern "C" uint64_t size = 0; for (unsigned idx = 0; idx < (*mesh)->size(); ++idx) { - const Triangle& t = (*(*mesh))[idx]; + const Triangle& t = (*mesh).get()[idx]; uint32_t a = (uint32_t)t.m_a; std::memcpy(buff, &a, 4); uint32_t b = (uint32_t)t.m_b; diff --git a/source/pdal/pdalc_pointview.h b/source/pdal/pdalc_pointview.h index bda1ba8..a0a3db5 100644 --- a/source/pdal/pdalc_pointview.h +++ b/source/pdal/pdalc_pointview.h @@ -175,7 +175,7 @@ PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeList * @param view The point view * @return The number of triangles or zero if there is no mesh. */ -PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view); +PDALC_API size_t PDALGetMeshSize(PDALPointViewPtr view); /** * Retrieves the triangles from the PointView. @@ -193,7 +193,7 @@ PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view); * @return The size of the triangles stored in `buf` * or zero if `view` is NULL, or `buf` is NULL */ -PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); +PDALC_API size_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); #ifdef __cplusplus } From 90ae015da4ed44b8730f86693bf2b3c2e339427a Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 16:54:28 +0100 Subject: [PATCH 12/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 12a4756..420ac6d 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -226,8 +226,7 @@ extern "C" if (*capiView && *mesh) { - uint64_t size = 0; - for (unsigned idx = 0; idx < (*mesh)->size(); ++idx) + for (size_t idx = 0; idx < (*mesh)->size(); ++idx) { const Triangle& t = (*mesh).get()[idx]; uint32_t a = (uint32_t)t.m_a; From 6baeb77f09d6a55c546b525b25823181c39e9736 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 16:56:06 +0100 Subject: [PATCH 13/73] mesh twiddle --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 420ac6d..9f49e3d 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -228,7 +228,7 @@ extern "C" { for (size_t idx = 0; idx < (*mesh)->size(); ++idx) { - const Triangle& t = (*mesh).get()[idx]; + const Triangle& t = (*(*mesh))[idx]; uint32_t a = (uint32_t)t.m_a; std::memcpy(buff, &a, 4); uint32_t b = (uint32_t)t.m_b; From dd9a246a9739f8f28167be89fe540c76111726ef Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 16:57:46 +0100 Subject: [PATCH 14/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 9f49e3d..c0d4452 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,7 +211,7 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - return mesh && *mesh ? (uint64_t)(*mesh)->size() : 0; + return mesh && *mesh ? (*mesh)->size() : 0; } size_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) From 194f2cb2c341d8c72ed2782fe6608050b9f5c0e7 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 17:48:52 +0100 Subject: [PATCH 15/73] Debug --- csharp/PointView.cs | 2 +- source/pdal/pdalc_pointview.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 9a71146..054f1fe 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -270,7 +270,7 @@ public BpcData GetBakedPointCloud(long size) { public DMesh3 getMesh() { - ulong size; + uint size; byte[] data = GetPackedMesh(out size); if (size < 0 ) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index c0d4452..24e6e56 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,6 +211,7 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); + std::cout << " Mesh Size : " << std::to_string((*mesh)->size()) return mesh && *mesh ? (*mesh)->size() : 0; } From 6463dd52cac00fa649ec74a007f4fa958f77086f Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 18:41:39 +0100 Subject: [PATCH 16/73] debug --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 24e6e56..7313524 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,7 +211,7 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - std::cout << " Mesh Size : " << std::to_string((*mesh)->size()) + std::cout << " Mesh Size : " << std::to_string((*mesh)->size()); return mesh && *mesh ? (*mesh)->size() : 0; } From 19597806e1a18764487b90f037b040bbd0d17861 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 19:11:26 +0100 Subject: [PATCH 17/73] debug --- source/pdal/pdalc_pointview.cpp | 9 ++++----- source/pdal/pdalc_pointview.h | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 7313524..f75ebba 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -207,15 +207,14 @@ extern "C" return size; } - size_t PDALGetMeshSize(PDALPointViewPtr view) + uint32_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - std::cout << " Mesh Size : " << std::to_string((*mesh)->size()); - return mesh && *mesh ? (*mesh)->size() : 0; + return mesh && *mesh ? (uint32_t)(*mesh)->size() : 0; } - size_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) + uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) { size_t size = 0; @@ -243,7 +242,7 @@ extern "C" } } - return size; + return (uint32_t)size; } } diff --git a/source/pdal/pdalc_pointview.h b/source/pdal/pdalc_pointview.h index a0a3db5..f73f45b 100644 --- a/source/pdal/pdalc_pointview.h +++ b/source/pdal/pdalc_pointview.h @@ -175,7 +175,7 @@ PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeList * @param view The point view * @return The number of triangles or zero if there is no mesh. */ -PDALC_API size_t PDALGetMeshSize(PDALPointViewPtr view); +PDALC_API uint32_t PDALGetMeshSize(PDALPointViewPtr view); /** * Retrieves the triangles from the PointView. @@ -193,7 +193,7 @@ PDALC_API size_t PDALGetMeshSize(PDALPointViewPtr view); * @return The size of the triangles stored in `buf` * or zero if `view` is NULL, or `buf` is NULL */ -PDALC_API size_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); +PDALC_API uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); #ifdef __cplusplus } From ce8e747352ed3d7e7aaa11629d4df0c574efbcb3 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 19:27:45 +0100 Subject: [PATCH 18/73] static cast --- csharp/PointView.cs | 4 ++-- source/pdal/pdalc_pointview.cpp | 4 ++-- source/pdal/pdalc_pointview.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 054f1fe..39f28a0 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -84,7 +84,7 @@ public class PointView : IDisposable [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetMeshSize")] - private static extern uint meshSize(IntPtr view); + private static extern ulong meshSize(IntPtr view); [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetAllTriangles")] @@ -112,7 +112,7 @@ public ulong Size get { return size(mNative); } } - public uint MeshSize + public ulong MeshSize { get { return meshSize(mNative); } } diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index f75ebba..fe7cefe 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -207,11 +207,11 @@ extern "C" return size; } - uint32_t PDALGetMeshSize(PDALPointViewPtr view) + uint64_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - return mesh && *mesh ? (uint32_t)(*mesh)->size() : 0; + return mesh && *mesh ? static_cast((*mesh)->size()) : 0; } uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) diff --git a/source/pdal/pdalc_pointview.h b/source/pdal/pdalc_pointview.h index f73f45b..8b088c0 100644 --- a/source/pdal/pdalc_pointview.h +++ b/source/pdal/pdalc_pointview.h @@ -175,7 +175,7 @@ PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeList * @param view The point view * @return The number of triangles or zero if there is no mesh. */ -PDALC_API uint32_t PDALGetMeshSize(PDALPointViewPtr view); +PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view); /** * Retrieves the triangles from the PointView. From bef36192c98e9ddabd3bce2b45e57589f4e05bbc Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 19:50:42 +0100 Subject: [PATCH 19/73] debug --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index fe7cefe..115b3fb 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,7 +211,7 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - return mesh && *mesh ? static_cast((*mesh)->size()) : 0; + return static_cast(101); } uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) From 861b663df30098c0d8340ae820a8439207ffe17c Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 20:05:18 +0100 Subject: [PATCH 20/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 115b3fb..40246f9 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,7 +211,7 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - return static_cast(101); + return mesh && *mesh ? static_cast((*(*mesh)).size()) : 101; } uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) From e8ac9b93cf0d7de37b9d1041d5b9c2f8ef7b19b2 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 20:33:26 +0100 Subject: [PATCH 21/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 40246f9..2978382 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,7 +211,11 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); - return mesh && *mesh ? static_cast((*(*mesh)).size()) : 101; + uint64_t idx = 0; + for (size_t i = 0; i < (*(*mesh)).size(), ++i) { + ++idx + } + return mesh && *mesh ? idx : static_cast(101); } uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) From 2c2bec87a747af741b01af65a89b7bb6d2c502fb Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 20:42:17 +0100 Subject: [PATCH 22/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 2978382..996b521 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -212,7 +212,7 @@ extern "C" pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); uint64_t idx = 0; - for (size_t i = 0; i < (*(*mesh)).size(), ++i) { + for (size_t i = 0; i < (*(*mesh)).size(); ++i) { ++idx } return mesh && *mesh ? idx : static_cast(101); From 6393dcc256778b21a1341cd3149ae682d5187270 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 20:51:28 +0100 Subject: [PATCH 23/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 996b521..a18fb54 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -213,7 +213,7 @@ extern "C" pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); uint64_t idx = 0; for (size_t i = 0; i < (*(*mesh)).size(); ++i) { - ++idx + ++idx; } return mesh && *mesh ? idx : static_cast(101); } From 77743ca203d77cb4a96d9928dda8aa9ea4536029 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 21:11:03 +0100 Subject: [PATCH 24/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index a18fb54..5b4aed7 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -210,12 +210,12 @@ extern "C" uint64_t PDALGetMeshSize(PDALPointViewPtr view) { pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::capi::TriangularMesh* mesh=reinterpret_cast((*wrapper)->mesh()); + pdal::TriangularMesh* mesh=(*wrapper)->mesh(); uint64_t idx = 0; - for (size_t i = 0; i < (*(*mesh)).size(); ++i) { + for (size_t i = 0; i < (*mesh).size(); ++i) { ++idx; } - return mesh && *mesh ? idx : static_cast(101); + return mesh ? idx : static_cast(101); } uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) From 45faefa1c43def66124188d7fb311f97d16607ca Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 21:29:36 +0100 Subject: [PATCH 25/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 5b4aed7..35c3e2e 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -211,28 +211,25 @@ extern "C" { pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::TriangularMesh* mesh=(*wrapper)->mesh(); - uint64_t idx = 0; - for (size_t i = 0; i < (*mesh).size(); ++i) { - ++idx; - } - return mesh ? idx : static_cast(101); + + return mesh ? static_cast( (*mesh).size()) : 0; } - uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) + uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) { size_t size = 0; if (view && buff) { pdal::capi::PointView* capiView = reinterpret_cast(view); - pdal::capi::TriangularMesh* mesh=reinterpret_cast((*capiView)->mesh()); + pdal::TriangularMesh* mesh=(*capiView)->mesh(); - if (*capiView && *mesh) + if (*capiView && mesh) { for (size_t idx = 0; idx < (*mesh)->size(); ++idx) { - const Triangle& t = (*(*mesh))[idx]; + const Triangle& t = (*mesh)[idx]; uint32_t a = (uint32_t)t.m_a; std::memcpy(buff, &a, 4); uint32_t b = (uint32_t)t.m_b; @@ -246,7 +243,7 @@ extern "C" } } - return (uint32_t)size; + return static_cast(size); } } From 075738d42df00f27d43cca9c2279fb96c4d66dde Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 21:39:50 +0100 Subject: [PATCH 26/73] bug fixes --- source/pdal/pdalc_pointview.cpp | 2 +- source/pdal/pdalc_pointview.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 35c3e2e..473d416 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -227,7 +227,7 @@ extern "C" if (*capiView && mesh) { - for (size_t idx = 0; idx < (*mesh)->size(); ++idx) + for (size_t idx = 0; idx < (*mesh).size(); ++idx) { const Triangle& t = (*mesh)[idx]; uint32_t a = (uint32_t)t.m_a; diff --git a/source/pdal/pdalc_pointview.h b/source/pdal/pdalc_pointview.h index 8b088c0..bda1ba8 100644 --- a/source/pdal/pdalc_pointview.h +++ b/source/pdal/pdalc_pointview.h @@ -193,7 +193,7 @@ PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view); * @return The size of the triangles stored in `buf` * or zero if `view` is NULL, or `buf` is NULL */ -PDALC_API uint32_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); +PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer); #ifdef __cplusplus } From 774a4aa123ff963e673d1e2925bda8cef9709da4 Mon Sep 17 00:00:00 2001 From: runette Date: Thu, 29 Apr 2021 23:59:59 +0100 Subject: [PATCH 27/73] Everything working --- csharp/PointView.cs | 66 ++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/csharp/PointView.cs b/csharp/PointView.cs index 39f28a0..03953b3 100644 --- a/csharp/PointView.cs +++ b/csharp/PointView.cs @@ -32,6 +32,7 @@ this list of conditions and the following disclaimer in the documentation using System.Text; using g3; using System.Collections.Generic; +using System.Linq; namespace Pdal { @@ -88,7 +89,7 @@ public class PointView : IDisposable [DllImport(PDALC_LIBRARY, EntryPoint = "PDALGetAllTriangles")] - private static extern uint getAllTriangles(IntPtr view, [MarshalAs(UnmanagedType.LPArray)] byte[] buf); + private static extern ulong getAllTriangles(IntPtr view, [MarshalAs(UnmanagedType.LPArray)] byte[] buf); public PointView(IntPtr nativeView) @@ -167,15 +168,16 @@ public PointLayout Layout } } - public byte[] GetAllPackedPoints(DimTypeList dims) + public byte[] GetAllPackedPoints(DimTypeList dims, out ulong size) { byte[] data = null; + size = 0; if (this.Size > 0 && dims != null && dims.Size > 0) { ulong byteCount = this.Size * dims.ByteCount; data = new byte[byteCount]; - getAllPackedPoints(mNative, dims.Native, data); + size = getAllPackedPoints(mNative, dims.Native, data); } return data; @@ -194,17 +196,14 @@ public byte[] GetPackedPoint(DimTypeList dims, ulong idx) return data; } - public byte[] GetPackedMesh( out uint size) + public byte[] GetPackedMesh( out ulong size) { byte[] data = null; size = 0; - Console.WriteLine($"native Size {meshSize(mNative)}"); - if (meshSize(mNative) > 0) { ulong byteCount = meshSize(mNative) * 12; - Console.WriteLine($"bytecount Size {byteCount}"); data = new byte[byteCount]; size = getAllTriangles(mNative, data); } @@ -225,11 +224,12 @@ public PointView Clone() return clonedView; } - public BpcData GetBakedPointCloud(long size) { + public BpcData GetBakedPointCloud() { BpcData pc; + ulong size; PointLayout layout = Layout; DimTypeList typelist = layout.Types; - byte[] data = GetAllPackedPoints(typelist); + byte[] data = GetAllPackedPoints(typelist, out size); List positions = new List(); List colors = new List(); @@ -250,15 +250,15 @@ public BpcData GetBakedPointCloud(long size) { count += interpretationByteCount; } - for (long i = 0; i < size; i++) { - positions.Add( new Vector3d(parseDouble(data, types["X"], (int) (i * pointSize + indexs["X"])), - parseDouble(data, types["Y"], (int) (i * pointSize + indexs["Y"])), - parseDouble(data, types["Z"], (int) (i * pointSize + indexs["Z"])) + for (long i = 0; i < (long)size; i += pointSize) { + positions.Add( new Vector3d(parseDouble(data, types["X"], (int) (i + indexs["X"])), + parseDouble(data, types["Y"], (int) (i + indexs["Y"])), + parseDouble(data, types["Z"], (int) (i + indexs["Z"])) )); if (hasColor) - colors.Add(new Vector3f((float) parseColor(data, types["Red"], (int) (i * pointSize + indexs["Red"])), - (float) parseColor(data, types["Green"], (int) (i * pointSize + indexs["Green"])), - (float) parseColor(data, types["Blue"], (int) (i * pointSize + indexs["Blue"])) + colors.Add(new Vector3f((float) parseColor(data, types["Red"], (int) (i + indexs["Red"])), + (float) parseColor(data, types["Green"], (int) (i + indexs["Green"])), + (float) parseColor(data, types["Blue"], (int) (i + indexs["Blue"])) )); } @@ -270,23 +270,35 @@ public BpcData GetBakedPointCloud(long size) { public DMesh3 getMesh() { - uint size; + BpcData pc = GetBakedPointCloud(); + + ulong size; byte[] data = GetPackedMesh(out size); + Console.WriteLine($"Rawmesh size: {size}"); - if (size < 0 ) - { - List tris = new List(); - for (int i=0; i < (int)size; i++) - { - int position = i * 12; - tris.Add(BitConverter.ToUInt32(data, position)); - tris.Add(BitConverter.ToUInt32(data, position + 4)); - tris.Add(BitConverter.ToUInt32(data, position + 8)); + List tris = new List(); + + if (size > 0) + { + for (int position = 0; position < (int)size; position += 12) + { + tris.Add((int)BitConverter.ToUInt32(data, position)); + tris.Add((int)BitConverter.ToUInt32(data, position + 4)); + tris.Add((int)BitConverter.ToUInt32(data, position + 8)); } } - return default; + DMesh3 dmesh = DMesh3Builder.Build(pc.positions, tris); + if (pc.colors.Count() > 0) + { + dmesh.EnableVertexColors(new Vector3f()); + foreach (int idx in dmesh.VertexIndices()) + { + dmesh.SetVertexColor(idx, pc.colors.ElementAt(idx)); + } + } + return dmesh; } private double parseDouble(byte[] buffer, string interpretationName, int position) { From 7da35020da35d42fe0559648ae01b56135116b20 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 07:10:22 +0100 Subject: [PATCH 28/73] astyle changes --- source/pdal/pdalc_pointview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 473d416..ba2f805 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -212,7 +212,7 @@ extern "C" pdal::capi::PointView* wrapper = reinterpret_cast(view); pdal::TriangularMesh* mesh=(*wrapper)->mesh(); - return mesh ? static_cast( (*mesh).size()) : 0; + return mesh ? static_cast((*mesh).size()) : 0; } uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) From 6f955f63624aebe5592f3836ce7a28d1f4c70a84 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 07:13:10 +0100 Subject: [PATCH 29/73] updates to actions --- .github/workflows/linux_test.yml | 2 +- .github/workflows/osx_test.yml | 2 +- .github/workflows/windows_test.yml | 2 +- .gitignore | 5 ++++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux_test.yml b/.github/workflows/linux_test.yml index 2507049..05be04c 100644 --- a/.github/workflows/linux_test.yml +++ b/.github/workflows/linux_test.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Install Conda - uses: conda-incubator/setup-miniconda@v1.7.0 + uses: conda-incubator/setup-miniconda@v2 - name: Install PDAL shell: bash -l {0} diff --git a/.github/workflows/osx_test.yml b/.github/workflows/osx_test.yml index b4f6cdb..d367c6a 100644 --- a/.github/workflows/osx_test.yml +++ b/.github/workflows/osx_test.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Install Conda - uses: conda-incubator/setup-miniconda@v1.7.0 + uses: conda-incubator/setup-miniconda@v2 - name: Install PDAL shell: bash -l {0} diff --git a/.github/workflows/windows_test.yml b/.github/workflows/windows_test.yml index 35dc99d..581886d 100644 --- a/.github/workflows/windows_test.yml +++ b/.github/workflows/windows_test.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Install Conda - uses: conda-incubator/setup-miniconda@v1.7.0 + uses: conda-incubator/setup-miniconda@v2 - name: Install PDAL shell: pwsh diff --git a/.gitignore b/.gitignore index 4b85f2e..f359ea6 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,9 @@ tests/pdal/test_pdalc_*.c *.o *.obj *.elf +*.sln +bin/ +obj/ # Linker output *.ilk @@ -72,4 +75,4 @@ Data/ Doxyfile *.tcl -Testing/ \ No newline at end of file +Testing/ From cd2272b403aecfee01e74d98e367667cd3a0078f Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 30 Apr 2021 06:24:34 +0000 Subject: [PATCH 30/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 10 +- docs/doxygen/html/annotated.html | 10 +- docs/doxygen/html/classes.html | 27 ++--- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 10 +- docs/doxygen/html/doxygen.css | 107 ++++++++++++++---- docs/doxygen/html/files.html | 10 +- docs/doxygen/html/functions.html | 10 +- docs/doxygen/html/functions_vars.html | 10 +- docs/doxygen/html/globals.html | 10 +- docs/doxygen/html/globals_func.html | 10 +- docs/doxygen/html/globals_type.html | 10 +- docs/doxygen/html/index.html | 52 +++++++-- docs/doxygen/html/navtreedata.js | 14 ++- docs/doxygen/html/navtreeindex0.js | 9 ++ docs/doxygen/html/pdalc_8h.html | 10 +- docs/doxygen/html/pdalc_8h_source.html | 22 ++-- docs/doxygen/html/pdalc__config_8h.html | 10 +- .../doxygen/html/pdalc__config_8h_source.html | 35 +++--- docs/doxygen/html/pdalc__defines_8h.html | 10 +- .../html/pdalc__defines_8h_source.html | 16 +-- docs/doxygen/html/pdalc__dimtype_8h.html | 10 +- .../html/pdalc__dimtype_8h_source.html | 27 +++-- docs/doxygen/html/pdalc__forward_8h.html | 10 +- .../html/pdalc__forward_8h_source.html | 30 ++--- docs/doxygen/html/pdalc__pipeline_8h.html | 10 +- .../html/pdalc__pipeline_8h_source.html | 32 +++--- docs/doxygen/html/pdalc__pointlayout_8h.html | 10 +- .../html/pdalc__pointlayout_8h_source.html | 21 ++-- docs/doxygen/html/pdalc__pointview_8h.html | 10 +- .../html/pdalc__pointview_8h_source.html | 33 +++--- .../html/pdalc__pointviewiterator_8h.html | 10 +- .../pdalc__pointviewiterator_8h_source.html | 20 ++-- docs/doxygen/html/search/all_0.html | 13 ++- docs/doxygen/html/search/all_1.html | 13 ++- docs/doxygen/html/search/all_2.html | 13 ++- docs/doxygen/html/search/all_3.html | 13 ++- docs/doxygen/html/search/all_4.html | 13 ++- docs/doxygen/html/search/all_5.html | 13 ++- docs/doxygen/html/search/classes_0.html | 13 ++- docs/doxygen/html/search/files_0.html | 13 ++- docs/doxygen/html/search/files_1.html | 13 ++- docs/doxygen/html/search/functions_0.html | 13 ++- docs/doxygen/html/search/nomatches.html | 3 +- docs/doxygen/html/search/pages_0.html | 13 ++- docs/doxygen/html/search/search.css | 4 +- docs/doxygen/html/search/search.js | 12 +- docs/doxygen/html/search/typedefs_0.html | 13 ++- docs/doxygen/html/search/variables_0.html | 13 ++- docs/doxygen/html/search/variables_1.html | 13 ++- docs/doxygen/html/search/variables_2.html | 13 ++- docs/doxygen/html/search/variables_3.html | 13 ++- .../doxygen/html/struct_p_d_a_l_dim_type.html | 10 +- 52 files changed, 497 insertions(+), 365 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index fecebc1..b6668dd 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -3,7 +3,7 @@ - + pdal-c: /github/workspace/README.md File Reference @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -93,7 +93,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 9903c36..830589a 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structures @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -97,7 +97,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 5b93440..9d7320e 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structure Index @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -87,23 +87,18 @@
Data Structure Index
- - - - - - - - -
  p  
-
PDALDimType   
- + +
+
+
P
+
PDALDimType
+
diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index 49dd1ad..d6a4011 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -3,7 +3,7 @@ - + pdal-c: pdal Directory Reference @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -122,7 +122,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index f640966..ffbff02 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.20 */ +/* The standard CSS for doxygen 1.9.1 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -103,30 +103,96 @@ caption { } span.legend { - font-size: 70%; - text-align: center; + font-size: 70%; + text-align: center; } h3.version { - font-size: 90%; - text-align: center; + font-size: 90%; + text-align: center; } -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; } -div.qindex, div.navpath { +div.qindex{ + text-align: center; width: 100%; line-height: 140%; + font-size: 130%; + color: #A0A0A0; } -div.navtab { - margin-right: 15px; +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; } +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + /* @group Link Styling */ a { @@ -143,17 +209,6 @@ a:hover { text-decoration: underline; } -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #FFFFFF; - border: 1px double #869DCA; -} - .contents a.qindexHL:visited { color: #FFFFFF; } @@ -1426,6 +1481,12 @@ div.toc li.level4 { margin-left: 45px; } +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + .PageDocRTL-title div.toc li.level1 { margin-left: 0 !important; margin-right: 0; diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 6677ae5..511b32f 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -3,7 +3,7 @@ - + pdal-c: File List @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -106,7 +106,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index 146b6c6..02b21dc 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index b71877c..877d5e7 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields - Variables @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index 72e3bf2..bc10c48 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
pdal-c -  v2.0.0 +  2.1.1
C API for PDAL
@@ -35,10 +35,10 @@ - + @@ -263,7 +263,7 @@

- p -

    diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index c44e520..84689cd 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
    pdal-c -  v2.0.0 +  2.1.1
    C API for PDAL
    @@ -35,10 +35,10 @@ - + @@ -245,7 +245,7 @@

    - p -

      diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index d67724d..5fc7ff9 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -108,7 +108,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index b5c020e..96d4a46 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -3,7 +3,7 @@ - + pdal-c: pdal-c: PDAL C API @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -89,15 +89,53 @@

      )

      -

      pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

      -

      pdal-c is released under the BSD 3-clause license.

      +

      +Basics

      +

      pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

      +

      pdal-c is released under the BSD 3-clause license.

      +

      +Documentation

      +

      API Documentation

      +

      +Installation

      +

      The library can be installed as a package on Windows, Mac and Linux using Conda.

      +
      conda install -c conda-forge pdal-c
      +

      The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

      +

      +Dependencies

      +

      The library is dependent on PDAL and has currently been tested up to v2.2.0.

      +

      +Usage

      +

      An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

      +

      NOTE - these scripts are provided for information only as examples and are not supported in any way!

      +

      +For Developers

      +

      +Build on Windows

      +

      The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

      +
      cd CAPI
      +
      make.bat
      +

      +Build on Linux and Mac

      +

      The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

      +
      cd CAPI
      +
      cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCONDA_BUILD=OFF .
      +
      make
      +
      make install
      +

      +Code Style

      +

      This project enforces the PDAL code styles, which can checked as follows :

      +
        +
      • On Windows - as per astylerc
      • +
      • On Linux by running ./check_all.bash
      • +
      diff --git a/docs/doxygen/html/navtreedata.js b/docs/doxygen/html/navtreedata.js index 50ae779..22e8a9e 100644 --- a/docs/doxygen/html/navtreedata.js +++ b/docs/doxygen/html/navtreedata.js @@ -25,7 +25,19 @@ var NAVTREE = [ [ "pdal-c", "index.html", [ - [ "pdal-c: PDAL C API", "index.html", null ], + [ "pdal-c: PDAL C API", "index.html", [ + [ "Basics", "index.html#autotoc_md0", null ], + [ "Documentation", "index.html#autotoc_md1", null ], + [ "Installation", "index.html#autotoc_md2", [ + [ "Dependencies", "index.html#autotoc_md3", null ] + ] ], + [ "Usage", "index.html#autotoc_md4", null ], + [ "For Developers", "index.html#autotoc_md5", [ + [ "Build on Windows", "index.html#autotoc_md6", null ], + [ "Build on Linux and Mac", "index.html#autotoc_md7", null ], + [ "Code Style", "index.html#autotoc_md8", null ] + ] ] + ] ], [ "Data Structures", "annotated.html", [ [ "Data Structures", "annotated.html", "annotated_dup" ], [ "Data Structure Index", "classes.html", null ], diff --git a/docs/doxygen/html/navtreeindex0.js b/docs/doxygen/html/navtreeindex0.js index e1948cd..1ad6d12 100644 --- a/docs/doxygen/html/navtreeindex0.js +++ b/docs/doxygen/html/navtreeindex0.js @@ -11,6 +11,15 @@ var NAVTREEINDEX0 = "globals_type.html":[2,1,2], "index.html":[], "index.html":[0], +"index.html#autotoc_md0":[0,0], +"index.html#autotoc_md1":[0,1], +"index.html#autotoc_md2":[0,2], +"index.html#autotoc_md3":[0,2,0], +"index.html#autotoc_md4":[0,3], +"index.html#autotoc_md5":[0,4], +"index.html#autotoc_md6":[0,4,0], +"index.html#autotoc_md7":[0,4,1], +"index.html#autotoc_md8":[0,4,2], "pages.html":[], "pdalc_8h.html":[2,0,0,0], "pdalc_8h_source.html":[2,0,0,0], diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index 11023e8..1cb7ec3 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index 0c3af77..e09a963 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -127,19 +127,19 @@
      39 
      40 #endif
      - - -
      Functions to inspect the contents of a PDAL point view iterator.
      -
      Functions to inspect the contents of a PDAL point view.
      -
      Functions to launch and inspect the results of a PDAL pipeline.
      -
      Functions to inspect the contents of a PDAL point layout.
      Functions to retrieve PDAL version and configuration information.
      Functions to inspect PDAL dimension types.
      +
      Functions to launch and inspect the results of a PDAL pipeline.
      +
      Functions to inspect the contents of a PDAL point layout.
      +
      Functions to inspect the contents of a PDAL point view.
      +
      Functions to inspect the contents of a PDAL point view iterator.
      + + diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index 652f1c5..fb44572 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -556,7 +556,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index 66b6e53..d5d981b 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -132,7 +132,6 @@
      48 #else
      49 #include <stddef.h> // for size_t
      50 #endif
      -
      51 
      58 PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
      59 
      67 PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
      @@ -166,27 +165,27 @@
      185 #endif
      186 
      187 #endif
      - - -
      PDALC_API void PDALSetGdalDataPath(const char *path)
      Sets the path to the GDAL data directory.
      -
      PDALC_API size_t PDALSha1(char *sha1, size_t size)
      Retrieves PDAL's Git commit SHA1 as a string.
      -
      Forward declarations for the PDAL C API.
      -
      PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
      Retrieves the path to the GDAL data directory.
      -
      PDALC_API int PDALVersionInteger()
      Returns an integer representation of the PDAL version.
      -
      PDALC_API size_t PDALFullVersionString(char *version, size_t size)
      Retrieves the full PDAL version string.
      -
      PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size)
      Retrieves the path to the proj4 data directory.
      -
      PDALC_API size_t PDALVersionString(char *version, size_t size)
      Retrieves the PDAL version string.
      PDALC_API int PDALVersionMinor()
      Returns the PDAL minor version number.
      PDALC_API int PDALVersionMajor()
      Returns the PDAL major version number.
      +
      PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
      Retrieves the path to the GDAL data directory.
      +
      PDALC_API int PDALVersionPatch()
      Returns the PDAL patch version number.
      PDALC_API size_t PDALDebugInformation(char *info, size_t size)
      Retrieves PDAL debugging information.
      -
      PDALC_API void PDALSetProj4DataPath(const char *path)
      Sets the path to the proj4 data directory.
      PDALC_API size_t PDALPluginInstallPath(char *path, size_t size)
      Retrieves the path to the PDAL installation.
      -
      PDALC_API int PDALVersionPatch()
      Returns the PDAL patch version number.
      +
      PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size)
      Retrieves the path to the proj4 data directory.
      +
      PDALC_API void PDALSetProj4DataPath(const char *path)
      Sets the path to the proj4 data directory.
      +
      PDALC_API int PDALVersionInteger()
      Returns an integer representation of the PDAL version.
      +
      PDALC_API void PDALSetGdalDataPath(const char *path)
      Sets the path to the GDAL data directory.
      +
      PDALC_API size_t PDALVersionString(char *version, size_t size)
      Retrieves the PDAL version string.
      +
      PDALC_API size_t PDALFullVersionString(char *version, size_t size)
      Retrieves the full PDAL version string.
      +
      PDALC_API size_t PDALSha1(char *sha1, size_t size)
      Retrieves PDAL's Git commit SHA1 as a string.
      +
      Forward declarations for the PDAL C API.
      + + diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 48cb957..2d0f040 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index b335535..5069928 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -128,9 +128,9 @@
      39 // GCC-compatible
      40 #elif defined(__GNUC__)
      41 #if defined(__ELF__)
      -
      42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
      -
      43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
      -
      44 #define PDALC_STATIC_API __attribute__((visibility("default")))
      +
      42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
      +
      43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
      +
      44 #define PDALC_STATIC_API __attribute__((visibility("default")))
      45 // Use symbols compatible with Visual Studio in Windows
      46 #elif defined(_WIN32)
      47 #define PDALC_EXPORT_API __declspec(dllexport)
      @@ -158,7 +158,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 9643507..6480ed4 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -392,7 +392,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 7e155ac..4a14415 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -132,7 +132,6 @@
      48 #else
      49 #include <stddef.h> // for size_t
      50 #endif
      -
      51 
      58 
      @@ -156,24 +155,24 @@
      130 }
      131 #endif
      132 #endif
      - - -
      PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
      Returns the dimension type at the provided index from a dimension type list.
      PDALC_API PDALDimType PDALGetInvalidDimType()
      Returns the invalid dimension type.
      -
      Forward declarations for the PDAL C API.
      PDALC_API void PDALDisposeDimTypeList(PDALDimTypeListPtr types)
      Disposes the provided dimension type list.
      -
      PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
      Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
      -
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      -
      PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
      Returns the number of elements in a dimension type list.
      +
      PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
      Returns the number of bytes required to store data referenced by a dimension type list.
      PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size)
      Retrieves the name of a dimension type's ID.
      +
      PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
      Returns the dimension type at the provided index from a dimension type list.
      PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size)
      Retrieves the name of a dimension type's interpretation, i.e., its data type.
      -
      PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
      Returns the number of bytes required to store data referenced by a dimension type list.
      +
      PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
      Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
      +
      PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
      Returns the number of elements in a dimension type list.
      +
      Forward declarations for the PDAL C API.
      +
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      A dimension type.
      Definition: pdalc_forward.h:79
      + + diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index e37d1ae..03f4667 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -228,7 +228,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 23f0508..2f0ea67 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -182,25 +182,25 @@
      110 
      111 #endif /* PDALC_FORWARD_H */
      - - -
      double offset
      The dimension's offset value.
      Definition: pdalc_forward.h:90
      -
      uint64_t PDALPointId
      An index to a point in a list.
      Definition: pdalc_forward.h:100
      -
      uint32_t type
      The dimension's interpretation type.
      Definition: pdalc_forward.h:84
      + +
      void * PDALPointViewPtr
      A pointer to point view.
      Definition: pdalc_forward.h:106
      void * PDALPointViewIteratorPtr
      A pointer to a point view iterator.
      Definition: pdalc_forward.h:109
      -
      void * PDALPointLayoutPtr
      A pointer to a point layout.
      Definition: pdalc_forward.h:103
      -
      uint32_t id
      The dimension's identifier.
      Definition: pdalc_forward.h:81
      +
      uint64_t PDALPointId
      An index to a point in a list.
      Definition: pdalc_forward.h:100
      void * PDALPipelinePtr
      A pointer to a pipeline.
      Definition: pdalc_forward.h:97
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      -
      double scale
      The dimension's scaling factor.
      Definition: pdalc_forward.h:87
      - -
      void * PDALPointViewPtr
      A pointer to point view.
      Definition: pdalc_forward.h:106
      +
      void * PDALPointLayoutPtr
      A pointer to a point layout.
      Definition: pdalc_forward.h:103
      A dimension type.
      Definition: pdalc_forward.h:79
      +
      double offset
      The dimension's offset value.
      Definition: pdalc_forward.h:90
      +
      uint32_t id
      The dimension's identifier.
      Definition: pdalc_forward.h:81
      +
      double scale
      The dimension's scaling factor.
      Definition: pdalc_forward.h:87
      +
      uint32_t type
      The dimension's interpretation type.
      Definition: pdalc_forward.h:84
      + + diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index 3ca52a0..542b881 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -521,7 +521,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index 7efec0f..ae9105e 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -164,27 +164,27 @@
      161 }
      162 #endif /* _cplusplus */
      163 #endif /* PDALC_PIPELINE_H */
      - - -
      PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
      Retrieves a pipeline's execution log.
      -
      PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
      Returns a pipeline's log level.
      Forward declarations for the PDAL C API.
      -
      PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
      Validates a pipeline.
      -
      PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
      Sets a pipeline's log level.
      void * PDALPointViewIteratorPtr
      A pointer to a point view iterator.
      Definition: pdalc_forward.h:109
      -
      PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
      Retrieves a pipeline's computed metadata.
      -
      PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
      Retrieves a pipeline's computed schema.
      -
      PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size)
      Retrieves a string representation of a pipeline.
      -
      PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline)
      Gets the resulting point views from a pipeline execution.
      void * PDALPipelinePtr
      A pointer to a pipeline.
      Definition: pdalc_forward.h:97
      -
      PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
      Executes a pipeline.
      PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline)
      Disposes a PDAL pipeline.
      +
      PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
      Executes a pipeline.
      PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
      Creates a PDAL pipeline from a JSON text string.
      +
      PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
      Sets a pipeline's log level.
      +
      PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
      Returns a pipeline's log level.
      +
      PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
      Retrieves a pipeline's computed schema.
      +
      PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
      Validates a pipeline.
      +
      PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size)
      Retrieves a string representation of a pipeline.
      +
      PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
      Retrieves a pipeline's execution log.
      +
      PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
      Retrieves a pipeline's computed metadata.
      +
      PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline)
      Gets the resulting point views from a pipeline execution.
      + + diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index 7809d9e..e406620 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -291,7 +291,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 39f23fa..3dd50f3 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -132,7 +132,6 @@
      49 #else
      50 #include <stddef.h> // for size_t
      51 #endif
      -
      52 
      62 
      71 PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name);
      @@ -150,22 +149,22 @@
      105 #endif
      106 
      107 #endif
      - -
      Forward declarations for the PDAL C API.
      -
      PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name)
      Returns the byte size of a dimension type value within a layout.
      -
      PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout)
      Returns the byte size of a point in the provided layout.
      +
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      void * PDALPointLayoutPtr
      A pointer to a point layout.
      Definition: pdalc_forward.h:103
      +
      PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name)
      Returns the byte size of a dimension type value within a layout.
      PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout)
      Returns the list of dimension types used by the provided layout.
      +
      PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout)
      Returns the byte size of a point in the provided layout.
      PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name)
      Finds the dimension type identified by the provided name in a layout.
      -
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      PDALC_API size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name)
      Returns the byte offset of a dimension type within a layout.
      A dimension type.
      Definition: pdalc_forward.h:79
      + + diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 2914774..7fb360a 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -504,7 +504,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index bd3b1dc..6ab5a15 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -134,7 +134,6 @@
      50 #include <stddef.h> // for size_t
      51 #include <stdint.h> // for uint64_t
      52 #endif
      -
      53 
      59 
      @@ -162,28 +161,28 @@
      174 #endif /* __cplusplus */
      175 
      176 #endif
      - - -
      PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
      Retrieves data for all points based on the provided dimension list.
      -
      PDALC_API PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view)
      Clones the provided point view.
      Forward declarations for the PDAL C API.
      +
      void * PDALPointViewPtr
      A pointer to point view.
      Definition: pdalc_forward.h:106
      uint64_t PDALPointId
      An index to a point in a list.
      Definition: pdalc_forward.h:100
      -
      PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer)
      Retrieves data for a point based on the provided dimension list.
      -
      PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty)
      Returns the Well-Known Text (WKT) projection string for the provided point view.
      +
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      void * PDALPointLayoutPtr
      A pointer to a point layout.
      Definition: pdalc_forward.h:103
      -
      PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view)
      Returns the point layout for the provided point view.
      +
      PDALC_API int PDALGetPointViewId(PDALPointViewPtr view)
      Returns the ID of the provided point view.
      +
      PDALC_API void PDALDisposePointView(PDALPointViewPtr view)
      Disposes the provided point view.
      +
      PDALC_API PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view)
      Clones the provided point view.
      PDALC_API bool PDALIsPointViewEmpty(PDALPointViewPtr view)
      Returns whether the provided point view is empty, i.e., has no points.
      +
      PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer)
      Retrieves data for a point based on the provided dimension list.
      +
      PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
      Retrieves data for all points based on the provided dimension list.
      +
      PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty)
      Returns the Well-Known Text (WKT) projection string for the provided point view.
      PDALC_API size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size)
      Returns the proj4 projection string for the provided point view.
      -
      void * PDALDimTypeListPtr
      A pointer to a dimension type list.
      Definition: pdalc_forward.h:94
      -
      PDALC_API void PDALDisposePointView(PDALPointViewPtr view)
      Disposes the provided point view.
      -
      PDALC_API int PDALGetPointViewId(PDALPointViewPtr view)
      Returns the ID of the provided point view.
      PDALC_API uint64_t PDALGetPointViewSize(PDALPointViewPtr view)
      Returns the number of points in the provided view.
      -
      void * PDALPointViewPtr
      A pointer to point view.
      Definition: pdalc_forward.h:106
      +
      PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view)
      Returns the point layout for the provided point view.
      + + diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index fa19a4e..b61909b 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h File Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -226,7 +226,7 @@

        - +
      diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 864fa5d..6182d23 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h Source File @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -162,20 +162,20 @@
      103 #endif /* __cplusplus */
      104 
      105 #endif
      - - -
      PDALC_API void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr)
      Disposes the provided point view iterator.
      Forward declarations for the PDAL C API.
      +
      void * PDALPointViewPtr
      A pointer to point view.
      Definition: pdalc_forward.h:106
      void * PDALPointViewIteratorPtr
      A pointer to a point view iterator.
      Definition: pdalc_forward.h:109
      PDALC_API void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr)
      Resets the provided point view iterator to its starting position.
      -
      PDALC_API PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr)
      Returns the next available point view in the provided iterator.
      PDALC_API bool PDALHasNextPointView(PDALPointViewIteratorPtr itr)
      Returns whether another point view is available in the provided iterator.
      -
      void * PDALPointViewPtr
      A pointer to point view.
      Definition: pdalc_forward.h:106
      +
      PDALC_API void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr)
      Disposes the provided point view iterator.
      +
      PDALC_API PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr)
      Returns the next available point view in the provided iterator.
      + + diff --git a/docs/doxygen/html/search/all_0.html b/docs/doxygen/html/search/all_0.html index a34319f..1ec5b2d 100644 --- a/docs/doxygen/html/search/all_0.html +++ b/docs/doxygen/html/search/all_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/all_1.html b/docs/doxygen/html/search/all_1.html index 51aff6f..9f80e90 100644 --- a/docs/doxygen/html/search/all_1.html +++ b/docs/doxygen/html/search/all_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/all_2.html b/docs/doxygen/html/search/all_2.html index 1f81f66..02cfffc 100644 --- a/docs/doxygen/html/search/all_2.html +++ b/docs/doxygen/html/search/all_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/all_3.html b/docs/doxygen/html/search/all_3.html index 2e31ab9..39767b8 100644 --- a/docs/doxygen/html/search/all_3.html +++ b/docs/doxygen/html/search/all_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/all_4.html b/docs/doxygen/html/search/all_4.html index 0540c16..fc40463 100644 --- a/docs/doxygen/html/search/all_4.html +++ b/docs/doxygen/html/search/all_4.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/all_5.html b/docs/doxygen/html/search/all_5.html index ebec30b..9dd9344 100644 --- a/docs/doxygen/html/search/all_5.html +++ b/docs/doxygen/html/search/all_5.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/classes_0.html b/docs/doxygen/html/search/classes_0.html index 7e0afc8..af8159e 100644 --- a/docs/doxygen/html/search/classes_0.html +++ b/docs/doxygen/html/search/classes_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/files_0.html b/docs/doxygen/html/search/files_0.html index 76b64f5..9498842 100644 --- a/docs/doxygen/html/search/files_0.html +++ b/docs/doxygen/html/search/files_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/files_1.html b/docs/doxygen/html/search/files_1.html index c8edef8..7050ef4 100644 --- a/docs/doxygen/html/search/files_1.html +++ b/docs/doxygen/html/search/files_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/functions_0.html b/docs/doxygen/html/search/functions_0.html index f04535a..eb4c501 100644 --- a/docs/doxygen/html/search/functions_0.html +++ b/docs/doxygen/html/search/functions_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/nomatches.html b/docs/doxygen/html/search/nomatches.html index 4377320..2b9360b 100644 --- a/docs/doxygen/html/search/nomatches.html +++ b/docs/doxygen/html/search/nomatches.html @@ -1,5 +1,6 @@ - + + diff --git a/docs/doxygen/html/search/pages_0.html b/docs/doxygen/html/search/pages_0.html index a281c4b..8517b48 100644 --- a/docs/doxygen/html/search/pages_0.html +++ b/docs/doxygen/html/search/pages_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/search.css b/docs/doxygen/html/search/search.css index 933cf08..9074198 100644 --- a/docs/doxygen/html/search/search.css +++ b/docs/doxygen/html/search/search.css @@ -204,19 +204,21 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; + font-family: Arial, Verdana, sans-serif; } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; + font-family: Arial, Verdana, sans-serif; } .SRResult { display: none; } -DIV.searchresults { +div.searchresults { margin-left: 10px; margin-right: 10px; } diff --git a/docs/doxygen/html/search/search.js b/docs/doxygen/html/search/search.js index 92b6094..fb226f7 100644 --- a/docs/doxygen/html/search/search.js +++ b/docs/doxygen/html/search/search.js @@ -80,9 +80,10 @@ function getYPos(item) storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ -function SearchBox(name, resultsPath, inFrame, label) +function SearchBox(name, resultsPath, inFrame, label, extension) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + if (!extension || extension == "") { extension = ".html"; } // ---------- Instance variables this.name = name; @@ -97,6 +98,7 @@ function SearchBox(name, resultsPath, inFrame, label) this.searchActive = false; this.insideFrame = inFrame; this.searchLabel = label; + this.extension = extension; // ----------- DOM Elements @@ -347,13 +349,13 @@ function SearchBox(name, resultsPath, inFrame, label) if (idx!=-1) { var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; resultsPageWithSearch = resultsPage+'?'+escape(searchValue); hasResultsPage = true; } else // nothing available for this search term { - resultsPage = this.resultsPath + '/nomatches.html'; + resultsPage = this.resultsPath + '/nomatches' + this.extension; resultsPageWithSearch = resultsPage; hasResultsPage = false; } @@ -439,12 +441,12 @@ function SearchResults(name) while (element && element!=parentElement) { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { return element; } - if (element.nodeName == 'DIV' && element.hasChildNodes()) + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { element = element.firstChild; } diff --git a/docs/doxygen/html/search/typedefs_0.html b/docs/doxygen/html/search/typedefs_0.html index b66f0a7..a4684c4 100644 --- a/docs/doxygen/html/search/typedefs_0.html +++ b/docs/doxygen/html/search/typedefs_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/variables_0.html b/docs/doxygen/html/search/variables_0.html index 2edd111..1e477c0 100644 --- a/docs/doxygen/html/search/variables_0.html +++ b/docs/doxygen/html/search/variables_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/variables_1.html b/docs/doxygen/html/search/variables_1.html index 98b95a9..ea73d9a 100644 --- a/docs/doxygen/html/search/variables_1.html +++ b/docs/doxygen/html/search/variables_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/variables_2.html b/docs/doxygen/html/search/variables_2.html index 3e0c591..0580462 100644 --- a/docs/doxygen/html/search/variables_2.html +++ b/docs/doxygen/html/search/variables_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/search/variables_3.html b/docs/doxygen/html/search/variables_3.html index 7867da3..0d69e76 100644 --- a/docs/doxygen/html/search/variables_3.html +++ b/docs/doxygen/html/search/variables_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
      Loading...
      - +
      Searching...
      No Matches
      - +
      diff --git a/docs/doxygen/html/struct_p_d_a_l_dim_type.html b/docs/doxygen/html/struct_p_d_a_l_dim_type.html index 78a3fa9..ff35465 100644 --- a/docs/doxygen/html/struct_p_d_a_l_dim_type.html +++ b/docs/doxygen/html/struct_p_d_a_l_dim_type.html @@ -3,7 +3,7 @@ - + pdal-c: PDALDimType Struct Reference @@ -26,7 +26,7 @@
      pdal-c -  v2.0.0 +  2.1.1
      C API for PDAL
      @@ -35,10 +35,10 @@ - + @@ -181,7 +181,7 @@

        - +
      From 31dd28aedc74facfbe73d574138012e21aca73c5 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 07:26:03 +0100 Subject: [PATCH 31/73] Update update_docs.yml --- .github/workflows/update_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update_docs.yml b/.github/workflows/update_docs.yml index 52ff03b..1e3e501 100644 --- a/.github/workflows/update_docs.yml +++ b/.github/workflows/update_docs.yml @@ -29,7 +29,7 @@ jobs: > Doxyfile - name: Run Doxygen - uses: mattnotmitt/doxygen-action@v1.2.0 + uses: mattnotmitt/doxygen-action@v1.3.0 with: doxyfile-path: 'docs/Doxyfile' From 64dedecef68aca2f79b871c06dbeb0d782b66a88 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 30 Apr 2021 06:27:34 +0000 Subject: [PATCH 32/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 4 ++-- docs/doxygen/html/annotated.html | 4 ++-- docs/doxygen/html/classes.html | 4 ++-- docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 4 ++-- docs/doxygen/html/files.html | 4 ++-- docs/doxygen/html/functions.html | 4 ++-- docs/doxygen/html/functions_vars.html | 4 ++-- docs/doxygen/html/globals.html | 4 ++-- docs/doxygen/html/globals_func.html | 4 ++-- docs/doxygen/html/globals_type.html | 4 ++-- docs/doxygen/html/index.html | 4 ++-- docs/doxygen/html/pdalc_8h.html | 4 ++-- docs/doxygen/html/pdalc_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__config_8h.html | 4 ++-- docs/doxygen/html/pdalc__config_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__defines_8h.html | 4 ++-- docs/doxygen/html/pdalc__defines_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__dimtype_8h.html | 4 ++-- docs/doxygen/html/pdalc__dimtype_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__forward_8h.html | 4 ++-- docs/doxygen/html/pdalc__forward_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pipeline_8h.html | 4 ++-- docs/doxygen/html/pdalc__pipeline_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pointlayout_8h.html | 4 ++-- docs/doxygen/html/pdalc__pointlayout_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pointview_8h.html | 4 ++-- docs/doxygen/html/pdalc__pointview_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pointviewiterator_8h.html | 4 ++-- docs/doxygen/html/pdalc__pointviewiterator_8h_source.html | 4 ++-- docs/doxygen/html/struct_p_d_a_l_dim_type.html | 4 ++-- 30 files changed, 60 insertions(+), 60 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index b6668dd..4269159 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -93,7 +93,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 830589a..90ca12c 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -97,7 +97,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 9d7320e..c398f9f 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -98,7 +98,7 @@ diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index d6a4011..cfc9bf1 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -122,7 +122,7 @@ diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 511b32f..0b696fa 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -106,7 +106,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index 02b21dc..c5fad98 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index 877d5e7..f8ac2d7 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index bc10c48..d0ed22f 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -26,7 +26,7 @@
      pdal-c -  2.1.1 +  test2
      C API for PDAL
      @@ -263,7 +263,7 @@

      - p -

        diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index 84689cd..8026fa0 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -26,7 +26,7 @@
        pdal-c -  2.1.1 +  test2
        C API for PDAL
        @@ -245,7 +245,7 @@

        - p -

          diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 5fc7ff9..2538644 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -108,7 +108,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index 96d4a46..ccc0242 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -135,7 +135,7 @@

          diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index 1cb7ec3..762aab8 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index e09a963..82f30d6 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -139,7 +139,7 @@ diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index fb44572..a4b1fd9 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -556,7 +556,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index d5d981b..dadc0fa 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -185,7 +185,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 2d0f040..ce88e49 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 5069928..0a5d28c 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -158,7 +158,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 6480ed4..1113c6e 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -392,7 +392,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 4a14415..4fc1329 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -172,7 +172,7 @@ diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index 03f4667..d306790 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -228,7 +228,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 2f0ea67..89eddf7 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -200,7 +200,7 @@ diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index 542b881..c5c6fc5 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -521,7 +521,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index ae9105e..ca86d04 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -184,7 +184,7 @@ diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index e406620..b858f40 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -291,7 +291,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 3dd50f3..b6d57c8 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -164,7 +164,7 @@ diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 7fb360a..b409082 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -504,7 +504,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index 6ab5a15..a84de98 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -182,7 +182,7 @@ diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index b61909b..2c197c5 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -226,7 +226,7 @@

            - +
          diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 6182d23..3e9ae4a 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -175,7 +175,7 @@ diff --git a/docs/doxygen/html/struct_p_d_a_l_dim_type.html b/docs/doxygen/html/struct_p_d_a_l_dim_type.html index ff35465..81c10b2 100644 --- a/docs/doxygen/html/struct_p_d_a_l_dim_type.html +++ b/docs/doxygen/html/struct_p_d_a_l_dim_type.html @@ -26,7 +26,7 @@
          pdal-c -  2.1.1 +  test2
          C API for PDAL
          @@ -181,7 +181,7 @@

            - +
          From 63b4781fcbab79e2b3f3391a1f5a43511ce39c7f Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 07:43:08 +0100 Subject: [PATCH 33/73] astyle changes --- source/pdal/CMakeLists.txt | 82 +++--- source/pdal/pdalc_dimtype.cpp | 138 ++++----- source/pdal/pdalc_forward.h | 16 +- source/pdal/pdalc_pipeline.cpp | 358 ++++++++++++------------ source/pdal/pdalc_pointlayout.cpp | 80 +++--- source/pdal/pdalc_pointview.cpp | 282 +++++++++---------- source/pdal/pdalc_pointviewiterator.cpp | 76 ++--- source/pdal/pdalc_pointviewiterator.h | 12 +- 8 files changed, 522 insertions(+), 522 deletions(-) diff --git a/source/pdal/CMakeLists.txt b/source/pdal/CMakeLists.txt index 0a2e82b..7a8715e 100644 --- a/source/pdal/CMakeLists.txt +++ b/source/pdal/CMakeLists.txt @@ -4,65 +4,65 @@ find_package(PDAL REQUIRED CONFIG) message(STATUS "Found PDAL ${PDAL_VERSION}") set(SOURCES - pdalc_config.cpp - pdalc_dimtype.cpp - pdalc_pipeline.cpp - pdalc_pointlayout.cpp - pdalc_pointview.cpp - pdalc_pointviewiterator.cpp -) + pdalc_config.cpp + pdalc_dimtype.cpp + pdalc_pipeline.cpp + pdalc_pointlayout.cpp + pdalc_pointview.cpp + pdalc_pointviewiterator.cpp + ) set(HEADERS - pdalc.h - pdalc_config.h - pdalc_defines.h - pdalc_dimtype.h - pdalc_forward.h - pdalc_pipeline.h - pdalc_pointlayout.h - pdalc_pointview.h - pdalc_pointviewiterator.h -) + pdalc.h + pdalc_config.h + pdalc_defines.h + pdalc_dimtype.h + pdalc_forward.h + pdalc_pipeline.h + pdalc_pointlayout.h + pdalc_pointview.h + pdalc_pointviewiterator.h + ) set(DEPENDENCIES - ${PDAL_LIBRARIES} -) + $ {PDAL_LIBRARIES} + ) link_directories( - ${PDAL_LIBRARY_DIRS} + $ {PDAL_LIBRARY_DIRS} ) include_directories( - ${PDAL_INCLUDE_DIRS} + $ {PDAL_INCLUDE_DIRS} ) -add_definitions(${PDAL_DEFINITIONS}) +add_definitions($ {PDAL_DEFINITIONS}) -add_library(${TARGET} SHARED ${SOURCES} ${HEADERS}) +add_library($ {TARGET} SHARED $ {SOURCES} $ {HEADERS}) string(TOUPPER "${TARGET}_BUILD_DLL" BUILD_SYMBOL) -set_target_properties(${TARGET} PROPERTIES - DEFINE_SYMBOL ${BUILD_SYMBOL} - VERSION ${PDAL_VERSION} - SOVERSION ${PDAL_VERSION} -) +set_target_properties($ {TARGET} PROPERTIES + DEFINE_SYMBOL $ {BUILD_SYMBOL} + VERSION $ {PDAL_VERSION} + SOVERSION $ {PDAL_VERSION} + ) # Measure code coverage on gcc if(CMAKE_COMPILER_IS_GNUCXX AND PDALC_ENABLE_CODE_COVERAGE AND PDALC_ENABLE_TESTS) - SETUP_TARGET_FOR_COVERAGE( - NAME coverage_${TARGET} - EXECUTABLE test_${TARGET} - DEPENDENCIES test_${TARGET} - ) -endif() + SETUP_TARGET_FOR_COVERAGE( + NAME coverage_$ {TARGET} + EXECUTABLE test_$ {TARGET} + DEPENDENCIES test_$ {TARGET} + ) + endif() -target_link_libraries(${TARGET} ${DEPENDENCIES}) + target_link_libraries($ {TARGET} $ {DEPENDENCIES}) -install(TARGETS ${TARGET} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin) + install(TARGETS $ {TARGET} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin) -file(RELATIVE_PATH ${TARGET}_PATH ${CMAKE_SOURCE_DIR}/source ${CMAKE_CURRENT_SOURCE_DIR}) -install(FILES ${HEADERS} DESTINATION include/${${TARGET}_PATH}) + file(RELATIVE_PATH $ {TARGET} _PATH $ {CMAKE_SOURCE_DIR}/source $ {CMAKE_CURRENT_SOURCE_DIR}) + install(FILES $ {HEADERS} DESTINATION include/$ {${TARGET} _PATH}) diff --git a/source/pdal/pdalc_dimtype.cpp b/source/pdal/pdalc_dimtype.cpp index b1d782d..9e771cc 100644 --- a/source/pdal/pdalc_dimtype.cpp +++ b/source/pdal/pdalc_dimtype.cpp @@ -37,122 +37,122 @@ namespace capi { size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types) { - pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); +pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); - size_t size = 0; +size_t size = 0; - if (wrapper && wrapper->get()) +if (wrapper && wrapper->get()) +{ + try { - try - { - pdal::DimTypeList *list = wrapper->get(); - size = list->size(); - } - catch (const std::exception &e) - { - printf("%s\n", e.what()); - } + pdal::DimTypeList *list = wrapper->get(); + size = list->size(); } + catch (const std::exception &e) + { + printf("%s\n", e.what()); + } +} - return size; +return size; } uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types) { - uint64_t byteCount = 0; - size_t pointCount = PDALGetDimTypeListSize(types); +uint64_t byteCount = 0; +size_t pointCount = PDALGetDimTypeListSize(types); - for (size_t i = 0; i < pointCount; ++i) - { - byteCount += PDALGetDimTypeInterpretationByteCount(PDALGetDimType(types, i)); - } +for (size_t i = 0; i < pointCount; ++i) +{ + byteCount += PDALGetDimTypeInterpretationByteCount(PDALGetDimType(types, i)); +} - return byteCount; +return byteCount; } PDALDimType PDALGetInvalidDimType() { - PDALDimType dim = - { - static_cast(pdal::Dimension::id("")), static_cast(pdal::Dimension::type("")), - 1.0, 0.0 - }; +PDALDimType dim = +{ + static_cast(pdal::Dimension::id("")), static_cast(pdal::Dimension::type("")), + 1.0, 0.0 +}; - return dim; +return dim; } size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size) { - size_t result = 0; +size_t result = 0; - if (name && size > 0) - { - std::string s = pdal::Dimension::name( - static_cast(dim.id)); - std::strncpy(name, s.c_str(), size); - result = std::min(std::strlen(name), size); - } +if (name && size > 0) +{ + std::string s = pdal::Dimension::name( + static_cast(dim.id)); + std::strncpy(name, s.c_str(), size); + result = std::min(std::strlen(name), size); +} - return result; +return result; } size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size) { - size_t result = 0; +size_t result = 0; - if (name && size > 0) - { - std::string s = pdal::Dimension::interpretationName( - static_cast(dim.type)); - std::strncpy(name, s.c_str(), size); - result = std::min(std::strlen(name), size); - } +if (name && size > 0) +{ + std::string s = pdal::Dimension::interpretationName( + static_cast(dim.type)); + std::strncpy(name, s.c_str(), size); + result = std::min(std::strlen(name), size); +} - return result; +return result; } size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim) { - return pdal::Dimension::size(static_cast(dim.type)); +return pdal::Dimension::size(static_cast(dim.type)); } PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index) { - pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); +pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); - PDALDimType dim = PDALGetInvalidDimType(); +PDALDimType dim = PDALGetInvalidDimType(); - if (wrapper && wrapper->get()) +if (wrapper && wrapper->get()) +{ + try { - try - { - pdal::DimTypeList *list = wrapper->get(); - - if (index < list->size()) - { - pdal::DimType nativeDim = list->at(index); - dim.id = static_cast(nativeDim.m_id); - dim.type = static_cast(nativeDim.m_type); - dim.scale = nativeDim.m_xform.m_scale.m_val; - dim.offset = nativeDim.m_xform.m_offset.m_val; - } - } - catch (const std::exception &e) + pdal::DimTypeList *list = wrapper->get(); + + if (index < list->size()) { - printf("%s\n", e.what()); + pdal::DimType nativeDim = list->at(index); + dim.id = static_cast(nativeDim.m_id); + dim.type = static_cast(nativeDim.m_type); + dim.scale = nativeDim.m_xform.m_scale.m_val; + dim.offset = nativeDim.m_xform.m_offset.m_val; } } + catch (const std::exception &e) + { + printf("%s\n", e.what()); + } +} - return dim; +return dim; } void PDALDisposeDimTypeList(PDALDimTypeListPtr types) { - if (types) - { - pdal::capi::DimTypeList *ptr = reinterpret_cast(types); - delete ptr; - } +if (types) +{ + pdal::capi::DimTypeList *ptr = reinterpret_cast(types); + delete ptr; +} } } } \ No newline at end of file diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index 89cae54..f909042 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -80,17 +80,17 @@ typedef struct PDALDimType PDALDimType; /// A dimension type struct PDALDimType { - /// The dimension's identifier - uint32_t id; +/// The dimension's identifier +uint32_t id; - /// The dimension's interpretation type - uint32_t type; +/// The dimension's interpretation type +uint32_t type; - /// The dimension's scaling factor - double scale; +/// The dimension's scaling factor +double scale; - /// The dimension's offset value - double offset; +/// The dimension's offset value +double offset; }; /// A pointer to a dimension type list diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index fd7dfe8..85838ea 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -44,267 +44,267 @@ namespace capi { extern "C" { - PDALPipelinePtr PDALCreatePipeline(const char* json) +PDALPipelinePtr PDALCreatePipeline(const char* json) +{ + PDALPipelinePtr pipeline = nullptr; + + if (json && std::strlen(json) > 0) { - PDALPipelinePtr pipeline = nullptr; + pdal::PipelineExecutor *executor = nullptr; + + try + { + pdal::PipelineExecutor stackpipe(json); + executor = new pdal::PipelineExecutor(json); + } + catch (const std::exception &e) + { + printf("Could not create pipeline: %s\n%s\n", e.what(), json); + executor = nullptr; + } - if (json && std::strlen(json) > 0) + if (executor) { - pdal::PipelineExecutor *executor = nullptr; + bool valid = false; try { - pdal::PipelineExecutor stackpipe(json); - executor = new pdal::PipelineExecutor(json); + valid = executor->validate(); } catch (const std::exception &e) { - printf("Could not create pipeline: %s\n%s\n", e.what(), json); - executor = nullptr; + printf("Error while validating pipeline: %s\n%s\n", e.what(), json); } - if (executor) + if (valid) { - bool valid = false; - - try - { - valid = executor->validate(); - } - catch (const std::exception &e) - { - printf("Error while validating pipeline: %s\n%s\n", e.what(), json); - } - - if (valid) - { - pipeline = new Pipeline(executor); - } - else - { - delete executor; - executor = NULL; - printf("The pipeline is invalid:\n%s\n", json); - } + pipeline = new Pipeline(executor); + } + else + { + delete executor; + executor = NULL; + printf("The pipeline is invalid:\n%s\n", json); } } - - return pipeline; } - void PDALDisposePipeline(PDALPipelinePtr pipeline) - { - if (pipeline) - { - Pipeline *ptr = reinterpret_cast(pipeline); - delete ptr; - } - } + return pipeline; +} - size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) +void PDALDisposePipeline(PDALPipelinePtr pipeline) +{ + if (pipeline) { - size_t result = 0; - - if (pipeline && buffer && size > 0) - { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - buffer[0] = '\0'; - buffer[size - 1] = '\0'; - - if (executor) - { - try - { - std::string s = executor->getPipeline(); - std::strncpy(buffer, s.c_str(), size - 1); - result = std::min(s.length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); - } - } - - } - - return result; + Pipeline *ptr = reinterpret_cast(pipeline); + delete ptr; } +} + +size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) +{ + size_t result = 0; - size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) + if (pipeline && buffer && size > 0) { - size_t result = 0; + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + buffer[0] = '\0'; + buffer[size - 1] = '\0'; - if (pipeline && metadata && size > 0) + if (executor) { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - metadata[0] = '\0'; - metadata[size - 1] = '\0'; - - if (executor) + try { - try - { - std::string s = executor->getMetadata(); - std::strncpy(metadata, s.c_str(), size); - result = std::min(s.length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); - } + std::string s = executor->getPipeline(); + std::strncpy(buffer, s.c_str(), size - 1); + result = std::min(s.length(), size); } - } - - return result; - } - - size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) - { - size_t result = 0; - - if (pipeline && schema && size > 0) - { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - schema[0] = '\0'; - schema[size - 1] = '\0'; - - if (executor) + catch (const std::exception &e) { - try - { - std::string s = executor->getSchema(); - std::strncpy(schema, s.c_str(), size); - result = std::min(s.length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's schema: %s\n", e.what()); - } + printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); } } - return result; } - size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) - { - size_t result = 0; - - if (pipeline && log && size > 0) - { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - log[0] = '\0'; - log[size - 1] = '\0'; - - if (executor) - { - try - { - std::string s = executor->getLog(); - std::strncpy(log, s.c_str(), size); - result = std::min(s.length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's log: %s\n", e.what()); - } - } - } + return result; +} - return result; - } +size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) +{ + size_t result = 0; - void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) + if (pipeline && metadata && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + metadata[0] = '\0'; + metadata[size - 1] = '\0'; - if (ptr && ptr->get()) + if (executor) { try { - ptr->get()->setLogLevel(level); + std::string s = executor->getMetadata(); + std::strncpy(metadata, s.c_str(), size); + result = std::min(s.length(), size); } catch (const std::exception &e) { - printf("Found error while setting log level: %s\n", e.what()); + printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); } } } - int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) - { - Pipeline *ptr = reinterpret_cast(pipeline); - return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; - } + return result; +} - int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) +size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) +{ + size_t result = 0; + + if (pipeline && schema && size > 0) { - int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + schema[0] = '\0'; + schema[size - 1] = '\0'; - if (ptr && ptr->get()) + if (executor) { try { - result = ptr->get()->execute(); + std::string s = executor->getSchema(); + std::strncpy(schema, s.c_str(), size); + result = std::min(s.length(), size); } catch (const std::exception &e) { - printf("Found error while executing pipeline: %s", e.what()); + printf("Found error while retrieving pipeline's schema: %s\n", e.what()); } } - - return result; } - bool PDALValidatePipeline(PDALPipelinePtr pipeline) + return result; +} + +size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) +{ + size_t result = 0; + + if (pipeline && log && size > 0) { - int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + log[0] = '\0'; + log[size - 1] = '\0'; - if (ptr && ptr->get()) + if (executor) { try { - result = ptr->get()->validate(); + std::string s = executor->getLog(); + std::strncpy(log, s.c_str(), size); + result = std::min(s.length(), size); } catch (const std::exception &e) { - printf("Found error while validating pipeline: %s", e.what()); + printf("Found error while retrieving pipeline's log: %s\n", e.what()); } } + } + + return result; +} - return result; +void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) +{ + Pipeline *ptr = reinterpret_cast(pipeline); + + if (ptr && ptr->get()) + { + try + { + ptr->get()->setLogLevel(level); + } + catch (const std::exception &e) + { + printf("Found error while setting log level: %s\n", e.what()); + } } +} + +int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) +{ + Pipeline *ptr = reinterpret_cast(pipeline); + return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; +} - PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) +int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) +{ + int64_t result = 0; + Pipeline *ptr = reinterpret_cast(pipeline); + + if (ptr && ptr->get()) { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::capi::PointViewIterator *views = nullptr; + try + { + result = ptr->get()->execute(); + } + catch (const std::exception &e) + { + printf("Found error while executing pipeline: %s", e.what()); + } + } + + return result; +} - if (ptr && ptr->get()) +bool PDALValidatePipeline(PDALPipelinePtr pipeline) +{ + int64_t result = 0; + Pipeline *ptr = reinterpret_cast(pipeline); + + if (ptr && ptr->get()) + { + try { - try - { - auto &v = ptr->get()->getManagerConst().views(); + result = ptr->get()->validate(); + } + catch (const std::exception &e) + { + printf("Found error while validating pipeline: %s", e.what()); + } + } - if (!v.empty()) - { - views = new pdal::capi::PointViewIterator(v); - } - } - catch (const std::exception &e) + return result; +} + +PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) +{ + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::capi::PointViewIterator *views = nullptr; + + if (ptr && ptr->get()) + { + try + { + auto &v = ptr->get()->getManagerConst().views(); + + if (!v.empty()) { - printf("Found error while retrieving point views: %s\n", e.what()); + views = new pdal::capi::PointViewIterator(v); } } - - return views; + catch (const std::exception &e) + { + printf("Found error while retrieving point views: %s\n", e.what()); + } } + + return views; +} } } } diff --git a/source/pdal/pdalc_pointlayout.cpp b/source/pdal/pdalc_pointlayout.cpp index 11ed3d5..253711c 100644 --- a/source/pdal/pdalc_pointlayout.cpp +++ b/source/pdal/pdalc_pointlayout.cpp @@ -41,76 +41,76 @@ namespace capi PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout) { - PDALDimTypeListPtr types = NULL; - pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); +PDALDimTypeListPtr types = NULL; +pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - if (nativeLayout) - { - pdal::DimTypeList *list = new pdal::DimTypeList(nativeLayout->dimTypes()); +if (nativeLayout) +{ + pdal::DimTypeList *list = new pdal::DimTypeList(nativeLayout->dimTypes()); - types = new pdal::capi::DimTypeList(list); - } + types = new pdal::capi::DimTypeList(list); +} - return types; +return types; } PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name) { - PDALDimType dim = PDALGetInvalidDimType(); - pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); +PDALDimType dim = PDALGetInvalidDimType(); +pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - if (name && nativeLayout) - { - pdal::DimType nativeDim = nativeLayout->findDimType(name); +if (name && nativeLayout) +{ + pdal::DimType nativeDim = nativeLayout->findDimType(name); - dim.id = static_cast(nativeDim.m_id); - dim.type = static_cast(nativeDim.m_type); - dim.scale = nativeDim.m_xform.m_scale.m_val; - dim.offset = nativeDim.m_xform.m_offset.m_val; - } + dim.id = static_cast(nativeDim.m_id); + dim.type = static_cast(nativeDim.m_type); + dim.scale = nativeDim.m_xform.m_scale.m_val; + dim.offset = nativeDim.m_xform.m_offset.m_val; +} - return dim; +return dim; } size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name) { - pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - return (name && nativeLayout) ? nativeLayout->dimSize(nativeLayout->findDim(name)) : 0; +pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); +return (name && nativeLayout) ? nativeLayout->dimSize(nativeLayout->findDim(name)) : 0; } size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name) { - size_t offset = 0; +size_t offset = 0; - pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); +pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - if (name && nativeLayout) - { - pdal::DimType type = nativeLayout->findDimType(name); - pdal::DimTypeList dims = nativeLayout->dimTypes(); - std::string nameString = pdal::Dimension::name(type.m_id); +if (name && nativeLayout) +{ + pdal::DimType type = nativeLayout->findDimType(name); + pdal::DimTypeList dims = nativeLayout->dimTypes(); + std::string nameString = pdal::Dimension::name(type.m_id); - for (auto dim : dims) + for (auto dim : dims) + { + if (nameString == pdal::Dimension::name(dim.m_id)) { - if (nameString == pdal::Dimension::name(dim.m_id)) - { - break; - } - else - { - offset += nativeLayout->dimSize(dim.m_id); - } + break; + } + else + { + offset += nativeLayout->dimSize(dim.m_id); } } +} - return offset; +return offset; } size_t PDALGetPointSize(PDALPointLayoutPtr layout) { - pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - return nativeLayout ? nativeLayout->pointSize() : 0; +pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); +return nativeLayout ? nativeLayout->pointSize() : 0; } } } \ No newline at end of file diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index ba2f805..527d80c 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -39,213 +39,213 @@ namespace capi { extern "C" { - void PDALDisposePointView(PDALPointViewPtr view) - { - pdal::capi::PointView *wrapper = reinterpret_cast(view); +void PDALDisposePointView(PDALPointViewPtr view) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); - if (wrapper) - { - delete wrapper; - } + if (wrapper) + { + delete wrapper; } +} - int PDALGetPointViewId(PDALPointViewPtr view) - { - pdal::capi::PointView *wrapper = reinterpret_cast(view); +int PDALGetPointViewId(PDALPointViewPtr view) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); - return wrapper && *wrapper ? (*wrapper)->id() : 0; - } + return wrapper && *wrapper ? (*wrapper)->id() : 0; +} - uint64_t PDALGetPointViewSize(PDALPointViewPtr view) - { - pdal::capi::PointView *wrapper = reinterpret_cast(view); - return wrapper && *wrapper ? (*wrapper)->size() : 0; - } +uint64_t PDALGetPointViewSize(PDALPointViewPtr view) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); + return wrapper && *wrapper ? (*wrapper)->size() : 0; +} + +bool PDALIsPointViewEmpty(PDALPointViewPtr view) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); + return !wrapper || !*wrapper || (*wrapper)->empty(); +} - bool PDALIsPointViewEmpty(PDALPointViewPtr view) +PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); + + PDALPointViewPtr ptr = nullptr; + + if (wrapper && *wrapper) { - pdal::capi::PointView *wrapper = reinterpret_cast(view); - return !wrapper || !*wrapper || (*wrapper)->empty(); + ptr = new pdal::capi::PointView(std::move((*wrapper)->makeNew())); } - PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view) - { - pdal::capi::PointView *wrapper = reinterpret_cast(view); + return ptr; +} + +size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); + + size_t result = 0; - PDALPointViewPtr ptr = nullptr; + if (size > 0 && proj) + { + proj[0] = '\0'; + proj[size-1] = '\0'; if (wrapper && *wrapper) { - ptr = new pdal::capi::PointView(std::move((*wrapper)->makeNew())); + std::string s = (*wrapper)->spatialReference().getProj4(); + std::strncpy(proj, s.c_str(), size - 1); + result = std::min(s.length(), size); } - - return ptr; } - size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size) - { - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - size_t result = 0; - - if (size > 0 && proj) - { - proj[0] = '\0'; - proj[size-1] = '\0'; + return result; +} - if (wrapper && *wrapper) - { - std::string s = (*wrapper)->spatialReference().getProj4(); - std::strncpy(proj, s.c_str(), size - 1); - result = std::min(s.length(), size); - } - } +size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); - return result; - } + size_t result = 0; - size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty) + if (size > 0 && wkt) { - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - size_t result = 0; + wkt[0] = '\0'; + wkt[size-1] = '\0'; - if (size > 0 && wkt) + if (wrapper && *wrapper) { - wkt[0] = '\0'; - wkt[size-1] = '\0'; + std::string s = (*wrapper)->spatialReference().getWKT(); - if (wrapper && *wrapper) + if (pretty) { - std::string s = (*wrapper)->spatialReference().getWKT(); - - if (pretty) - { - s = SpatialReference::prettyWkt(s); - } - - std::strncpy(wkt, s.c_str(), size - 1); - result = std::min(s.length(), size); + s = SpatialReference::prettyWkt(s); } - } - return result; + std::strncpy(wkt, s.c_str(), size - 1); + result = std::min(s.length(), size); + } } - PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view) - { - pdal::capi::PointView *wrapper = reinterpret_cast(view); + return result; +} - PDALPointLayoutPtr layout = nullptr; +PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view) +{ + pdal::capi::PointView *wrapper = reinterpret_cast(view); - if (wrapper && *wrapper) - { - layout = (*wrapper)->layout(); - } + PDALPointLayoutPtr layout = nullptr; - return layout; + if (wrapper && *wrapper) + { + layout = (*wrapper)->layout(); } - size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buf) - { - size_t size = 0; + return layout; +} - if (view && dims && buf) - { - pdal::capi::PointView *capiView = reinterpret_cast(view); +size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buf) +{ + size_t size = 0; - pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); + if (view && dims && buf) + { + pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); - if (*capiView && *capiDims) - { - pdal::DimTypeList *list = capiDims->get(); - (*capiView)->getPackedPoint(*list, idx, buf); + if (*capiView && *capiDims) + { + pdal::DimTypeList *list = capiDims->get(); - for (const auto &dim : *list) - { - size += pdal::Dimension::size(dim.m_type); - } + (*capiView)->getPackedPoint(*list, idx, buf); + + for (const auto &dim : *list) + { + size += pdal::Dimension::size(dim.m_type); } } - - return size; } - uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buf) + return size; +} + +uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buf) +{ + uint64_t size = 0; + + if (view && dims && buf) { - uint64_t size = 0; + pdal::capi::PointView *capiView = reinterpret_cast(view); - if (view && dims && buf) - { - pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); - pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); + if (*capiView && *capiDims) + { + pdal::DimTypeList *list = capiDims->get(); - if (*capiView && *capiDims) + for (unsigned i = 0; i < (*capiView)->size(); ++i) { - pdal::DimTypeList *list = capiDims->get(); + size_t pointSize = 0; + (*capiView)->getPackedPoint(*list, i, buf); - for (unsigned i = 0; i < (*capiView)->size(); ++i) + for (const auto &dim : *list) { - size_t pointSize = 0; - (*capiView)->getPackedPoint(*list, i, buf); - - for (const auto &dim : *list) - { - pointSize += pdal::Dimension::size(dim.m_type); - } - - buf += pointSize; - size += pointSize; + pointSize += pdal::Dimension::size(dim.m_type); } + + buf += pointSize; + size += pointSize; } } - - return size; } - uint64_t PDALGetMeshSize(PDALPointViewPtr view) - { - pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*wrapper)->mesh(); + return size; +} - return mesh ? static_cast((*mesh).size()) : 0; - } +uint64_t PDALGetMeshSize(PDALPointViewPtr view) +{ + pdal::capi::PointView* wrapper = reinterpret_cast(view); + pdal::TriangularMesh* mesh=(*wrapper)->mesh(); - uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) + return mesh ? static_cast((*mesh).size()) : 0; +} + +uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) +{ + size_t size = 0; + + if (view && buff) { - size_t size = 0; + pdal::capi::PointView* capiView = reinterpret_cast(view); + pdal::TriangularMesh* mesh=(*capiView)->mesh(); - if (view && buff) - { - pdal::capi::PointView* capiView = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*capiView)->mesh(); - - if (*capiView && mesh) + if (*capiView && mesh) + { + for (size_t idx = 0; idx < (*mesh).size(); ++idx) { - for (size_t idx = 0; idx < (*mesh).size(); ++idx) - { - const Triangle& t = (*mesh)[idx]; - uint32_t a = (uint32_t)t.m_a; - std::memcpy(buff, &a, 4); - uint32_t b = (uint32_t)t.m_b; - std::memcpy(buff + 4, &b, 4); - uint32_t c = (uint32_t)t.m_c; - std::memcpy(buff + 8, &c, 4); - - buff += 12; - size += 12; - } + const Triangle& t = (*mesh)[idx]; + uint32_t a = (uint32_t)t.m_a; + std::memcpy(buff, &a, 4); + uint32_t b = (uint32_t)t.m_b; + std::memcpy(buff + 4, &b, 4); + uint32_t c = (uint32_t)t.m_c; + std::memcpy(buff + 8, &c, 4); + + buff += 12; + size += 12; } } - - return static_cast(size); } + return static_cast(size); +} + } } } \ No newline at end of file diff --git a/source/pdal/pdalc_pointviewiterator.cpp b/source/pdal/pdalc_pointviewiterator.cpp index 876930c..4649104 100644 --- a/source/pdal/pdalc_pointviewiterator.cpp +++ b/source/pdal/pdalc_pointviewiterator.cpp @@ -34,74 +34,74 @@ namespace pdal namespace capi { PointViewIterator::PointViewIterator(const pdal::PointViewSet& views) : - m_views(views) +m_views(views) { - reset(); +reset(); } bool PointViewIterator::hasNext() const { - return (m_itr != m_views.cend()); +return (m_itr != m_views.cend()); } const pdal::PointViewPtr PointViewIterator::next() { - return hasNext() ? *(m_itr++) : nullptr; +return hasNext() ? *(m_itr++) : nullptr; } void PointViewIterator::reset() { - m_itr = m_views.cbegin(); +m_itr = m_views.cbegin(); } extern "C" { - bool PDALHasNextPointView(PDALPointViewIteratorPtr itr) - { - auto ptr = reinterpret_cast(itr); - return ptr && ptr->hasNext(); - } +bool PDALHasNextPointView(PDALPointViewIteratorPtr itr) +{ + auto ptr = reinterpret_cast(itr); + return ptr && ptr->hasNext(); +} + +PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr) +{ + auto ptr = reinterpret_cast(itr); + PDALPointViewPtr view = nullptr; - PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr) + if (ptr) { - auto ptr = reinterpret_cast(itr); - PDALPointViewPtr view = nullptr; + pdal::PointViewPtr v = ptr->next(); - if (ptr) + if (v) { - pdal::PointViewPtr v = ptr->next(); - - if (v) - { - view = new pdal::PointViewPtr(std::move(v)); - } + view = new pdal::PointViewPtr(std::move(v)); } - - return view; } - void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr) - { - auto ptr = reinterpret_cast(itr); + return view; +} - if (ptr) - { - ptr->reset(); - } - } +void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr) +{ + auto ptr = reinterpret_cast(itr); - void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr) + if (ptr) { - auto ptr = reinterpret_cast(itr); + ptr->reset(); + } +} - if (ptr) - { - delete ptr; - ptr = nullptr; - itr = nullptr; - } +void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr) +{ + auto ptr = reinterpret_cast(itr); + + if (ptr) + { + delete ptr; + ptr = nullptr; + itr = nullptr; } +} } diff --git a/source/pdal/pdalc_pointviewiterator.h b/source/pdal/pdalc_pointviewiterator.h index 4e7a64d..eafee9b 100644 --- a/source/pdal/pdalc_pointviewiterator.h +++ b/source/pdal/pdalc_pointviewiterator.h @@ -47,14 +47,14 @@ namespace capi class PointViewIterator { public: - PointViewIterator(const pdal::PointViewSet& views); - bool hasNext() const; - const pdal::PointViewPtr next(); - void reset(); +PointViewIterator(const pdal::PointViewSet& views); +bool hasNext() const; +const pdal::PointViewPtr next(); +void reset(); private: - const pdal::PointViewSet &m_views; - pdal::PointViewSet::const_iterator m_itr; +const pdal::PointViewSet &m_views; +pdal::PointViewSet::const_iterator m_itr; }; extern "C" From 0aa9734da184908af0e091c2f4c3e5efc129c021 Mon Sep 17 00:00:00 2001 From: Paul Harwood Date: Fri, 30 Apr 2021 08:09:16 +0100 Subject: [PATCH 34/73] more astyle --- source/pdal/pdalc_dimtype.cpp | 138 ++++----- source/pdal/pdalc_forward.h | 8 +- source/pdal/pdalc_pipeline.cpp | 358 ++++++++++++------------ source/pdal/pdalc_pointlayout.cpp | 80 +++--- source/pdal/pdalc_pointview.cpp | 282 +++++++++---------- source/pdal/pdalc_pointviewiterator.cpp | 76 ++--- source/pdal/pdalc_pointviewiterator.h | 12 +- 7 files changed, 477 insertions(+), 477 deletions(-) diff --git a/source/pdal/pdalc_dimtype.cpp b/source/pdal/pdalc_dimtype.cpp index 9e771cc..b1d782d 100644 --- a/source/pdal/pdalc_dimtype.cpp +++ b/source/pdal/pdalc_dimtype.cpp @@ -37,122 +37,122 @@ namespace capi { size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types) { -pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); + pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); -size_t size = 0; + size_t size = 0; -if (wrapper && wrapper->get()) -{ - try - { - pdal::DimTypeList *list = wrapper->get(); - size = list->size(); - } - catch (const std::exception &e) + if (wrapper && wrapper->get()) { - printf("%s\n", e.what()); + try + { + pdal::DimTypeList *list = wrapper->get(); + size = list->size(); + } + catch (const std::exception &e) + { + printf("%s\n", e.what()); + } } -} -return size; + return size; } uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types) { -uint64_t byteCount = 0; -size_t pointCount = PDALGetDimTypeListSize(types); + uint64_t byteCount = 0; + size_t pointCount = PDALGetDimTypeListSize(types); -for (size_t i = 0; i < pointCount; ++i) -{ - byteCount += PDALGetDimTypeInterpretationByteCount(PDALGetDimType(types, i)); -} + for (size_t i = 0; i < pointCount; ++i) + { + byteCount += PDALGetDimTypeInterpretationByteCount(PDALGetDimType(types, i)); + } -return byteCount; + return byteCount; } PDALDimType PDALGetInvalidDimType() { -PDALDimType dim = -{ - static_cast(pdal::Dimension::id("")), static_cast(pdal::Dimension::type("")), - 1.0, 0.0 -}; + PDALDimType dim = + { + static_cast(pdal::Dimension::id("")), static_cast(pdal::Dimension::type("")), + 1.0, 0.0 + }; -return dim; + return dim; } size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size) { -size_t result = 0; + size_t result = 0; -if (name && size > 0) -{ - std::string s = pdal::Dimension::name( - static_cast(dim.id)); - std::strncpy(name, s.c_str(), size); - result = std::min(std::strlen(name), size); -} + if (name && size > 0) + { + std::string s = pdal::Dimension::name( + static_cast(dim.id)); + std::strncpy(name, s.c_str(), size); + result = std::min(std::strlen(name), size); + } -return result; + return result; } size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size) { -size_t result = 0; + size_t result = 0; -if (name && size > 0) -{ - std::string s = pdal::Dimension::interpretationName( - static_cast(dim.type)); - std::strncpy(name, s.c_str(), size); - result = std::min(std::strlen(name), size); -} + if (name && size > 0) + { + std::string s = pdal::Dimension::interpretationName( + static_cast(dim.type)); + std::strncpy(name, s.c_str(), size); + result = std::min(std::strlen(name), size); + } -return result; + return result; } size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim) { -return pdal::Dimension::size(static_cast(dim.type)); + return pdal::Dimension::size(static_cast(dim.type)); } PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index) { -pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); + pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); -PDALDimType dim = PDALGetInvalidDimType(); + PDALDimType dim = PDALGetInvalidDimType(); -if (wrapper && wrapper->get()) -{ - try + if (wrapper && wrapper->get()) { - pdal::DimTypeList *list = wrapper->get(); - - if (index < list->size()) + try { - pdal::DimType nativeDim = list->at(index); - dim.id = static_cast(nativeDim.m_id); - dim.type = static_cast(nativeDim.m_type); - dim.scale = nativeDim.m_xform.m_scale.m_val; - dim.offset = nativeDim.m_xform.m_offset.m_val; + pdal::DimTypeList *list = wrapper->get(); + + if (index < list->size()) + { + pdal::DimType nativeDim = list->at(index); + dim.id = static_cast(nativeDim.m_id); + dim.type = static_cast(nativeDim.m_type); + dim.scale = nativeDim.m_xform.m_scale.m_val; + dim.offset = nativeDim.m_xform.m_offset.m_val; + } + } + catch (const std::exception &e) + { + printf("%s\n", e.what()); } } - catch (const std::exception &e) - { - printf("%s\n", e.what()); - } -} -return dim; + return dim; } void PDALDisposeDimTypeList(PDALDimTypeListPtr types) { -if (types) -{ - pdal::capi::DimTypeList *ptr = reinterpret_cast(types); - delete ptr; -} + if (types) + { + pdal::capi::DimTypeList *ptr = reinterpret_cast(types); + delete ptr; + } } } } \ No newline at end of file diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index f909042..0c68b16 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -81,16 +81,16 @@ typedef struct PDALDimType PDALDimType; struct PDALDimType { /// The dimension's identifier -uint32_t id; + uint32_t id; /// The dimension's interpretation type -uint32_t type; + uint32_t type; /// The dimension's scaling factor -double scale; + double scale; /// The dimension's offset value -double offset; + double offset; }; /// A pointer to a dimension type list diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 85838ea..fd7dfe8 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -44,267 +44,267 @@ namespace capi { extern "C" { -PDALPipelinePtr PDALCreatePipeline(const char* json) -{ - PDALPipelinePtr pipeline = nullptr; - - if (json && std::strlen(json) > 0) + PDALPipelinePtr PDALCreatePipeline(const char* json) { - pdal::PipelineExecutor *executor = nullptr; - - try - { - pdal::PipelineExecutor stackpipe(json); - executor = new pdal::PipelineExecutor(json); - } - catch (const std::exception &e) - { - printf("Could not create pipeline: %s\n%s\n", e.what(), json); - executor = nullptr; - } + PDALPipelinePtr pipeline = nullptr; - if (executor) + if (json && std::strlen(json) > 0) { - bool valid = false; + pdal::PipelineExecutor *executor = nullptr; try { - valid = executor->validate(); + pdal::PipelineExecutor stackpipe(json); + executor = new pdal::PipelineExecutor(json); } catch (const std::exception &e) { - printf("Error while validating pipeline: %s\n%s\n", e.what(), json); + printf("Could not create pipeline: %s\n%s\n", e.what(), json); + executor = nullptr; } - if (valid) + if (executor) { - pipeline = new Pipeline(executor); - } - else - { - delete executor; - executor = NULL; - printf("The pipeline is invalid:\n%s\n", json); + bool valid = false; + + try + { + valid = executor->validate(); + } + catch (const std::exception &e) + { + printf("Error while validating pipeline: %s\n%s\n", e.what(), json); + } + + if (valid) + { + pipeline = new Pipeline(executor); + } + else + { + delete executor; + executor = NULL; + printf("The pipeline is invalid:\n%s\n", json); + } } } - } - return pipeline; -} + return pipeline; + } -void PDALDisposePipeline(PDALPipelinePtr pipeline) -{ - if (pipeline) + void PDALDisposePipeline(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); - delete ptr; + if (pipeline) + { + Pipeline *ptr = reinterpret_cast(pipeline); + delete ptr; + } } -} -size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) -{ - size_t result = 0; + size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) + { + size_t result = 0; + + if (pipeline && buffer && size > 0) + { + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + buffer[0] = '\0'; + buffer[size - 1] = '\0'; + + if (executor) + { + try + { + std::string s = executor->getPipeline(); + std::strncpy(buffer, s.c_str(), size - 1); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); + } + } + + } + + return result; + } - if (pipeline && buffer && size > 0) + size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - buffer[0] = '\0'; - buffer[size - 1] = '\0'; + size_t result = 0; - if (executor) + if (pipeline && metadata && size > 0) { - try + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + metadata[0] = '\0'; + metadata[size - 1] = '\0'; + + if (executor) { - std::string s = executor->getPipeline(); - std::strncpy(buffer, s.c_str(), size - 1); - result = std::min(s.length(), size); + try + { + std::string s = executor->getMetadata(); + std::strncpy(metadata, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); + } } - catch (const std::exception &e) + } + + return result; + } + + size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) + { + size_t result = 0; + + if (pipeline && schema && size > 0) + { + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + schema[0] = '\0'; + schema[size - 1] = '\0'; + + if (executor) { - printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); + try + { + std::string s = executor->getSchema(); + std::strncpy(schema, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's schema: %s\n", e.what()); + } } } + return result; } - return result; -} + size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) + { + size_t result = 0; -size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) -{ - size_t result = 0; + if (pipeline && log && size > 0) + { + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + log[0] = '\0'; + log[size - 1] = '\0'; + + if (executor) + { + try + { + std::string s = executor->getLog(); + std::strncpy(log, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's log: %s\n", e.what()); + } + } + } - if (pipeline && metadata && size > 0) + return result; + } + + void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) { Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - metadata[0] = '\0'; - metadata[size - 1] = '\0'; - if (executor) + if (ptr && ptr->get()) { try { - std::string s = executor->getMetadata(); - std::strncpy(metadata, s.c_str(), size); - result = std::min(s.length(), size); + ptr->get()->setLogLevel(level); } catch (const std::exception &e) { - printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); + printf("Found error while setting log level: %s\n", e.what()); } } } - return result; -} - -size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) -{ - size_t result = 0; + int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) + { + Pipeline *ptr = reinterpret_cast(pipeline); + return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; + } - if (pipeline && schema && size > 0) + int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) { + int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - schema[0] = '\0'; - schema[size - 1] = '\0'; - if (executor) + if (ptr && ptr->get()) { try { - std::string s = executor->getSchema(); - std::strncpy(schema, s.c_str(), size); - result = std::min(s.length(), size); + result = ptr->get()->execute(); } catch (const std::exception &e) { - printf("Found error while retrieving pipeline's schema: %s\n", e.what()); + printf("Found error while executing pipeline: %s", e.what()); } } - } - return result; -} - -size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) -{ - size_t result = 0; + return result; + } - if (pipeline && log && size > 0) + bool PDALValidatePipeline(PDALPipelinePtr pipeline) { + int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - log[0] = '\0'; - log[size - 1] = '\0'; - if (executor) + if (ptr && ptr->get()) { try { - std::string s = executor->getLog(); - std::strncpy(log, s.c_str(), size); - result = std::min(s.length(), size); + result = ptr->get()->validate(); } catch (const std::exception &e) { - printf("Found error while retrieving pipeline's log: %s\n", e.what()); + printf("Found error while validating pipeline: %s", e.what()); } } - } - - return result; -} -void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) -{ - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr && ptr->get()) - { - try - { - ptr->get()->setLogLevel(level); - } - catch (const std::exception &e) - { - printf("Found error while setting log level: %s\n", e.what()); - } - } -} - -int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) -{ - Pipeline *ptr = reinterpret_cast(pipeline); - return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; -} - -int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) -{ - int64_t result = 0; - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr && ptr->get()) - { - try - { - result = ptr->get()->execute(); - } - catch (const std::exception &e) - { - printf("Found error while executing pipeline: %s", e.what()); - } + return result; } - return result; -} - -bool PDALValidatePipeline(PDALPipelinePtr pipeline) -{ - int64_t result = 0; - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr && ptr->get()) + PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) { - try - { - result = ptr->get()->validate(); - } - catch (const std::exception &e) - { - printf("Found error while validating pipeline: %s", e.what()); - } - } - - return result; -} - -PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) -{ - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::capi::PointViewIterator *views = nullptr; + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::capi::PointViewIterator *views = nullptr; - if (ptr && ptr->get()) - { - try + if (ptr && ptr->get()) { - auto &v = ptr->get()->getManagerConst().views(); + try + { + auto &v = ptr->get()->getManagerConst().views(); - if (!v.empty()) + if (!v.empty()) + { + views = new pdal::capi::PointViewIterator(v); + } + } + catch (const std::exception &e) { - views = new pdal::capi::PointViewIterator(v); + printf("Found error while retrieving point views: %s\n", e.what()); } } - catch (const std::exception &e) - { - printf("Found error while retrieving point views: %s\n", e.what()); - } - } - return views; -} + return views; + } } } } diff --git a/source/pdal/pdalc_pointlayout.cpp b/source/pdal/pdalc_pointlayout.cpp index 253711c..11ed3d5 100644 --- a/source/pdal/pdalc_pointlayout.cpp +++ b/source/pdal/pdalc_pointlayout.cpp @@ -41,76 +41,76 @@ namespace capi PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout) { -PDALDimTypeListPtr types = NULL; -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + PDALDimTypeListPtr types = NULL; + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -if (nativeLayout) -{ - pdal::DimTypeList *list = new pdal::DimTypeList(nativeLayout->dimTypes()); + if (nativeLayout) + { + pdal::DimTypeList *list = new pdal::DimTypeList(nativeLayout->dimTypes()); - types = new pdal::capi::DimTypeList(list); -} + types = new pdal::capi::DimTypeList(list); + } -return types; + return types; } PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name) { -PDALDimType dim = PDALGetInvalidDimType(); -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + PDALDimType dim = PDALGetInvalidDimType(); + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -if (name && nativeLayout) -{ - pdal::DimType nativeDim = nativeLayout->findDimType(name); + if (name && nativeLayout) + { + pdal::DimType nativeDim = nativeLayout->findDimType(name); - dim.id = static_cast(nativeDim.m_id); - dim.type = static_cast(nativeDim.m_type); - dim.scale = nativeDim.m_xform.m_scale.m_val; - dim.offset = nativeDim.m_xform.m_offset.m_val; -} + dim.id = static_cast(nativeDim.m_id); + dim.type = static_cast(nativeDim.m_type); + dim.scale = nativeDim.m_xform.m_scale.m_val; + dim.offset = nativeDim.m_xform.m_offset.m_val; + } -return dim; + return dim; } size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name) { -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -return (name && nativeLayout) ? nativeLayout->dimSize(nativeLayout->findDim(name)) : 0; + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + return (name && nativeLayout) ? nativeLayout->dimSize(nativeLayout->findDim(name)) : 0; } size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name) { -size_t offset = 0; - -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + size_t offset = 0; -if (name && nativeLayout) -{ - pdal::DimType type = nativeLayout->findDimType(name); - pdal::DimTypeList dims = nativeLayout->dimTypes(); - std::string nameString = pdal::Dimension::name(type.m_id); + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - for (auto dim : dims) + if (name && nativeLayout) { - if (nameString == pdal::Dimension::name(dim.m_id)) - { - break; - } - else + pdal::DimType type = nativeLayout->findDimType(name); + pdal::DimTypeList dims = nativeLayout->dimTypes(); + std::string nameString = pdal::Dimension::name(type.m_id); + + for (auto dim : dims) { - offset += nativeLayout->dimSize(dim.m_id); + if (nameString == pdal::Dimension::name(dim.m_id)) + { + break; + } + else + { + offset += nativeLayout->dimSize(dim.m_id); + } } } -} -return offset; + return offset; } size_t PDALGetPointSize(PDALPointLayoutPtr layout) { -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -return nativeLayout ? nativeLayout->pointSize() : 0; + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + return nativeLayout ? nativeLayout->pointSize() : 0; } } } \ No newline at end of file diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 527d80c..b1de2cd 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -39,212 +39,212 @@ namespace capi { extern "C" { -void PDALDisposePointView(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - if (wrapper) + void PDALDisposePointView(PDALPointViewPtr view) { - delete wrapper; - } -} - -int PDALGetPointViewId(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); + pdal::capi::PointView *wrapper = reinterpret_cast(view); - return wrapper && *wrapper ? (*wrapper)->id() : 0; -} - -uint64_t PDALGetPointViewSize(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - return wrapper && *wrapper ? (*wrapper)->size() : 0; -} - -bool PDALIsPointViewEmpty(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - return !wrapper || !*wrapper || (*wrapper)->empty(); -} + if (wrapper) + { + delete wrapper; + } + } -PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); + int PDALGetPointViewId(PDALPointViewPtr view) + { + pdal::capi::PointView *wrapper = reinterpret_cast(view); - PDALPointViewPtr ptr = nullptr; + return wrapper && *wrapper ? (*wrapper)->id() : 0; + } - if (wrapper && *wrapper) + uint64_t PDALGetPointViewSize(PDALPointViewPtr view) { - ptr = new pdal::capi::PointView(std::move((*wrapper)->makeNew())); + pdal::capi::PointView *wrapper = reinterpret_cast(view); + return wrapper && *wrapper ? (*wrapper)->size() : 0; } - return ptr; -} - -size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - size_t result = 0; + bool PDALIsPointViewEmpty(PDALPointViewPtr view) + { + pdal::capi::PointView *wrapper = reinterpret_cast(view); + return !wrapper || !*wrapper || (*wrapper)->empty(); + } - if (size > 0 && proj) + PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view) { - proj[0] = '\0'; - proj[size-1] = '\0'; + pdal::capi::PointView *wrapper = reinterpret_cast(view); + + PDALPointViewPtr ptr = nullptr; if (wrapper && *wrapper) { - std::string s = (*wrapper)->spatialReference().getProj4(); - std::strncpy(proj, s.c_str(), size - 1); - result = std::min(s.length(), size); + ptr = new pdal::capi::PointView(std::move((*wrapper)->makeNew())); } - } - - return result; -} -size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - size_t result = 0; + return ptr; + } - if (size > 0 && wkt) + size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size) { - wkt[0] = '\0'; - wkt[size-1] = '\0'; + pdal::capi::PointView *wrapper = reinterpret_cast(view); - if (wrapper && *wrapper) + size_t result = 0; + + if (size > 0 && proj) { - std::string s = (*wrapper)->spatialReference().getWKT(); + proj[0] = '\0'; + proj[size-1] = '\0'; - if (pretty) + if (wrapper && *wrapper) { - s = SpatialReference::prettyWkt(s); + std::string s = (*wrapper)->spatialReference().getProj4(); + std::strncpy(proj, s.c_str(), size - 1); + result = std::min(s.length(), size); } - - std::strncpy(wkt, s.c_str(), size - 1); - result = std::min(s.length(), size); } + + return result; } - return result; -} + size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty) + { + pdal::capi::PointView *wrapper = reinterpret_cast(view); -PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); + size_t result = 0; - PDALPointLayoutPtr layout = nullptr; + if (size > 0 && wkt) + { + wkt[0] = '\0'; + wkt[size-1] = '\0'; - if (wrapper && *wrapper) - { - layout = (*wrapper)->layout(); - } + if (wrapper && *wrapper) + { + std::string s = (*wrapper)->spatialReference().getWKT(); - return layout; -} + if (pretty) + { + s = SpatialReference::prettyWkt(s); + } -size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buf) -{ - size_t size = 0; + std::strncpy(wkt, s.c_str(), size - 1); + result = std::min(s.length(), size); + } + } - if (view && dims && buf) + return result; + } + + PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view) { - pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::capi::PointView *wrapper = reinterpret_cast(view); + + PDALPointLayoutPtr layout = nullptr; - pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); + if (wrapper && *wrapper) + { + layout = (*wrapper)->layout(); + } + return layout; + } + + size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buf) + { + size_t size = 0; - if (*capiView && *capiDims) + if (view && dims && buf) { - pdal::DimTypeList *list = capiDims->get(); + pdal::capi::PointView *capiView = reinterpret_cast(view); - (*capiView)->getPackedPoint(*list, idx, buf); + pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); - for (const auto &dim : *list) + + if (*capiView && *capiDims) { - size += pdal::Dimension::size(dim.m_type); + pdal::DimTypeList *list = capiDims->get(); + + (*capiView)->getPackedPoint(*list, idx, buf); + + for (const auto &dim : *list) + { + size += pdal::Dimension::size(dim.m_type); + } } } - } - - return size; -} -uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buf) -{ - uint64_t size = 0; + return size; + } - if (view && dims && buf) + uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buf) { - pdal::capi::PointView *capiView = reinterpret_cast(view); + uint64_t size = 0; - pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); + if (view && dims && buf) + { + pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); - if (*capiView && *capiDims) - { - pdal::DimTypeList *list = capiDims->get(); - for (unsigned i = 0; i < (*capiView)->size(); ++i) + if (*capiView && *capiDims) { - size_t pointSize = 0; - (*capiView)->getPackedPoint(*list, i, buf); + pdal::DimTypeList *list = capiDims->get(); - for (const auto &dim : *list) + for (unsigned i = 0; i < (*capiView)->size(); ++i) { - pointSize += pdal::Dimension::size(dim.m_type); - } + size_t pointSize = 0; + (*capiView)->getPackedPoint(*list, i, buf); + + for (const auto &dim : *list) + { + pointSize += pdal::Dimension::size(dim.m_type); + } - buf += pointSize; - size += pointSize; + buf += pointSize; + size += pointSize; + } } } - } - - return size; -} -uint64_t PDALGetMeshSize(PDALPointViewPtr view) -{ - pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*wrapper)->mesh(); + return size; + } - return mesh ? static_cast((*mesh).size()) : 0; -} + uint64_t PDALGetMeshSize(PDALPointViewPtr view) + { + pdal::capi::PointView* wrapper = reinterpret_cast(view); + pdal::TriangularMesh* mesh=(*wrapper)->mesh(); -uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) -{ - size_t size = 0; + return mesh ? static_cast((*mesh).size()) : 0; + } - if (view && buff) + uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) { - pdal::capi::PointView* capiView = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*capiView)->mesh(); + size_t size = 0; - - if (*capiView && mesh) + if (view && buff) { - for (size_t idx = 0; idx < (*mesh).size(); ++idx) + pdal::capi::PointView* capiView = reinterpret_cast(view); + pdal::TriangularMesh* mesh=(*capiView)->mesh(); + + + if (*capiView && mesh) { - const Triangle& t = (*mesh)[idx]; - uint32_t a = (uint32_t)t.m_a; - std::memcpy(buff, &a, 4); - uint32_t b = (uint32_t)t.m_b; - std::memcpy(buff + 4, &b, 4); - uint32_t c = (uint32_t)t.m_c; - std::memcpy(buff + 8, &c, 4); - - buff += 12; - size += 12; + for (size_t idx = 0; idx < (*mesh).size(); ++idx) + { + const Triangle& t = (*mesh)[idx]; + uint32_t a = (uint32_t)t.m_a; + std::memcpy(buff, &a, 4); + uint32_t b = (uint32_t)t.m_b; + std::memcpy(buff + 4, &b, 4); + uint32_t c = (uint32_t)t.m_c; + std::memcpy(buff + 8, &c, 4); + + buff += 12; + size += 12; + } } } - } - return static_cast(size); -} + return static_cast(size); + } } } diff --git a/source/pdal/pdalc_pointviewiterator.cpp b/source/pdal/pdalc_pointviewiterator.cpp index 4649104..876930c 100644 --- a/source/pdal/pdalc_pointviewiterator.cpp +++ b/source/pdal/pdalc_pointviewiterator.cpp @@ -34,74 +34,74 @@ namespace pdal namespace capi { PointViewIterator::PointViewIterator(const pdal::PointViewSet& views) : -m_views(views) + m_views(views) { -reset(); + reset(); } bool PointViewIterator::hasNext() const { -return (m_itr != m_views.cend()); + return (m_itr != m_views.cend()); } const pdal::PointViewPtr PointViewIterator::next() { -return hasNext() ? *(m_itr++) : nullptr; + return hasNext() ? *(m_itr++) : nullptr; } void PointViewIterator::reset() { -m_itr = m_views.cbegin(); + m_itr = m_views.cbegin(); } extern "C" { -bool PDALHasNextPointView(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); - return ptr && ptr->hasNext(); -} - -PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); - PDALPointViewPtr view = nullptr; + bool PDALHasNextPointView(PDALPointViewIteratorPtr itr) + { + auto ptr = reinterpret_cast(itr); + return ptr && ptr->hasNext(); + } - if (ptr) + PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr) { - pdal::PointViewPtr v = ptr->next(); + auto ptr = reinterpret_cast(itr); + PDALPointViewPtr view = nullptr; - if (v) + if (ptr) { - view = new pdal::PointViewPtr(std::move(v)); - } - } + pdal::PointViewPtr v = ptr->next(); - return view; -} + if (v) + { + view = new pdal::PointViewPtr(std::move(v)); + } + } -void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); + return view; + } - if (ptr) + void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr) { - ptr->reset(); - } -} + auto ptr = reinterpret_cast(itr); -void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); + if (ptr) + { + ptr->reset(); + } + } - if (ptr) + void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr) { - delete ptr; - ptr = nullptr; - itr = nullptr; + auto ptr = reinterpret_cast(itr); + + if (ptr) + { + delete ptr; + ptr = nullptr; + itr = nullptr; + } } -} } diff --git a/source/pdal/pdalc_pointviewiterator.h b/source/pdal/pdalc_pointviewiterator.h index eafee9b..4e7a64d 100644 --- a/source/pdal/pdalc_pointviewiterator.h +++ b/source/pdal/pdalc_pointviewiterator.h @@ -47,14 +47,14 @@ namespace capi class PointViewIterator { public: -PointViewIterator(const pdal::PointViewSet& views); -bool hasNext() const; -const pdal::PointViewPtr next(); -void reset(); + PointViewIterator(const pdal::PointViewSet& views); + bool hasNext() const; + const pdal::PointViewPtr next(); + void reset(); private: -const pdal::PointViewSet &m_views; -pdal::PointViewSet::const_iterator m_itr; + const pdal::PointViewSet &m_views; + pdal::PointViewSet::const_iterator m_itr; }; extern "C" From 6006cc3139ef4fdae0c57109586fa1545d3d6623 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 08:31:13 +0100 Subject: [PATCH 35/73] Revert "astyle changes" This reverts commit 63b4781fcbab79e2b3f3391a1f5a43511ce39c7f. --- source/pdal/CMakeLists.txt | 82 +++--- source/pdal/pdalc_dimtype.cpp | 138 ++++----- source/pdal/pdalc_forward.h | 16 +- source/pdal/pdalc_pipeline.cpp | 358 ++++++++++++------------ source/pdal/pdalc_pointlayout.cpp | 80 +++--- source/pdal/pdalc_pointview.cpp | 282 +++++++++---------- source/pdal/pdalc_pointviewiterator.cpp | 76 ++--- source/pdal/pdalc_pointviewiterator.h | 12 +- 8 files changed, 522 insertions(+), 522 deletions(-) diff --git a/source/pdal/CMakeLists.txt b/source/pdal/CMakeLists.txt index 7a8715e..0a2e82b 100644 --- a/source/pdal/CMakeLists.txt +++ b/source/pdal/CMakeLists.txt @@ -4,65 +4,65 @@ find_package(PDAL REQUIRED CONFIG) message(STATUS "Found PDAL ${PDAL_VERSION}") set(SOURCES - pdalc_config.cpp - pdalc_dimtype.cpp - pdalc_pipeline.cpp - pdalc_pointlayout.cpp - pdalc_pointview.cpp - pdalc_pointviewiterator.cpp - ) + pdalc_config.cpp + pdalc_dimtype.cpp + pdalc_pipeline.cpp + pdalc_pointlayout.cpp + pdalc_pointview.cpp + pdalc_pointviewiterator.cpp +) set(HEADERS - pdalc.h - pdalc_config.h - pdalc_defines.h - pdalc_dimtype.h - pdalc_forward.h - pdalc_pipeline.h - pdalc_pointlayout.h - pdalc_pointview.h - pdalc_pointviewiterator.h - ) + pdalc.h + pdalc_config.h + pdalc_defines.h + pdalc_dimtype.h + pdalc_forward.h + pdalc_pipeline.h + pdalc_pointlayout.h + pdalc_pointview.h + pdalc_pointviewiterator.h +) set(DEPENDENCIES - $ {PDAL_LIBRARIES} - ) + ${PDAL_LIBRARIES} +) link_directories( - $ {PDAL_LIBRARY_DIRS} + ${PDAL_LIBRARY_DIRS} ) include_directories( - $ {PDAL_INCLUDE_DIRS} + ${PDAL_INCLUDE_DIRS} ) -add_definitions($ {PDAL_DEFINITIONS}) +add_definitions(${PDAL_DEFINITIONS}) -add_library($ {TARGET} SHARED $ {SOURCES} $ {HEADERS}) +add_library(${TARGET} SHARED ${SOURCES} ${HEADERS}) string(TOUPPER "${TARGET}_BUILD_DLL" BUILD_SYMBOL) -set_target_properties($ {TARGET} PROPERTIES - DEFINE_SYMBOL $ {BUILD_SYMBOL} - VERSION $ {PDAL_VERSION} - SOVERSION $ {PDAL_VERSION} - ) +set_target_properties(${TARGET} PROPERTIES + DEFINE_SYMBOL ${BUILD_SYMBOL} + VERSION ${PDAL_VERSION} + SOVERSION ${PDAL_VERSION} +) # Measure code coverage on gcc if(CMAKE_COMPILER_IS_GNUCXX AND PDALC_ENABLE_CODE_COVERAGE AND PDALC_ENABLE_TESTS) - SETUP_TARGET_FOR_COVERAGE( - NAME coverage_$ {TARGET} - EXECUTABLE test_$ {TARGET} - DEPENDENCIES test_$ {TARGET} - ) - endif() + SETUP_TARGET_FOR_COVERAGE( + NAME coverage_${TARGET} + EXECUTABLE test_${TARGET} + DEPENDENCIES test_${TARGET} + ) +endif() - target_link_libraries($ {TARGET} $ {DEPENDENCIES}) +target_link_libraries(${TARGET} ${DEPENDENCIES}) - install(TARGETS $ {TARGET} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin) +install(TARGETS ${TARGET} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin) - file(RELATIVE_PATH $ {TARGET} _PATH $ {CMAKE_SOURCE_DIR}/source $ {CMAKE_CURRENT_SOURCE_DIR}) - install(FILES $ {HEADERS} DESTINATION include/$ {${TARGET} _PATH}) +file(RELATIVE_PATH ${TARGET}_PATH ${CMAKE_SOURCE_DIR}/source ${CMAKE_CURRENT_SOURCE_DIR}) +install(FILES ${HEADERS} DESTINATION include/${${TARGET}_PATH}) diff --git a/source/pdal/pdalc_dimtype.cpp b/source/pdal/pdalc_dimtype.cpp index 9e771cc..b1d782d 100644 --- a/source/pdal/pdalc_dimtype.cpp +++ b/source/pdal/pdalc_dimtype.cpp @@ -37,122 +37,122 @@ namespace capi { size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types) { -pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); + pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); -size_t size = 0; + size_t size = 0; -if (wrapper && wrapper->get()) -{ - try - { - pdal::DimTypeList *list = wrapper->get(); - size = list->size(); - } - catch (const std::exception &e) + if (wrapper && wrapper->get()) { - printf("%s\n", e.what()); + try + { + pdal::DimTypeList *list = wrapper->get(); + size = list->size(); + } + catch (const std::exception &e) + { + printf("%s\n", e.what()); + } } -} -return size; + return size; } uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types) { -uint64_t byteCount = 0; -size_t pointCount = PDALGetDimTypeListSize(types); + uint64_t byteCount = 0; + size_t pointCount = PDALGetDimTypeListSize(types); -for (size_t i = 0; i < pointCount; ++i) -{ - byteCount += PDALGetDimTypeInterpretationByteCount(PDALGetDimType(types, i)); -} + for (size_t i = 0; i < pointCount; ++i) + { + byteCount += PDALGetDimTypeInterpretationByteCount(PDALGetDimType(types, i)); + } -return byteCount; + return byteCount; } PDALDimType PDALGetInvalidDimType() { -PDALDimType dim = -{ - static_cast(pdal::Dimension::id("")), static_cast(pdal::Dimension::type("")), - 1.0, 0.0 -}; + PDALDimType dim = + { + static_cast(pdal::Dimension::id("")), static_cast(pdal::Dimension::type("")), + 1.0, 0.0 + }; -return dim; + return dim; } size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size) { -size_t result = 0; + size_t result = 0; -if (name && size > 0) -{ - std::string s = pdal::Dimension::name( - static_cast(dim.id)); - std::strncpy(name, s.c_str(), size); - result = std::min(std::strlen(name), size); -} + if (name && size > 0) + { + std::string s = pdal::Dimension::name( + static_cast(dim.id)); + std::strncpy(name, s.c_str(), size); + result = std::min(std::strlen(name), size); + } -return result; + return result; } size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size) { -size_t result = 0; + size_t result = 0; -if (name && size > 0) -{ - std::string s = pdal::Dimension::interpretationName( - static_cast(dim.type)); - std::strncpy(name, s.c_str(), size); - result = std::min(std::strlen(name), size); -} + if (name && size > 0) + { + std::string s = pdal::Dimension::interpretationName( + static_cast(dim.type)); + std::strncpy(name, s.c_str(), size); + result = std::min(std::strlen(name), size); + } -return result; + return result; } size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim) { -return pdal::Dimension::size(static_cast(dim.type)); + return pdal::Dimension::size(static_cast(dim.type)); } PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index) { -pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); + pdal::capi::DimTypeList *wrapper = reinterpret_cast(types); -PDALDimType dim = PDALGetInvalidDimType(); + PDALDimType dim = PDALGetInvalidDimType(); -if (wrapper && wrapper->get()) -{ - try + if (wrapper && wrapper->get()) { - pdal::DimTypeList *list = wrapper->get(); - - if (index < list->size()) + try { - pdal::DimType nativeDim = list->at(index); - dim.id = static_cast(nativeDim.m_id); - dim.type = static_cast(nativeDim.m_type); - dim.scale = nativeDim.m_xform.m_scale.m_val; - dim.offset = nativeDim.m_xform.m_offset.m_val; + pdal::DimTypeList *list = wrapper->get(); + + if (index < list->size()) + { + pdal::DimType nativeDim = list->at(index); + dim.id = static_cast(nativeDim.m_id); + dim.type = static_cast(nativeDim.m_type); + dim.scale = nativeDim.m_xform.m_scale.m_val; + dim.offset = nativeDim.m_xform.m_offset.m_val; + } + } + catch (const std::exception &e) + { + printf("%s\n", e.what()); } } - catch (const std::exception &e) - { - printf("%s\n", e.what()); - } -} -return dim; + return dim; } void PDALDisposeDimTypeList(PDALDimTypeListPtr types) { -if (types) -{ - pdal::capi::DimTypeList *ptr = reinterpret_cast(types); - delete ptr; -} + if (types) + { + pdal::capi::DimTypeList *ptr = reinterpret_cast(types); + delete ptr; + } } } } \ No newline at end of file diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index f909042..89cae54 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -80,17 +80,17 @@ typedef struct PDALDimType PDALDimType; /// A dimension type struct PDALDimType { -/// The dimension's identifier -uint32_t id; + /// The dimension's identifier + uint32_t id; -/// The dimension's interpretation type -uint32_t type; + /// The dimension's interpretation type + uint32_t type; -/// The dimension's scaling factor -double scale; + /// The dimension's scaling factor + double scale; -/// The dimension's offset value -double offset; + /// The dimension's offset value + double offset; }; /// A pointer to a dimension type list diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 85838ea..fd7dfe8 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -44,267 +44,267 @@ namespace capi { extern "C" { -PDALPipelinePtr PDALCreatePipeline(const char* json) -{ - PDALPipelinePtr pipeline = nullptr; - - if (json && std::strlen(json) > 0) + PDALPipelinePtr PDALCreatePipeline(const char* json) { - pdal::PipelineExecutor *executor = nullptr; - - try - { - pdal::PipelineExecutor stackpipe(json); - executor = new pdal::PipelineExecutor(json); - } - catch (const std::exception &e) - { - printf("Could not create pipeline: %s\n%s\n", e.what(), json); - executor = nullptr; - } + PDALPipelinePtr pipeline = nullptr; - if (executor) + if (json && std::strlen(json) > 0) { - bool valid = false; + pdal::PipelineExecutor *executor = nullptr; try { - valid = executor->validate(); + pdal::PipelineExecutor stackpipe(json); + executor = new pdal::PipelineExecutor(json); } catch (const std::exception &e) { - printf("Error while validating pipeline: %s\n%s\n", e.what(), json); + printf("Could not create pipeline: %s\n%s\n", e.what(), json); + executor = nullptr; } - if (valid) + if (executor) { - pipeline = new Pipeline(executor); - } - else - { - delete executor; - executor = NULL; - printf("The pipeline is invalid:\n%s\n", json); + bool valid = false; + + try + { + valid = executor->validate(); + } + catch (const std::exception &e) + { + printf("Error while validating pipeline: %s\n%s\n", e.what(), json); + } + + if (valid) + { + pipeline = new Pipeline(executor); + } + else + { + delete executor; + executor = NULL; + printf("The pipeline is invalid:\n%s\n", json); + } } } - } - return pipeline; -} + return pipeline; + } -void PDALDisposePipeline(PDALPipelinePtr pipeline) -{ - if (pipeline) + void PDALDisposePipeline(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); - delete ptr; + if (pipeline) + { + Pipeline *ptr = reinterpret_cast(pipeline); + delete ptr; + } } -} -size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) -{ - size_t result = 0; + size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) + { + size_t result = 0; + + if (pipeline && buffer && size > 0) + { + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + buffer[0] = '\0'; + buffer[size - 1] = '\0'; + + if (executor) + { + try + { + std::string s = executor->getPipeline(); + std::strncpy(buffer, s.c_str(), size - 1); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); + } + } + + } + + return result; + } - if (pipeline && buffer && size > 0) + size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - buffer[0] = '\0'; - buffer[size - 1] = '\0'; + size_t result = 0; - if (executor) + if (pipeline && metadata && size > 0) { - try + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + metadata[0] = '\0'; + metadata[size - 1] = '\0'; + + if (executor) { - std::string s = executor->getPipeline(); - std::strncpy(buffer, s.c_str(), size - 1); - result = std::min(s.length(), size); + try + { + std::string s = executor->getMetadata(); + std::strncpy(metadata, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); + } } - catch (const std::exception &e) + } + + return result; + } + + size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) + { + size_t result = 0; + + if (pipeline && schema && size > 0) + { + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + schema[0] = '\0'; + schema[size - 1] = '\0'; + + if (executor) { - printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); + try + { + std::string s = executor->getSchema(); + std::strncpy(schema, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's schema: %s\n", e.what()); + } } } + return result; } - return result; -} + size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) + { + size_t result = 0; -size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) -{ - size_t result = 0; + if (pipeline && log && size > 0) + { + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::PipelineExecutor *executor = ptr->get(); + log[0] = '\0'; + log[size - 1] = '\0'; + + if (executor) + { + try + { + std::string s = executor->getLog(); + std::strncpy(log, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's log: %s\n", e.what()); + } + } + } - if (pipeline && metadata && size > 0) + return result; + } + + void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) { Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - metadata[0] = '\0'; - metadata[size - 1] = '\0'; - if (executor) + if (ptr && ptr->get()) { try { - std::string s = executor->getMetadata(); - std::strncpy(metadata, s.c_str(), size); - result = std::min(s.length(), size); + ptr->get()->setLogLevel(level); } catch (const std::exception &e) { - printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); + printf("Found error while setting log level: %s\n", e.what()); } } } - return result; -} - -size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) -{ - size_t result = 0; + int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) + { + Pipeline *ptr = reinterpret_cast(pipeline); + return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; + } - if (pipeline && schema && size > 0) + int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) { + int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - schema[0] = '\0'; - schema[size - 1] = '\0'; - if (executor) + if (ptr && ptr->get()) { try { - std::string s = executor->getSchema(); - std::strncpy(schema, s.c_str(), size); - result = std::min(s.length(), size); + result = ptr->get()->execute(); } catch (const std::exception &e) { - printf("Found error while retrieving pipeline's schema: %s\n", e.what()); + printf("Found error while executing pipeline: %s", e.what()); } } - } - return result; -} - -size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) -{ - size_t result = 0; + return result; + } - if (pipeline && log && size > 0) + bool PDALValidatePipeline(PDALPipelinePtr pipeline) { + int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); - log[0] = '\0'; - log[size - 1] = '\0'; - if (executor) + if (ptr && ptr->get()) { try { - std::string s = executor->getLog(); - std::strncpy(log, s.c_str(), size); - result = std::min(s.length(), size); + result = ptr->get()->validate(); } catch (const std::exception &e) { - printf("Found error while retrieving pipeline's log: %s\n", e.what()); + printf("Found error while validating pipeline: %s", e.what()); } } - } - - return result; -} -void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) -{ - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr && ptr->get()) - { - try - { - ptr->get()->setLogLevel(level); - } - catch (const std::exception &e) - { - printf("Found error while setting log level: %s\n", e.what()); - } - } -} - -int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) -{ - Pipeline *ptr = reinterpret_cast(pipeline); - return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; -} - -int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) -{ - int64_t result = 0; - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr && ptr->get()) - { - try - { - result = ptr->get()->execute(); - } - catch (const std::exception &e) - { - printf("Found error while executing pipeline: %s", e.what()); - } + return result; } - return result; -} - -bool PDALValidatePipeline(PDALPipelinePtr pipeline) -{ - int64_t result = 0; - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr && ptr->get()) + PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) { - try - { - result = ptr->get()->validate(); - } - catch (const std::exception &e) - { - printf("Found error while validating pipeline: %s", e.what()); - } - } - - return result; -} - -PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) -{ - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::capi::PointViewIterator *views = nullptr; + Pipeline *ptr = reinterpret_cast(pipeline); + pdal::capi::PointViewIterator *views = nullptr; - if (ptr && ptr->get()) - { - try + if (ptr && ptr->get()) { - auto &v = ptr->get()->getManagerConst().views(); + try + { + auto &v = ptr->get()->getManagerConst().views(); - if (!v.empty()) + if (!v.empty()) + { + views = new pdal::capi::PointViewIterator(v); + } + } + catch (const std::exception &e) { - views = new pdal::capi::PointViewIterator(v); + printf("Found error while retrieving point views: %s\n", e.what()); } } - catch (const std::exception &e) - { - printf("Found error while retrieving point views: %s\n", e.what()); - } - } - return views; -} + return views; + } } } } diff --git a/source/pdal/pdalc_pointlayout.cpp b/source/pdal/pdalc_pointlayout.cpp index 253711c..11ed3d5 100644 --- a/source/pdal/pdalc_pointlayout.cpp +++ b/source/pdal/pdalc_pointlayout.cpp @@ -41,76 +41,76 @@ namespace capi PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout) { -PDALDimTypeListPtr types = NULL; -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + PDALDimTypeListPtr types = NULL; + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -if (nativeLayout) -{ - pdal::DimTypeList *list = new pdal::DimTypeList(nativeLayout->dimTypes()); + if (nativeLayout) + { + pdal::DimTypeList *list = new pdal::DimTypeList(nativeLayout->dimTypes()); - types = new pdal::capi::DimTypeList(list); -} + types = new pdal::capi::DimTypeList(list); + } -return types; + return types; } PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name) { -PDALDimType dim = PDALGetInvalidDimType(); -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + PDALDimType dim = PDALGetInvalidDimType(); + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -if (name && nativeLayout) -{ - pdal::DimType nativeDim = nativeLayout->findDimType(name); + if (name && nativeLayout) + { + pdal::DimType nativeDim = nativeLayout->findDimType(name); - dim.id = static_cast(nativeDim.m_id); - dim.type = static_cast(nativeDim.m_type); - dim.scale = nativeDim.m_xform.m_scale.m_val; - dim.offset = nativeDim.m_xform.m_offset.m_val; -} + dim.id = static_cast(nativeDim.m_id); + dim.type = static_cast(nativeDim.m_type); + dim.scale = nativeDim.m_xform.m_scale.m_val; + dim.offset = nativeDim.m_xform.m_offset.m_val; + } -return dim; + return dim; } size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name) { -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -return (name && nativeLayout) ? nativeLayout->dimSize(nativeLayout->findDim(name)) : 0; + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + return (name && nativeLayout) ? nativeLayout->dimSize(nativeLayout->findDim(name)) : 0; } size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name) { -size_t offset = 0; - -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + size_t offset = 0; -if (name && nativeLayout) -{ - pdal::DimType type = nativeLayout->findDimType(name); - pdal::DimTypeList dims = nativeLayout->dimTypes(); - std::string nameString = pdal::Dimension::name(type.m_id); + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); - for (auto dim : dims) + if (name && nativeLayout) { - if (nameString == pdal::Dimension::name(dim.m_id)) - { - break; - } - else + pdal::DimType type = nativeLayout->findDimType(name); + pdal::DimTypeList dims = nativeLayout->dimTypes(); + std::string nameString = pdal::Dimension::name(type.m_id); + + for (auto dim : dims) { - offset += nativeLayout->dimSize(dim.m_id); + if (nameString == pdal::Dimension::name(dim.m_id)) + { + break; + } + else + { + offset += nativeLayout->dimSize(dim.m_id); + } } } -} -return offset; + return offset; } size_t PDALGetPointSize(PDALPointLayoutPtr layout) { -pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); -return nativeLayout ? nativeLayout->pointSize() : 0; + pdal::PointLayoutPtr nativeLayout = reinterpret_cast(layout); + return nativeLayout ? nativeLayout->pointSize() : 0; } } } \ No newline at end of file diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 527d80c..ba2f805 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -39,212 +39,212 @@ namespace capi { extern "C" { -void PDALDisposePointView(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - if (wrapper) + void PDALDisposePointView(PDALPointViewPtr view) { - delete wrapper; - } -} - -int PDALGetPointViewId(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); + pdal::capi::PointView *wrapper = reinterpret_cast(view); - return wrapper && *wrapper ? (*wrapper)->id() : 0; -} - -uint64_t PDALGetPointViewSize(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - return wrapper && *wrapper ? (*wrapper)->size() : 0; -} - -bool PDALIsPointViewEmpty(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - return !wrapper || !*wrapper || (*wrapper)->empty(); -} + if (wrapper) + { + delete wrapper; + } + } -PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); + int PDALGetPointViewId(PDALPointViewPtr view) + { + pdal::capi::PointView *wrapper = reinterpret_cast(view); - PDALPointViewPtr ptr = nullptr; + return wrapper && *wrapper ? (*wrapper)->id() : 0; + } - if (wrapper && *wrapper) + uint64_t PDALGetPointViewSize(PDALPointViewPtr view) { - ptr = new pdal::capi::PointView(std::move((*wrapper)->makeNew())); + pdal::capi::PointView *wrapper = reinterpret_cast(view); + return wrapper && *wrapper ? (*wrapper)->size() : 0; } - return ptr; -} - -size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - size_t result = 0; + bool PDALIsPointViewEmpty(PDALPointViewPtr view) + { + pdal::capi::PointView *wrapper = reinterpret_cast(view); + return !wrapper || !*wrapper || (*wrapper)->empty(); + } - if (size > 0 && proj) + PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view) { - proj[0] = '\0'; - proj[size-1] = '\0'; + pdal::capi::PointView *wrapper = reinterpret_cast(view); + + PDALPointViewPtr ptr = nullptr; if (wrapper && *wrapper) { - std::string s = (*wrapper)->spatialReference().getProj4(); - std::strncpy(proj, s.c_str(), size - 1); - result = std::min(s.length(), size); + ptr = new pdal::capi::PointView(std::move((*wrapper)->makeNew())); } - } - - return result; -} -size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); - - size_t result = 0; + return ptr; + } - if (size > 0 && wkt) + size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size) { - wkt[0] = '\0'; - wkt[size-1] = '\0'; + pdal::capi::PointView *wrapper = reinterpret_cast(view); - if (wrapper && *wrapper) + size_t result = 0; + + if (size > 0 && proj) { - std::string s = (*wrapper)->spatialReference().getWKT(); + proj[0] = '\0'; + proj[size-1] = '\0'; - if (pretty) + if (wrapper && *wrapper) { - s = SpatialReference::prettyWkt(s); + std::string s = (*wrapper)->spatialReference().getProj4(); + std::strncpy(proj, s.c_str(), size - 1); + result = std::min(s.length(), size); } - - std::strncpy(wkt, s.c_str(), size - 1); - result = std::min(s.length(), size); } + + return result; } - return result; -} + size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty) + { + pdal::capi::PointView *wrapper = reinterpret_cast(view); -PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view) -{ - pdal::capi::PointView *wrapper = reinterpret_cast(view); + size_t result = 0; - PDALPointLayoutPtr layout = nullptr; + if (size > 0 && wkt) + { + wkt[0] = '\0'; + wkt[size-1] = '\0'; - if (wrapper && *wrapper) - { - layout = (*wrapper)->layout(); - } + if (wrapper && *wrapper) + { + std::string s = (*wrapper)->spatialReference().getWKT(); - return layout; -} + if (pretty) + { + s = SpatialReference::prettyWkt(s); + } -size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buf) -{ - size_t size = 0; + std::strncpy(wkt, s.c_str(), size - 1); + result = std::min(s.length(), size); + } + } - if (view && dims && buf) + return result; + } + + PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view) { - pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::capi::PointView *wrapper = reinterpret_cast(view); + + PDALPointLayoutPtr layout = nullptr; - pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); + if (wrapper && *wrapper) + { + layout = (*wrapper)->layout(); + } + return layout; + } + + size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buf) + { + size_t size = 0; - if (*capiView && *capiDims) + if (view && dims && buf) { - pdal::DimTypeList *list = capiDims->get(); + pdal::capi::PointView *capiView = reinterpret_cast(view); - (*capiView)->getPackedPoint(*list, idx, buf); + pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); - for (const auto &dim : *list) + + if (*capiView && *capiDims) { - size += pdal::Dimension::size(dim.m_type); + pdal::DimTypeList *list = capiDims->get(); + + (*capiView)->getPackedPoint(*list, idx, buf); + + for (const auto &dim : *list) + { + size += pdal::Dimension::size(dim.m_type); + } } } - } - - return size; -} -uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buf) -{ - uint64_t size = 0; + return size; + } - if (view && dims && buf) + uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buf) { - pdal::capi::PointView *capiView = reinterpret_cast(view); + uint64_t size = 0; - pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); + if (view && dims && buf) + { + pdal::capi::PointView *capiView = reinterpret_cast(view); + pdal::capi::DimTypeList *capiDims = reinterpret_cast(dims); - if (*capiView && *capiDims) - { - pdal::DimTypeList *list = capiDims->get(); - for (unsigned i = 0; i < (*capiView)->size(); ++i) + if (*capiView && *capiDims) { - size_t pointSize = 0; - (*capiView)->getPackedPoint(*list, i, buf); + pdal::DimTypeList *list = capiDims->get(); - for (const auto &dim : *list) + for (unsigned i = 0; i < (*capiView)->size(); ++i) { - pointSize += pdal::Dimension::size(dim.m_type); - } + size_t pointSize = 0; + (*capiView)->getPackedPoint(*list, i, buf); + + for (const auto &dim : *list) + { + pointSize += pdal::Dimension::size(dim.m_type); + } - buf += pointSize; - size += pointSize; + buf += pointSize; + size += pointSize; + } } } - } - - return size; -} -uint64_t PDALGetMeshSize(PDALPointViewPtr view) -{ - pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*wrapper)->mesh(); + return size; + } - return mesh ? static_cast((*mesh).size()) : 0; -} + uint64_t PDALGetMeshSize(PDALPointViewPtr view) + { + pdal::capi::PointView* wrapper = reinterpret_cast(view); + pdal::TriangularMesh* mesh=(*wrapper)->mesh(); -uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) -{ - size_t size = 0; + return mesh ? static_cast((*mesh).size()) : 0; + } - if (view && buff) + uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buff) { - pdal::capi::PointView* capiView = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*capiView)->mesh(); - + size_t size = 0; - if (*capiView && mesh) + if (view && buff) { - for (size_t idx = 0; idx < (*mesh).size(); ++idx) + pdal::capi::PointView* capiView = reinterpret_cast(view); + pdal::TriangularMesh* mesh=(*capiView)->mesh(); + + + if (*capiView && mesh) { - const Triangle& t = (*mesh)[idx]; - uint32_t a = (uint32_t)t.m_a; - std::memcpy(buff, &a, 4); - uint32_t b = (uint32_t)t.m_b; - std::memcpy(buff + 4, &b, 4); - uint32_t c = (uint32_t)t.m_c; - std::memcpy(buff + 8, &c, 4); - - buff += 12; - size += 12; + for (size_t idx = 0; idx < (*mesh).size(); ++idx) + { + const Triangle& t = (*mesh)[idx]; + uint32_t a = (uint32_t)t.m_a; + std::memcpy(buff, &a, 4); + uint32_t b = (uint32_t)t.m_b; + std::memcpy(buff + 4, &b, 4); + uint32_t c = (uint32_t)t.m_c; + std::memcpy(buff + 8, &c, 4); + + buff += 12; + size += 12; + } } } - } - return static_cast(size); -} + return static_cast(size); + } } } diff --git a/source/pdal/pdalc_pointviewiterator.cpp b/source/pdal/pdalc_pointviewiterator.cpp index 4649104..876930c 100644 --- a/source/pdal/pdalc_pointviewiterator.cpp +++ b/source/pdal/pdalc_pointviewiterator.cpp @@ -34,74 +34,74 @@ namespace pdal namespace capi { PointViewIterator::PointViewIterator(const pdal::PointViewSet& views) : -m_views(views) + m_views(views) { -reset(); + reset(); } bool PointViewIterator::hasNext() const { -return (m_itr != m_views.cend()); + return (m_itr != m_views.cend()); } const pdal::PointViewPtr PointViewIterator::next() { -return hasNext() ? *(m_itr++) : nullptr; + return hasNext() ? *(m_itr++) : nullptr; } void PointViewIterator::reset() { -m_itr = m_views.cbegin(); + m_itr = m_views.cbegin(); } extern "C" { -bool PDALHasNextPointView(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); - return ptr && ptr->hasNext(); -} - -PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); - PDALPointViewPtr view = nullptr; + bool PDALHasNextPointView(PDALPointViewIteratorPtr itr) + { + auto ptr = reinterpret_cast(itr); + return ptr && ptr->hasNext(); + } - if (ptr) + PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr) { - pdal::PointViewPtr v = ptr->next(); + auto ptr = reinterpret_cast(itr); + PDALPointViewPtr view = nullptr; - if (v) + if (ptr) { - view = new pdal::PointViewPtr(std::move(v)); - } - } + pdal::PointViewPtr v = ptr->next(); - return view; -} + if (v) + { + view = new pdal::PointViewPtr(std::move(v)); + } + } -void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); + return view; + } - if (ptr) + void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr) { - ptr->reset(); - } -} + auto ptr = reinterpret_cast(itr); -void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr) -{ - auto ptr = reinterpret_cast(itr); + if (ptr) + { + ptr->reset(); + } + } - if (ptr) + void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr) { - delete ptr; - ptr = nullptr; - itr = nullptr; + auto ptr = reinterpret_cast(itr); + + if (ptr) + { + delete ptr; + ptr = nullptr; + itr = nullptr; + } } -} } diff --git a/source/pdal/pdalc_pointviewiterator.h b/source/pdal/pdalc_pointviewiterator.h index eafee9b..4e7a64d 100644 --- a/source/pdal/pdalc_pointviewiterator.h +++ b/source/pdal/pdalc_pointviewiterator.h @@ -47,14 +47,14 @@ namespace capi class PointViewIterator { public: -PointViewIterator(const pdal::PointViewSet& views); -bool hasNext() const; -const pdal::PointViewPtr next(); -void reset(); + PointViewIterator(const pdal::PointViewSet& views); + bool hasNext() const; + const pdal::PointViewPtr next(); + void reset(); private: -const pdal::PointViewSet &m_views; -pdal::PointViewSet::const_iterator m_itr; + const pdal::PointViewSet &m_views; + pdal::PointViewSet::const_iterator m_itr; }; extern "C" From 9c704be7a77d9f267e4bd8dfe363cd0f2cfe74bc Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 10:12:19 +0100 Subject: [PATCH 36/73] added tests --- source/pdal/pdalc_pointview.cpp | 8 ++++-- tests/data/simple-reproject.json.in | 3 ++ tests/pdal/test_pdalc_pointview.c.in | 42 ++++++++++++++++++++++++++-- 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index f33baa1..1704a97 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -209,8 +209,12 @@ extern "C" uint64_t PDALGetMeshSize(PDALPointViewPtr view) { - pdal::capi::PointView* wrapper = reinterpret_cast(view); - pdal::TriangularMesh* mesh=(*wrapper)->mesh(); + pdal::capi::PointView *wrapper = reinterpret_cast(view); + pdal::TriangularMesh* mesh = nullptr; + + if (wrapper && *wrapper) { + mesh=(*wrapper)->mesh(); + } return mesh ? static_cast((*mesh).size()) : 0; } diff --git a/tests/data/simple-reproject.json.in b/tests/data/simple-reproject.json.in index 30695e3..a5fc627 100644 --- a/tests/data/simple-reproject.json.in +++ b/tests/data/simple-reproject.json.in @@ -7,6 +7,9 @@ { "type": "filters.reprojection", "out_srs": "EPSG:4326" + }, + { + "type": "filters.delaunay" } ] } diff --git a/tests/pdal/test_pdalc_pointview.c.in b/tests/pdal/test_pdalc_pointview.c.in index 6c6b37c..6e78813 100644 --- a/tests/pdal/test_pdalc_pointview.c.in +++ b/tests/pdal/test_pdalc_pointview.c.in @@ -172,7 +172,8 @@ TEST testPDALGetPointViewSize(void) TEST testPDALGetMeshSize(void) { - ASSERT_EQ(0, PDALGetMeshSize(NULL)); + uint64_t size = PDALGetMeshSize(NULL); + ASSERT(size == 0); PDALResetPointViewIterator(gPointViewIterator); bool hasNext = PDALHasNextPointView(gPointViewIterator); @@ -184,9 +185,9 @@ TEST testPDALGetMeshSize(void) // Dispose view before assertion to avoid CWE-404 // See http://cwe.mitre.org/data/definitions/404.html // See https://scan4.coverity.com/doc/en/cov_checker_ref.html#static_checker_RESOURCE_LEAK - size_t size = PDALGetMeshSize(view); + size = PDALGetMeshSize(view); PDALDisposePointView(view); - ASSERT(size == 0); + ASSERT(size == 2114); PASS(); @@ -675,6 +676,39 @@ TEST testPDALGetAllPackedPoints(void) PASS(); } +TEST testPDALGetAllTriangles(void) +{ + PDALResetPointViewIterator(gPointViewIterator); + bool hasNext = PDALHasNextPointView(gPointViewIterator); + ASSERT(hasNext); + + PDALPointViewPtr view = PDALGetNextPointView(gPointViewIterator); + ASSERT(view); + + uint64_t numPoints = PDALGetMeshSize(view); + + if (numPoints == 0) + { + PDALDisposePointView(view); + FAILm("PDALGetMeshSize returned tri size of zero for a valid view"); + } + + char *actualPoints = calloc(numPoints, 12); + + if (!actualPoints) + { + PDALDisposePointView(view); + FAILm("Could not allocate packed point list buffer"); + } + + uint64_t actualSize = PDALGetAllTriangles(view, actualPoints); + ASSERT_EQ(actualSize, 25368); + + free(actualPoints); + PDALDisposePointView(view); + PASS(); +} + GREATEST_SUITE(test_pdalc_pointview) { SET_SETUP(setup_test_pdalc_pointview, NULL); @@ -682,6 +716,7 @@ GREATEST_SUITE(test_pdalc_pointview) RUN_TEST(testPDALGetPointViewId); RUN_TEST(testPDALGetPointViewSize); + RUN_TEST(testPDALGetMeshSize); RUN_TEST(testPDALIsPointViewEmpty); RUN_TEST(testPDALClonePointView); RUN_TEST(testPDALGetPointViewProj4); @@ -689,6 +724,7 @@ GREATEST_SUITE(test_pdalc_pointview) RUN_TEST(testPDALGetPointViewLayout); RUN_TEST(testPDALGetPackedPoint); RUN_TEST(testPDALGetAllPackedPoints); + RUN_TEST(testPDALGetAllTriangles); SET_SETUP(NULL, NULL); SET_TEARDOWN(NULL, NULL); From 0aae54768ca2fbd2aa7608a0818787d21570e3c6 Mon Sep 17 00:00:00 2001 From: Paul Harwood Date: Fri, 30 Apr 2021 10:14:14 +0100 Subject: [PATCH 37/73] Update pdalc_pointview.cpp --- source/pdal/pdalc_pointview.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index 1704a97..b83ae42 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -212,7 +212,8 @@ extern "C" pdal::capi::PointView *wrapper = reinterpret_cast(view); pdal::TriangularMesh* mesh = nullptr; - if (wrapper && *wrapper) { + if (wrapper && *wrapper) + { mesh=(*wrapper)->mesh(); } From fb08dcc57c353b5c9cbc8192dc84e900af06986f Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 10:28:26 +0100 Subject: [PATCH 38/73] Revert "Automatic Documentation Update" This reverts commit 64dedecef68aca2f79b871c06dbeb0d782b66a88. --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 4 ++-- docs/doxygen/html/annotated.html | 4 ++-- docs/doxygen/html/classes.html | 4 ++-- docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 4 ++-- docs/doxygen/html/files.html | 4 ++-- docs/doxygen/html/functions.html | 4 ++-- docs/doxygen/html/functions_vars.html | 4 ++-- docs/doxygen/html/globals.html | 4 ++-- docs/doxygen/html/globals_func.html | 4 ++-- docs/doxygen/html/globals_type.html | 4 ++-- docs/doxygen/html/index.html | 4 ++-- docs/doxygen/html/pdalc_8h.html | 4 ++-- docs/doxygen/html/pdalc_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__config_8h.html | 4 ++-- docs/doxygen/html/pdalc__config_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__defines_8h.html | 4 ++-- docs/doxygen/html/pdalc__defines_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__dimtype_8h.html | 4 ++-- docs/doxygen/html/pdalc__dimtype_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__forward_8h.html | 4 ++-- docs/doxygen/html/pdalc__forward_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pipeline_8h.html | 4 ++-- docs/doxygen/html/pdalc__pipeline_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pointlayout_8h.html | 4 ++-- docs/doxygen/html/pdalc__pointlayout_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pointview_8h.html | 4 ++-- docs/doxygen/html/pdalc__pointview_8h_source.html | 4 ++-- docs/doxygen/html/pdalc__pointviewiterator_8h.html | 4 ++-- docs/doxygen/html/pdalc__pointviewiterator_8h_source.html | 4 ++-- docs/doxygen/html/struct_p_d_a_l_dim_type.html | 4 ++-- 30 files changed, 60 insertions(+), 60 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index 4269159..b6668dd 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -93,7 +93,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 90ca12c..830589a 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -97,7 +97,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index c398f9f..9d7320e 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -98,7 +98,7 @@ diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index cfc9bf1..d6a4011 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -122,7 +122,7 @@ diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 0b696fa..511b32f 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -106,7 +106,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index c5fad98..02b21dc 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index f8ac2d7..877d5e7 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index d0ed22f..bc10c48 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -26,7 +26,7 @@
          pdal-c -  test2 +  2.1.1
          C API for PDAL
          @@ -263,7 +263,7 @@

          - p -

            diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index 8026fa0..84689cd 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -26,7 +26,7 @@
            pdal-c -  test2 +  2.1.1
            C API for PDAL
            @@ -245,7 +245,7 @@

            - p -

              diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 2538644..5fc7ff9 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -108,7 +108,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index ccc0242..96d4a46 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -135,7 +135,7 @@

              diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index 762aab8..1cb7ec3 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index 82f30d6..e09a963 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -139,7 +139,7 @@ diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index a4b1fd9..fb44572 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -556,7 +556,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index dadc0fa..d5d981b 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -185,7 +185,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index ce88e49..2d0f040 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 0a5d28c..5069928 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -158,7 +158,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 1113c6e..6480ed4 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -392,7 +392,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 4fc1329..4a14415 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -172,7 +172,7 @@ diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index d306790..03f4667 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -228,7 +228,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 89eddf7..2f0ea67 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -200,7 +200,7 @@ diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index c5c6fc5..542b881 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -521,7 +521,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index ca86d04..ae9105e 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -184,7 +184,7 @@ diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index b858f40..e406620 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -291,7 +291,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index b6d57c8..3dd50f3 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -164,7 +164,7 @@ diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index b409082..7fb360a 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -504,7 +504,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index a84de98..6ab5a15 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -182,7 +182,7 @@ diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index 2c197c5..b61909b 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -226,7 +226,7 @@

                - +
              diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 3e9ae4a..6182d23 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -175,7 +175,7 @@ diff --git a/docs/doxygen/html/struct_p_d_a_l_dim_type.html b/docs/doxygen/html/struct_p_d_a_l_dim_type.html index 81c10b2..ff35465 100644 --- a/docs/doxygen/html/struct_p_d_a_l_dim_type.html +++ b/docs/doxygen/html/struct_p_d_a_l_dim_type.html @@ -26,7 +26,7 @@
              pdal-c -  test2 +  2.1.1
              C API for PDAL
              @@ -181,7 +181,7 @@

                - +
              From bc5a8bf06ebdd36bcfc2c416b7b897e67b980208 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 10:32:11 +0100 Subject: [PATCH 39/73] Revert "Automatic Documentation Update" This reverts commit cd2272b403aecfee01e74d98e367667cd3a0078f. --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 10 +- docs/doxygen/html/annotated.html | 10 +- docs/doxygen/html/classes.html | 27 +++-- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 10 +- docs/doxygen/html/doxygen.css | 107 ++++-------------- docs/doxygen/html/files.html | 10 +- docs/doxygen/html/functions.html | 10 +- docs/doxygen/html/functions_vars.html | 10 +- docs/doxygen/html/globals.html | 10 +- docs/doxygen/html/globals_func.html | 10 +- docs/doxygen/html/globals_type.html | 10 +- docs/doxygen/html/index.html | 52 ++------- docs/doxygen/html/navtreedata.js | 14 +-- docs/doxygen/html/navtreeindex0.js | 9 -- docs/doxygen/html/pdalc_8h.html | 10 +- docs/doxygen/html/pdalc_8h_source.html | 22 ++-- docs/doxygen/html/pdalc__config_8h.html | 10 +- .../doxygen/html/pdalc__config_8h_source.html | 35 +++--- docs/doxygen/html/pdalc__defines_8h.html | 10 +- .../html/pdalc__defines_8h_source.html | 16 +-- docs/doxygen/html/pdalc__dimtype_8h.html | 10 +- .../html/pdalc__dimtype_8h_source.html | 27 ++--- docs/doxygen/html/pdalc__forward_8h.html | 10 +- .../html/pdalc__forward_8h_source.html | 30 ++--- docs/doxygen/html/pdalc__pipeline_8h.html | 10 +- .../html/pdalc__pipeline_8h_source.html | 32 +++--- docs/doxygen/html/pdalc__pointlayout_8h.html | 10 +- .../html/pdalc__pointlayout_8h_source.html | 21 ++-- docs/doxygen/html/pdalc__pointview_8h.html | 10 +- .../html/pdalc__pointview_8h_source.html | 33 +++--- .../html/pdalc__pointviewiterator_8h.html | 10 +- .../pdalc__pointviewiterator_8h_source.html | 20 ++-- docs/doxygen/html/search/all_0.html | 13 +-- docs/doxygen/html/search/all_1.html | 13 +-- docs/doxygen/html/search/all_2.html | 13 +-- docs/doxygen/html/search/all_3.html | 13 +-- docs/doxygen/html/search/all_4.html | 13 +-- docs/doxygen/html/search/all_5.html | 13 +-- docs/doxygen/html/search/classes_0.html | 13 +-- docs/doxygen/html/search/files_0.html | 13 +-- docs/doxygen/html/search/files_1.html | 13 +-- docs/doxygen/html/search/functions_0.html | 13 +-- docs/doxygen/html/search/nomatches.html | 3 +- docs/doxygen/html/search/pages_0.html | 13 +-- docs/doxygen/html/search/search.css | 4 +- docs/doxygen/html/search/search.js | 12 +- docs/doxygen/html/search/typedefs_0.html | 13 +-- docs/doxygen/html/search/variables_0.html | 13 +-- docs/doxygen/html/search/variables_1.html | 13 +-- docs/doxygen/html/search/variables_2.html | 13 +-- docs/doxygen/html/search/variables_3.html | 13 +-- .../doxygen/html/struct_p_d_a_l_dim_type.html | 10 +- 52 files changed, 365 insertions(+), 497 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index b6668dd..fecebc1 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -3,7 +3,7 @@ - + pdal-c: /github/workspace/README.md File Reference @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -93,7 +93,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 830589a..9903c36 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structures @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -97,7 +97,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 9d7320e..5b93440 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structure Index @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -87,18 +87,23 @@
              Data Structure Index
              - -
              -
              -
              P
              -
              PDALDimType
              -
              + + + + + + + + +
                p  
              +
              PDALDimType   
              +
              diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index d6a4011..49dd1ad 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -3,7 +3,7 @@ - + pdal-c: pdal Directory Reference @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -122,7 +122,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index ffbff02..f640966 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.9.1 */ +/* The standard CSS for doxygen 1.8.20 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -103,96 +103,30 @@ caption { } span.legend { - font-size: 70%; - text-align: center; + font-size: 70%; + text-align: center; } h3.version { - font-size: 90%; - text-align: center; -} - -div.navtab { - border-right: 1px solid #A3B4D7; - padding-right: 15px; - text-align: right; - line-height: 110%; -} - -div.navtab table { - border-spacing: 0; -} - -td.navtab { - padding-right: 6px; - padding-left: 6px; -} -td.navtabHL { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + font-size: 90%; + text-align: center; } -a.navtab { - font-weight: bold; +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; } -div.qindex{ - text-align: center; +div.qindex, div.navpath { width: 100%; line-height: 140%; - font-size: 130%; - color: #A0A0A0; } -dt.alphachar{ - font-size: 180%; - font-weight: bold; -} - -.alphachar a{ - color: black; -} - -.alphachar a:hover, .alphachar a:visited{ - text-decoration: none; -} - -.classindex dl { - padding: 25px; - column-count:1 -} - -.classindex dd { - display:inline-block; - margin-left: 50px; - width: 90%; - line-height: 1.15em; -} - -.classindex dl.odd { - background-color: #F8F9FC; -} - -@media(min-width: 1120px) { - .classindex dl { - column-count:2 - } -} - -@media(min-width: 1320px) { - .classindex dl { - column-count:3 - } +div.navtab { + margin-right: 15px; } - /* @group Link Styling */ a { @@ -209,6 +143,17 @@ a:hover { text-decoration: underline; } +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #FFFFFF; + border: 1px double #869DCA; +} + .contents a.qindexHL:visited { color: #FFFFFF; } @@ -1481,12 +1426,6 @@ div.toc li.level4 { margin-left: 45px; } -span.emoji { - /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html - * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; - */ -} - .PageDocRTL-title div.toc li.level1 { margin-left: 0 !important; margin-right: 0; diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 511b32f..6677ae5 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -3,7 +3,7 @@ - + pdal-c: File List @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -106,7 +106,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index 02b21dc..146b6c6 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index 877d5e7..b71877c 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields - Variables @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index bc10c48..72e3bf2 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
              pdal-c -  2.1.1 +  v2.0.0
              C API for PDAL
              @@ -35,10 +35,10 @@ - + @@ -263,7 +263,7 @@

              - p -

                diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index 84689cd..c44e520 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
                pdal-c -  2.1.1 +  v2.0.0
                C API for PDAL
                @@ -35,10 +35,10 @@ - + @@ -245,7 +245,7 @@

                - p -

                  diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 5fc7ff9..d67724d 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -108,7 +108,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index 96d4a46..b5c020e 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -3,7 +3,7 @@ - + pdal-c: pdal-c: PDAL C API @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -89,53 +89,15 @@

                  )

                  -

                  -Basics

                  -

                  pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                  -

                  pdal-c is released under the BSD 3-clause license.

                  -

                  -Documentation

                  -

                  API Documentation

                  -

                  -Installation

                  -

                  The library can be installed as a package on Windows, Mac and Linux using Conda.

                  -
                  conda install -c conda-forge pdal-c
                  -

                  The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

                  -

                  -Dependencies

                  -

                  The library is dependent on PDAL and has currently been tested up to v2.2.0.

                  -

                  -Usage

                  -

                  An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

                  -

                  NOTE - these scripts are provided for information only as examples and are not supported in any way!

                  -

                  -For Developers

                  -

                  -Build on Windows

                  -

                  The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                  -
                  cd CAPI
                  -
                  make.bat
                  -

                  -Build on Linux and Mac

                  -

                  The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                  -
                  cd CAPI
                  -
                  cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCONDA_BUILD=OFF .
                  -
                  make
                  -
                  make install
                  -

                  -Code Style

                  -

                  This project enforces the PDAL code styles, which can checked as follows :

                  -
                    -
                  • On Windows - as per astylerc
                  • -
                  • On Linux by running ./check_all.bash
                  • -
                  +

                  pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                  +

                  pdal-c is released under the BSD 3-clause license.

                  diff --git a/docs/doxygen/html/navtreedata.js b/docs/doxygen/html/navtreedata.js index 22e8a9e..50ae779 100644 --- a/docs/doxygen/html/navtreedata.js +++ b/docs/doxygen/html/navtreedata.js @@ -25,19 +25,7 @@ var NAVTREE = [ [ "pdal-c", "index.html", [ - [ "pdal-c: PDAL C API", "index.html", [ - [ "Basics", "index.html#autotoc_md0", null ], - [ "Documentation", "index.html#autotoc_md1", null ], - [ "Installation", "index.html#autotoc_md2", [ - [ "Dependencies", "index.html#autotoc_md3", null ] - ] ], - [ "Usage", "index.html#autotoc_md4", null ], - [ "For Developers", "index.html#autotoc_md5", [ - [ "Build on Windows", "index.html#autotoc_md6", null ], - [ "Build on Linux and Mac", "index.html#autotoc_md7", null ], - [ "Code Style", "index.html#autotoc_md8", null ] - ] ] - ] ], + [ "pdal-c: PDAL C API", "index.html", null ], [ "Data Structures", "annotated.html", [ [ "Data Structures", "annotated.html", "annotated_dup" ], [ "Data Structure Index", "classes.html", null ], diff --git a/docs/doxygen/html/navtreeindex0.js b/docs/doxygen/html/navtreeindex0.js index 1ad6d12..e1948cd 100644 --- a/docs/doxygen/html/navtreeindex0.js +++ b/docs/doxygen/html/navtreeindex0.js @@ -11,15 +11,6 @@ var NAVTREEINDEX0 = "globals_type.html":[2,1,2], "index.html":[], "index.html":[0], -"index.html#autotoc_md0":[0,0], -"index.html#autotoc_md1":[0,1], -"index.html#autotoc_md2":[0,2], -"index.html#autotoc_md3":[0,2,0], -"index.html#autotoc_md4":[0,3], -"index.html#autotoc_md5":[0,4], -"index.html#autotoc_md6":[0,4,0], -"index.html#autotoc_md7":[0,4,1], -"index.html#autotoc_md8":[0,4,2], "pages.html":[], "pdalc_8h.html":[2,0,0,0], "pdalc_8h_source.html":[2,0,0,0], diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index 1cb7ec3..11023e8 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index e09a963..0c3af77 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -127,19 +127,19 @@
                  39 
                  40 #endif
                  -
                  Functions to retrieve PDAL version and configuration information.
                  -
                  Functions to inspect PDAL dimension types.
                  -
                  Functions to launch and inspect the results of a PDAL pipeline.
                  -
                  Functions to inspect the contents of a PDAL point layout.
                  -
                  Functions to inspect the contents of a PDAL point view.
                  -
                  Functions to inspect the contents of a PDAL point view iterator.
                  +
                  Functions to inspect the contents of a PDAL point view iterator.
                  +
                  Functions to inspect the contents of a PDAL point view.
                  +
                  Functions to launch and inspect the results of a PDAL pipeline.
                  +
                  Functions to inspect the contents of a PDAL point layout.
                  +
                  Functions to retrieve PDAL version and configuration information.
                  +
                  Functions to inspect PDAL dimension types.
                  diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index fb44572..652f1c5 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -556,7 +556,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index d5d981b..66b6e53 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -132,6 +132,7 @@
                  48 #else
                  49 #include <stddef.h> // for size_t
                  50 #endif
                  +
                  51 
                  58 PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                  59 
                  67 PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                  @@ -165,27 +166,27 @@
                  185 #endif
                  186 
                  187 #endif
                  + + +
                  PDALC_API void PDALSetGdalDataPath(const char *path)
                  Sets the path to the GDAL data directory.
                  +
                  PDALC_API size_t PDALSha1(char *sha1, size_t size)
                  Retrieves PDAL's Git commit SHA1 as a string.
                  +
                  Forward declarations for the PDAL C API.
                  +
                  PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
                  Retrieves the path to the GDAL data directory.
                  +
                  PDALC_API int PDALVersionInteger()
                  Returns an integer representation of the PDAL version.
                  +
                  PDALC_API size_t PDALFullVersionString(char *version, size_t size)
                  Retrieves the full PDAL version string.
                  +
                  PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size)
                  Retrieves the path to the proj4 data directory.
                  +
                  PDALC_API size_t PDALVersionString(char *version, size_t size)
                  Retrieves the PDAL version string.
                  PDALC_API int PDALVersionMinor()
                  Returns the PDAL minor version number.
                  PDALC_API int PDALVersionMajor()
                  Returns the PDAL major version number.
                  -
                  PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
                  Retrieves the path to the GDAL data directory.
                  -
                  PDALC_API int PDALVersionPatch()
                  Returns the PDAL patch version number.
                  PDALC_API size_t PDALDebugInformation(char *info, size_t size)
                  Retrieves PDAL debugging information.
                  -
                  PDALC_API size_t PDALPluginInstallPath(char *path, size_t size)
                  Retrieves the path to the PDAL installation.
                  -
                  PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size)
                  Retrieves the path to the proj4 data directory.
                  PDALC_API void PDALSetProj4DataPath(const char *path)
                  Sets the path to the proj4 data directory.
                  -
                  PDALC_API int PDALVersionInteger()
                  Returns an integer representation of the PDAL version.
                  -
                  PDALC_API void PDALSetGdalDataPath(const char *path)
                  Sets the path to the GDAL data directory.
                  -
                  PDALC_API size_t PDALVersionString(char *version, size_t size)
                  Retrieves the PDAL version string.
                  -
                  PDALC_API size_t PDALFullVersionString(char *version, size_t size)
                  Retrieves the full PDAL version string.
                  -
                  PDALC_API size_t PDALSha1(char *sha1, size_t size)
                  Retrieves PDAL's Git commit SHA1 as a string.
                  -
                  Forward declarations for the PDAL C API.
                  - - +
                  PDALC_API size_t PDALPluginInstallPath(char *path, size_t size)
                  Retrieves the path to the PDAL installation.
                  +
                  PDALC_API int PDALVersionPatch()
                  Returns the PDAL patch version number.
                  diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 2d0f040..48cb957 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 5069928..b335535 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -128,9 +128,9 @@
                  39 // GCC-compatible
                  40 #elif defined(__GNUC__)
                  41 #if defined(__ELF__)
                  -
                  42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
                  -
                  43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
                  -
                  44 #define PDALC_STATIC_API __attribute__((visibility("default")))
                  +
                  42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
                  +
                  43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
                  +
                  44 #define PDALC_STATIC_API __attribute__((visibility("default")))
                  45 // Use symbols compatible with Visual Studio in Windows
                  46 #elif defined(_WIN32)
                  47 #define PDALC_EXPORT_API __declspec(dllexport)
                  @@ -158,7 +158,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 6480ed4..9643507 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -392,7 +392,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 4a14415..7e155ac 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -132,6 +132,7 @@
                  48 #else
                  49 #include <stddef.h> // for size_t
                  50 #endif
                  +
                  51 
                  58 
                  @@ -155,24 +156,24 @@
                  130 }
                  131 #endif
                  132 #endif
                  + + +
                  PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
                  Returns the dimension type at the provided index from a dimension type list.
                  PDALC_API PDALDimType PDALGetInvalidDimType()
                  Returns the invalid dimension type.
                  +
                  Forward declarations for the PDAL C API.
                  PDALC_API void PDALDisposeDimTypeList(PDALDimTypeListPtr types)
                  Disposes the provided dimension type list.
                  -
                  PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
                  Returns the number of bytes required to store data referenced by a dimension type list.
                  -
                  PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size)
                  Retrieves the name of a dimension type's ID.
                  -
                  PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
                  Returns the dimension type at the provided index from a dimension type list.
                  -
                  PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size)
                  Retrieves the name of a dimension type's interpretation, i.e., its data type.
                  PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
                  Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                  -
                  PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
                  Returns the number of elements in a dimension type list.
                  -
                  Forward declarations for the PDAL C API.
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  +
                  PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
                  Returns the number of elements in a dimension type list.
                  +
                  PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size)
                  Retrieves the name of a dimension type's ID.
                  +
                  PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size)
                  Retrieves the name of a dimension type's interpretation, i.e., its data type.
                  +
                  PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
                  Returns the number of bytes required to store data referenced by a dimension type list.
                  A dimension type.
                  Definition: pdalc_forward.h:79
                  - - diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index 03f4667..e37d1ae 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -228,7 +228,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 2f0ea67..23f0508 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -182,25 +182,25 @@
                  110 
                  111 #endif /* PDALC_FORWARD_H */
                  - -
                  void * PDALPointViewPtr
                  A pointer to point view.
                  Definition: pdalc_forward.h:106
                  -
                  void * PDALPointViewIteratorPtr
                  A pointer to a point view iterator.
                  Definition: pdalc_forward.h:109
                  + + +
                  double offset
                  The dimension's offset value.
                  Definition: pdalc_forward.h:90
                  uint64_t PDALPointId
                  An index to a point in a list.
                  Definition: pdalc_forward.h:100
                  -
                  void * PDALPipelinePtr
                  A pointer to a pipeline.
                  Definition: pdalc_forward.h:97
                  -
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  +
                  uint32_t type
                  The dimension's interpretation type.
                  Definition: pdalc_forward.h:84
                  +
                  void * PDALPointViewIteratorPtr
                  A pointer to a point view iterator.
                  Definition: pdalc_forward.h:109
                  void * PDALPointLayoutPtr
                  A pointer to a point layout.
                  Definition: pdalc_forward.h:103
                  -
                  A dimension type.
                  Definition: pdalc_forward.h:79
                  -
                  double offset
                  The dimension's offset value.
                  Definition: pdalc_forward.h:90
                  uint32_t id
                  The dimension's identifier.
                  Definition: pdalc_forward.h:81
                  +
                  void * PDALPipelinePtr
                  A pointer to a pipeline.
                  Definition: pdalc_forward.h:97
                  +
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  double scale
                  The dimension's scaling factor.
                  Definition: pdalc_forward.h:87
                  -
                  uint32_t type
                  The dimension's interpretation type.
                  Definition: pdalc_forward.h:84
                  - - + +
                  void * PDALPointViewPtr
                  A pointer to point view.
                  Definition: pdalc_forward.h:106
                  +
                  A dimension type.
                  Definition: pdalc_forward.h:79
                  diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index 542b881..3ca52a0 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -521,7 +521,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index ae9105e..7efec0f 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -164,27 +164,27 @@
                  161 }
                  162 #endif /* _cplusplus */
                  163 #endif /* PDALC_PIPELINE_H */
                  + + +
                  PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                  Retrieves a pipeline's execution log.
                  +
                  PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                  Returns a pipeline's log level.
                  Forward declarations for the PDAL C API.
                  -
                  void * PDALPointViewIteratorPtr
                  A pointer to a point view iterator.
                  Definition: pdalc_forward.h:109
                  -
                  void * PDALPipelinePtr
                  A pointer to a pipeline.
                  Definition: pdalc_forward.h:97
                  -
                  PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline)
                  Disposes a PDAL pipeline.
                  -
                  PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
                  Executes a pipeline.
                  -
                  PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
                  Creates a PDAL pipeline from a JSON text string.
                  +
                  PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
                  Validates a pipeline.
                  PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
                  Sets a pipeline's log level.
                  -
                  PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                  Returns a pipeline's log level.
                  +
                  void * PDALPointViewIteratorPtr
                  A pointer to a point view iterator.
                  Definition: pdalc_forward.h:109
                  +
                  PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                  Retrieves a pipeline's computed metadata.
                  PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
                  Retrieves a pipeline's computed schema.
                  -
                  PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
                  Validates a pipeline.
                  PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size)
                  Retrieves a string representation of a pipeline.
                  -
                  PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                  Retrieves a pipeline's execution log.
                  -
                  PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                  Retrieves a pipeline's computed metadata.
                  PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline)
                  Gets the resulting point views from a pipeline execution.
                  - - +
                  void * PDALPipelinePtr
                  A pointer to a pipeline.
                  Definition: pdalc_forward.h:97
                  +
                  PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
                  Executes a pipeline.
                  +
                  PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline)
                  Disposes a PDAL pipeline.
                  +
                  PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
                  Creates a PDAL pipeline from a JSON text string.
                  diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index e406620..7809d9e 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -291,7 +291,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 3dd50f3..39f23fa 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -132,6 +132,7 @@
                  49 #else
                  50 #include <stddef.h> // for size_t
                  51 #endif
                  +
                  52 
                  62 
                  71 PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name);
                  @@ -149,22 +150,22 @@
                  105 #endif
                  106 
                  107 #endif
                  + +
                  Forward declarations for the PDAL C API.
                  -
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  -
                  void * PDALPointLayoutPtr
                  A pointer to a point layout.
                  Definition: pdalc_forward.h:103
                  PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name)
                  Returns the byte size of a dimension type value within a layout.
                  -
                  PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout)
                  Returns the list of dimension types used by the provided layout.
                  PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout)
                  Returns the byte size of a point in the provided layout.
                  +
                  void * PDALPointLayoutPtr
                  A pointer to a point layout.
                  Definition: pdalc_forward.h:103
                  +
                  PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout)
                  Returns the list of dimension types used by the provided layout.
                  PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name)
                  Finds the dimension type identified by the provided name in a layout.
                  +
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  PDALC_API size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name)
                  Returns the byte offset of a dimension type within a layout.
                  A dimension type.
                  Definition: pdalc_forward.h:79
                  - - diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 7fb360a..2914774 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -504,7 +504,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index 6ab5a15..bd3b1dc 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -134,6 +134,7 @@
                  50 #include <stddef.h> // for size_t
                  51 #include <stdint.h> // for uint64_t
                  52 #endif
                  +
                  53 
                  59 
                  @@ -161,28 +162,28 @@
                  174 #endif /* __cplusplus */
                  175 
                  176 #endif
                  + + +
                  PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
                  Retrieves data for all points based on the provided dimension list.
                  +
                  PDALC_API PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view)
                  Clones the provided point view.
                  Forward declarations for the PDAL C API.
                  -
                  void * PDALPointViewPtr
                  A pointer to point view.
                  Definition: pdalc_forward.h:106
                  uint64_t PDALPointId
                  An index to a point in a list.
                  Definition: pdalc_forward.h:100
                  -
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  -
                  void * PDALPointLayoutPtr
                  A pointer to a point layout.
                  Definition: pdalc_forward.h:103
                  -
                  PDALC_API int PDALGetPointViewId(PDALPointViewPtr view)
                  Returns the ID of the provided point view.
                  -
                  PDALC_API void PDALDisposePointView(PDALPointViewPtr view)
                  Disposes the provided point view.
                  -
                  PDALC_API PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view)
                  Clones the provided point view.
                  -
                  PDALC_API bool PDALIsPointViewEmpty(PDALPointViewPtr view)
                  Returns whether the provided point view is empty, i.e., has no points.
                  PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer)
                  Retrieves data for a point based on the provided dimension list.
                  -
                  PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
                  Retrieves data for all points based on the provided dimension list.
                  PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty)
                  Returns the Well-Known Text (WKT) projection string for the provided point view.
                  +
                  void * PDALPointLayoutPtr
                  A pointer to a point layout.
                  Definition: pdalc_forward.h:103
                  +
                  PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view)
                  Returns the point layout for the provided point view.
                  +
                  PDALC_API bool PDALIsPointViewEmpty(PDALPointViewPtr view)
                  Returns whether the provided point view is empty, i.e., has no points.
                  PDALC_API size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size)
                  Returns the proj4 projection string for the provided point view.
                  +
                  void * PDALDimTypeListPtr
                  A pointer to a dimension type list.
                  Definition: pdalc_forward.h:94
                  +
                  PDALC_API void PDALDisposePointView(PDALPointViewPtr view)
                  Disposes the provided point view.
                  +
                  PDALC_API int PDALGetPointViewId(PDALPointViewPtr view)
                  Returns the ID of the provided point view.
                  PDALC_API uint64_t PDALGetPointViewSize(PDALPointViewPtr view)
                  Returns the number of points in the provided view.
                  -
                  PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view)
                  Returns the point layout for the provided point view.
                  - - +
                  void * PDALPointViewPtr
                  A pointer to point view.
                  Definition: pdalc_forward.h:106
                  diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index b61909b..fa19a4e 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h File Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -226,7 +226,7 @@

                    - +
                  diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 6182d23..864fa5d 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h Source File @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -162,20 +162,20 @@
                  103 #endif /* __cplusplus */
                  104 
                  105 #endif
                  + + +
                  PDALC_API void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr)
                  Disposes the provided point view iterator.
                  Forward declarations for the PDAL C API.
                  -
                  void * PDALPointViewPtr
                  A pointer to point view.
                  Definition: pdalc_forward.h:106
                  void * PDALPointViewIteratorPtr
                  A pointer to a point view iterator.
                  Definition: pdalc_forward.h:109
                  PDALC_API void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr)
                  Resets the provided point view iterator to its starting position.
                  -
                  PDALC_API bool PDALHasNextPointView(PDALPointViewIteratorPtr itr)
                  Returns whether another point view is available in the provided iterator.
                  -
                  PDALC_API void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr)
                  Disposes the provided point view iterator.
                  PDALC_API PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr)
                  Returns the next available point view in the provided iterator.
                  - - +
                  PDALC_API bool PDALHasNextPointView(PDALPointViewIteratorPtr itr)
                  Returns whether another point view is available in the provided iterator.
                  +
                  void * PDALPointViewPtr
                  A pointer to point view.
                  Definition: pdalc_forward.h:106
                  diff --git a/docs/doxygen/html/search/all_0.html b/docs/doxygen/html/search/all_0.html index 1ec5b2d..a34319f 100644 --- a/docs/doxygen/html/search/all_0.html +++ b/docs/doxygen/html/search/all_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/all_1.html b/docs/doxygen/html/search/all_1.html index 9f80e90..51aff6f 100644 --- a/docs/doxygen/html/search/all_1.html +++ b/docs/doxygen/html/search/all_1.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/all_2.html b/docs/doxygen/html/search/all_2.html index 02cfffc..1f81f66 100644 --- a/docs/doxygen/html/search/all_2.html +++ b/docs/doxygen/html/search/all_2.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/all_3.html b/docs/doxygen/html/search/all_3.html index 39767b8..2e31ab9 100644 --- a/docs/doxygen/html/search/all_3.html +++ b/docs/doxygen/html/search/all_3.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/all_4.html b/docs/doxygen/html/search/all_4.html index fc40463..0540c16 100644 --- a/docs/doxygen/html/search/all_4.html +++ b/docs/doxygen/html/search/all_4.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/all_5.html b/docs/doxygen/html/search/all_5.html index 9dd9344..ebec30b 100644 --- a/docs/doxygen/html/search/all_5.html +++ b/docs/doxygen/html/search/all_5.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/classes_0.html b/docs/doxygen/html/search/classes_0.html index af8159e..7e0afc8 100644 --- a/docs/doxygen/html/search/classes_0.html +++ b/docs/doxygen/html/search/classes_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/files_0.html b/docs/doxygen/html/search/files_0.html index 9498842..76b64f5 100644 --- a/docs/doxygen/html/search/files_0.html +++ b/docs/doxygen/html/search/files_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/files_1.html b/docs/doxygen/html/search/files_1.html index 7050ef4..c8edef8 100644 --- a/docs/doxygen/html/search/files_1.html +++ b/docs/doxygen/html/search/files_1.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/functions_0.html b/docs/doxygen/html/search/functions_0.html index eb4c501..f04535a 100644 --- a/docs/doxygen/html/search/functions_0.html +++ b/docs/doxygen/html/search/functions_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/nomatches.html b/docs/doxygen/html/search/nomatches.html index 2b9360b..4377320 100644 --- a/docs/doxygen/html/search/nomatches.html +++ b/docs/doxygen/html/search/nomatches.html @@ -1,6 +1,5 @@ - - + diff --git a/docs/doxygen/html/search/pages_0.html b/docs/doxygen/html/search/pages_0.html index 8517b48..a281c4b 100644 --- a/docs/doxygen/html/search/pages_0.html +++ b/docs/doxygen/html/search/pages_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/search.css b/docs/doxygen/html/search/search.css index 9074198..933cf08 100644 --- a/docs/doxygen/html/search/search.css +++ b/docs/doxygen/html/search/search.css @@ -204,21 +204,19 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; - font-family: Arial, Verdana, sans-serif; } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; - font-family: Arial, Verdana, sans-serif; } .SRResult { display: none; } -div.searchresults { +DIV.searchresults { margin-left: 10px; margin-right: 10px; } diff --git a/docs/doxygen/html/search/search.js b/docs/doxygen/html/search/search.js index fb226f7..92b6094 100644 --- a/docs/doxygen/html/search/search.js +++ b/docs/doxygen/html/search/search.js @@ -80,10 +80,9 @@ function getYPos(item) storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ -function SearchBox(name, resultsPath, inFrame, label, extension) +function SearchBox(name, resultsPath, inFrame, label) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } - if (!extension || extension == "") { extension = ".html"; } // ---------- Instance variables this.name = name; @@ -98,7 +97,6 @@ function SearchBox(name, resultsPath, inFrame, label, extension) this.searchActive = false; this.insideFrame = inFrame; this.searchLabel = label; - this.extension = extension; // ----------- DOM Elements @@ -349,13 +347,13 @@ function SearchBox(name, resultsPath, inFrame, label, extension) if (idx!=-1) { var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; resultsPageWithSearch = resultsPage+'?'+escape(searchValue); hasResultsPage = true; } else // nothing available for this search term { - resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPage = this.resultsPath + '/nomatches.html'; resultsPageWithSearch = resultsPage; hasResultsPage = false; } @@ -441,12 +439,12 @@ function SearchResults(name) while (element && element!=parentElement) { - if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + if (element.nodeName == 'DIV' && element.className == 'SRChildren') { return element; } - if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + if (element.nodeName == 'DIV' && element.hasChildNodes()) { element = element.firstChild; } diff --git a/docs/doxygen/html/search/typedefs_0.html b/docs/doxygen/html/search/typedefs_0.html index a4684c4..b66f0a7 100644 --- a/docs/doxygen/html/search/typedefs_0.html +++ b/docs/doxygen/html/search/typedefs_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/variables_0.html b/docs/doxygen/html/search/variables_0.html index 1e477c0..2edd111 100644 --- a/docs/doxygen/html/search/variables_0.html +++ b/docs/doxygen/html/search/variables_0.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/variables_1.html b/docs/doxygen/html/search/variables_1.html index ea73d9a..98b95a9 100644 --- a/docs/doxygen/html/search/variables_1.html +++ b/docs/doxygen/html/search/variables_1.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/variables_2.html b/docs/doxygen/html/search/variables_2.html index 0580462..3e0c591 100644 --- a/docs/doxygen/html/search/variables_2.html +++ b/docs/doxygen/html/search/variables_2.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/search/variables_3.html b/docs/doxygen/html/search/variables_3.html index 0d69e76..7867da3 100644 --- a/docs/doxygen/html/search/variables_3.html +++ b/docs/doxygen/html/search/variables_3.html @@ -1,8 +1,7 @@ - - + - + @@ -11,14 +10,14 @@
                  Loading...
                  - +-->
                  Searching...
                  No Matches
                  - +-->
                  diff --git a/docs/doxygen/html/struct_p_d_a_l_dim_type.html b/docs/doxygen/html/struct_p_d_a_l_dim_type.html index ff35465..78a3fa9 100644 --- a/docs/doxygen/html/struct_p_d_a_l_dim_type.html +++ b/docs/doxygen/html/struct_p_d_a_l_dim_type.html @@ -3,7 +3,7 @@ - + pdal-c: PDALDimType Struct Reference @@ -26,7 +26,7 @@
                  pdal-c -  2.1.1 +  v2.0.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -181,7 +181,7 @@

                    - +
                  From 6977af8880d7e1582d0e0b18eca9c9bd6eaf9d53 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 30 Apr 2021 10:51:27 +0100 Subject: [PATCH 40/73] doc updates --- CHANGELOG.md | 11 +++++++++ README.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9d2564c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +# Version 2.1.0 + +This version adds + +- Access to face data in PDAL using the `GetMeshSize` and `getAllTriangles` methods, +- Updates the sample C# P/Invoke scripts to add the Mesh functions and remove depedencies on Unity. Asdded .csproj files and improved some signatures +- added more examples to readme. + +# Version 2.0.0 + +This was the first version released through conda. \ No newline at end of file diff --git a/README.md b/README.md index 9e838eb..24232e9 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,74 @@ An example of the use of the API is given in the `csharp` folder which contains NOTE - these scripts are provided for information only as examples and are not supported in any way! +## Example C# Program + +``` c# +using System; +using System.Collections.Generic; +using Pdal; +using Newtonsoft.Json; +using g3; + +namespace pdal_mesh +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + Config pdal = new Config(); + Console.WriteLine(pdal.Version); + + List pipe = new List(); + pipe.Add(".../CAPI/tests/data/las/1.2-with-color.las"); + pipe.Add(new + { + type = "filters.splitter", + length = 1000 + }); + pipe.Add(new + { + type = "filters.delaunay" + }); + + string json = JsonConvert.SerializeObject(pipe.ToArray()); + + Pipeline pl = new Pipeline(json); + + long count = pl.Execute(); + + Console.WriteLine($"Point Count is {count}"); + + using (PointViewIterator views = pl.Views) { + views.Reset(); + + while (views.HasNext()) + { + PointView view = views.Next; + if (view != null) + { + Console.WriteLine($"Point Count is {view.Size}"); + Console.WriteLine($"Triangle Count is {view.MeshSize}"); + + BpcData pc = view.GetBakedPointCloud(); + + DMesh3 mesh = view.getMesh(); + + } + } + } + } + } +} +``` + +This takes a LAS file, splits the file into tiles and then creates a Delaunay Triangulation (i.e. Mesh) for each one. + +This code uses the sample bindings as-is and has a dependency on [Geometry3Sharp](https://github.com/gradientspace/geometry3Sharp) only. + +Note that `BcpData` is a custom data structure that holds the Point Cloud in a form suitable to create a [Baked PointCloud](https://medium.com/realities-io/point-cloud-rendering-7bd83c6220c8) suitable for rendering as a VFX graph in Unity. This is an efficient way to display point cloud data in VR and I have used it successfully with point clouds of 10 million points. + # For Developers ## Build on Windows From b52a093ae5884cdece3db9b2b0df263cc89c83c3 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sun, 2 May 2021 21:41:19 +0000 Subject: [PATCH 41/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 10 +- docs/doxygen/html/annotated.html | 10 +- docs/doxygen/html/classes.html | 27 ++--- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 10 +- docs/doxygen/html/doxygen.css | 107 ++++++++++++---- docs/doxygen/html/files.html | 10 +- docs/doxygen/html/functions.html | 10 +- docs/doxygen/html/functions_vars.html | 10 +- docs/doxygen/html/globals.html | 19 ++- docs/doxygen/html/globals_func.html | 16 ++- docs/doxygen/html/globals_type.html | 13 +- docs/doxygen/html/index.html | 114 ++++++++++++++++-- docs/doxygen/html/navtreedata.js | 16 ++- docs/doxygen/html/navtreeindex0.js | 37 ++++-- docs/doxygen/html/pdalc_8h.html | 10 +- docs/doxygen/html/pdalc_8h_source.html | 22 ++-- docs/doxygen/html/pdalc__config_8h.html | 10 +- .../doxygen/html/pdalc__config_8h_source.html | 35 +++--- docs/doxygen/html/pdalc__defines_8h.html | 10 +- .../html/pdalc__defines_8h_source.html | 16 +-- docs/doxygen/html/pdalc__dimtype_8h.html | 10 +- .../html/pdalc__dimtype_8h_source.html | 29 +++-- docs/doxygen/html/pdalc__forward_8h.html | 29 ++++- docs/doxygen/html/pdalc__forward_8h.js | 1 + .../html/pdalc__forward_8h_source.html | 110 +++++++++-------- docs/doxygen/html/pdalc__pipeline_8h.html | 10 +- .../html/pdalc__pipeline_8h_source.html | 32 ++--- docs/doxygen/html/pdalc__pointlayout_8h.html | 10 +- .../html/pdalc__pointlayout_8h_source.html | 23 ++-- docs/doxygen/html/pdalc__pointview_8h.html | 86 ++++++++++++- docs/doxygen/html/pdalc__pointview_8h.js | 2 + .../html/pdalc__pointview_8h_source.html | 55 +++++---- .../html/pdalc__pointviewiterator_8h.html | 10 +- .../pdalc__pointviewiterator_8h_source.html | 22 ++-- docs/doxygen/html/search/all_0.html | 13 +- docs/doxygen/html/search/all_1.html | 13 +- docs/doxygen/html/search/all_2.html | 13 +- docs/doxygen/html/search/all_2.js | 93 +++++++------- docs/doxygen/html/search/all_3.html | 13 +- docs/doxygen/html/search/all_3.js | 2 +- docs/doxygen/html/search/all_4.html | 13 +- docs/doxygen/html/search/all_4.js | 2 +- docs/doxygen/html/search/all_5.html | 13 +- docs/doxygen/html/search/all_5.js | 2 +- docs/doxygen/html/search/classes_0.html | 13 +- docs/doxygen/html/search/classes_0.js | 2 +- docs/doxygen/html/search/files_0.html | 13 +- docs/doxygen/html/search/files_0.js | 18 +-- docs/doxygen/html/search/files_1.html | 13 +- docs/doxygen/html/search/files_1.js | 2 +- docs/doxygen/html/search/functions_0.html | 13 +- docs/doxygen/html/search/functions_0.js | 104 ++++++++-------- docs/doxygen/html/search/nomatches.html | 3 +- docs/doxygen/html/search/pages_0.html | 13 +- docs/doxygen/html/search/pages_0.js | 2 +- docs/doxygen/html/search/search.css | 4 +- docs/doxygen/html/search/search.js | 12 +- docs/doxygen/html/search/typedefs_0.html | 13 +- docs/doxygen/html/search/typedefs_0.js | 13 +- docs/doxygen/html/search/variables_0.html | 13 +- docs/doxygen/html/search/variables_0.js | 2 +- docs/doxygen/html/search/variables_1.html | 13 +- docs/doxygen/html/search/variables_1.js | 2 +- docs/doxygen/html/search/variables_2.html | 13 +- docs/doxygen/html/search/variables_2.js | 2 +- docs/doxygen/html/search/variables_3.html | 13 +- docs/doxygen/html/search/variables_3.js | 2 +- .../doxygen/html/struct_p_d_a_l_dim_type.html | 10 +- 68 files changed, 880 insertions(+), 546 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index fecebc1..2b6d651 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -3,7 +3,7 @@ - + pdal-c: /github/workspace/README.md File Reference @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -93,7 +93,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 9903c36..cdecfd3 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structures @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -97,7 +97,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 5b93440..b1d8cad 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structure Index @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -87,23 +87,18 @@
                  Data Structure Index
                  - - - - - - - - -
                    p  
                  -
                  PDALDimType   
                  - + +
                  +
                  +
                  P
                  +
                  PDALDimType
                  +
                  diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index 49dd1ad..9932fac 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -3,7 +3,7 @@ - + pdal-c: pdal Directory Reference @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -122,7 +122,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index f640966..ffbff02 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.20 */ +/* The standard CSS for doxygen 1.9.1 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -103,30 +103,96 @@ caption { } span.legend { - font-size: 70%; - text-align: center; + font-size: 70%; + text-align: center; } h3.version { - font-size: 90%; - text-align: center; + font-size: 90%; + text-align: center; } -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; } -div.qindex, div.navpath { +div.qindex{ + text-align: center; width: 100%; line-height: 140%; + font-size: 130%; + color: #A0A0A0; } -div.navtab { - margin-right: 15px; +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; } +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + /* @group Link Styling */ a { @@ -143,17 +209,6 @@ a:hover { text-decoration: underline; } -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #FFFFFF; - border: 1px double #869DCA; -} - .contents a.qindexHL:visited { color: #FFFFFF; } @@ -1426,6 +1481,12 @@ div.toc li.level4 { margin-left: 45px; } +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + .PageDocRTL-title div.toc li.level1 { margin-left: 0 !important; margin-right: 0; diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 6677ae5..9cdab88 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -3,7 +3,7 @@ - + pdal-c: File List @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -106,7 +106,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index 146b6c6..2ba068f 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index b71877c..103cf86 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields - Variables @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -102,7 +102,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index 72e3bf2..5647206 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
                  pdal-c -  v2.0.0 +  v2.1.0
                  C API for PDAL
                  @@ -35,10 +35,10 @@ - + @@ -122,6 +122,9 @@

                  - p -

                  • PDALGetAllPackedPoints() : pdalc_pointview.h
                  • +
                  • PDALGetAllTriangles() +: pdalc_pointview.h +
                  • PDALGetDimPackedOffset() : pdalc_pointlayout.h
                  • @@ -152,6 +155,9 @@

                    - p -

                    • PDALGetInvalidDimType() : pdalc_dimtype.h
                    • +
                    • PDALGetMeshSize() +: pdalc_pointview.h +
                    • PDALGetNextPointView() : pdalc_pointviewiterator.h
                    • @@ -206,6 +212,9 @@

                      - p -

                      • PDALIsPointViewEmpty() : pdalc_pointview.h
                      • +
                      • PDALMeshPtr +: pdalc_forward.h +
                      • PDALPipelinePtr : pdalc_forward.h
                      • @@ -263,7 +272,7 @@

                        - p -

                          diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index c44e520..60aa25c 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
                          pdal-c -  v2.0.0 +  v2.1.0
                          C API for PDAL
                          @@ -35,10 +35,10 @@ - + @@ -119,6 +119,9 @@

                          - p -

                          • PDALGetAllPackedPoints() : pdalc_pointview.h
                          • +
                          • PDALGetAllTriangles() +: pdalc_pointview.h +
                          • PDALGetDimPackedOffset() : pdalc_pointlayout.h
                          • @@ -149,6 +152,9 @@

                            - p -

                            • PDALGetInvalidDimType() : pdalc_dimtype.h
                            • +
                            • PDALGetMeshSize() +: pdalc_pointview.h +
                            • PDALGetNextPointView() : pdalc_pointviewiterator.h
                            • @@ -245,7 +251,7 @@

                              - p -

                                diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index d67724d..7083e44 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -87,6 +87,9 @@
                              • PDALDimTypeListPtr : pdalc_forward.h
                              • +
                              • PDALMeshPtr +: pdalc_forward.h +
                              • PDALPipelinePtr : pdalc_forward.h
                              • @@ -108,7 +111,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index b5c020e..e0d809e 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -3,7 +3,7 @@ - + pdal-c: pdal-c: PDAL C API @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -89,15 +89,115 @@

                                )

                                -

                                pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                                -

                                pdal-c is released under the BSD 3-clause license.

                                +

                                +Basics

                                +

                                pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                                +

                                pdal-c is released under the BSD 3-clause license.

                                +

                                +Documentation

                                +

                                API Documentation

                                +

                                +Installation

                                +

                                The library can be installed as a package on Windows, Mac and Linux using Conda.

                                +
                                conda install -c conda-forge pdal-c
                                +

                                The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

                                +

                                +Dependencies

                                +

                                The library is dependent on PDAL and has currently been tested up to v2.2.0.

                                +

                                +Usage

                                +

                                An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

                                +

                                NOTE - these scripts are provided for information only as examples and are not supported in any way!

                                +

                                +Example C# Program

                                +
                                using System;
                                +
                                using System.Collections.Generic;
                                +
                                using Pdal;
                                +
                                using Newtonsoft.Json;
                                +
                                using g3;
                                +
                                +
                                namespace pdal_mesh
                                +
                                {
                                +
                                class Program
                                +
                                {
                                +
                                static void Main(string[] args)
                                +
                                {
                                +
                                Console.WriteLine("Hello World!");
                                +
                                Config pdal = new Config();
                                +
                                Console.WriteLine(pdal.Version);
                                +
                                +
                                List<object> pipe = new List<object>();
                                +
                                pipe.Add(".../CAPI/tests/data/las/1.2-with-color.las");
                                +
                                pipe.Add(new
                                +
                                {
                                +
                                type = "filters.splitter",
                                +
                                length = 1000
                                +
                                });
                                +
                                pipe.Add(new
                                +
                                {
                                +
                                type = "filters.delaunay"
                                +
                                });
                                +
                                +
                                string json = JsonConvert.SerializeObject(pipe.ToArray());
                                +
                                +
                                Pipeline pl = new Pipeline(json);
                                +
                                +
                                long count = pl.Execute();
                                +
                                +
                                Console.WriteLine($"Point Count is {count}");
                                +
                                +
                                using (PointViewIterator views = pl.Views) {
                                +
                                views.Reset();
                                +
                                +
                                while (views.HasNext())
                                +
                                {
                                +
                                PointView view = views.Next;
                                +
                                if (view != null)
                                +
                                {
                                +
                                Console.WriteLine($"Point Count is {view.Size}");
                                +
                                Console.WriteLine($"Triangle Count is {view.MeshSize}");
                                +
                                +
                                BpcData pc = view.GetBakedPointCloud();
                                +
                                +
                                DMesh3 mesh = view.getMesh();
                                +
                                +
                                }
                                +
                                }
                                +
                                }
                                +
                                }
                                +
                                }
                                +
                                }
                                +

                                This takes a LAS file, splits the file into tiles and then creates a Delaunay Triangulation (i.e. Mesh) for each one.

                                +

                                This code uses the sample bindings as-is and has a dependency on Geometry3Sharp only.

                                +

                                Note that BcpData is a custom data structure that holds the Point Cloud in a form suitable to create a Baked PointCloud suitable for rendering as a VFX graph in Unity. This is an efficient way to display point cloud data in VR and I have used it successfully with point clouds of 10 million points.

                                +

                                +For Developers

                                +

                                +Build on Windows

                                +

                                The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                +
                                cd CAPI
                                +
                                make.bat
                                +

                                +Build on Linux and Mac

                                +

                                The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                +
                                cd CAPI
                                +
                                cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCONDA_BUILD=OFF .
                                +
                                make
                                +
                                make install
                                +

                                +Code Style

                                +

                                This project enforces the PDAL code styles, which can checked as follows :

                                +
                                  +
                                • On Windows - as per astylerc
                                • +
                                • On Linux by running ./check_all.bash
                                • +
                                diff --git a/docs/doxygen/html/navtreedata.js b/docs/doxygen/html/navtreedata.js index 50ae779..aed4736 100644 --- a/docs/doxygen/html/navtreedata.js +++ b/docs/doxygen/html/navtreedata.js @@ -25,7 +25,21 @@ var NAVTREE = [ [ "pdal-c", "index.html", [ - [ "pdal-c: PDAL C API", "index.html", null ], + [ "pdal-c: PDAL C API", "index.html", [ + [ "Basics", "index.html#autotoc_md0", null ], + [ "Documentation", "index.html#autotoc_md1", null ], + [ "Installation", "index.html#autotoc_md2", [ + [ "Dependencies", "index.html#autotoc_md3", null ] + ] ], + [ "Usage", "index.html#autotoc_md4", [ + [ "Example C# Program", "index.html#autotoc_md5", null ] + ] ], + [ "For Developers", "index.html#autotoc_md6", [ + [ "Build on Windows", "index.html#autotoc_md7", null ], + [ "Build on Linux and Mac", "index.html#autotoc_md8", null ], + [ "Code Style", "index.html#autotoc_md9", null ] + ] ] + ] ], [ "Data Structures", "annotated.html", [ [ "Data Structures", "annotated.html", "annotated_dup" ], [ "Data Structure Index", "classes.html", null ], diff --git a/docs/doxygen/html/navtreeindex0.js b/docs/doxygen/html/navtreeindex0.js index e1948cd..da662f8 100644 --- a/docs/doxygen/html/navtreeindex0.js +++ b/docs/doxygen/html/navtreeindex0.js @@ -11,6 +11,16 @@ var NAVTREEINDEX0 = "globals_type.html":[2,1,2], "index.html":[], "index.html":[0], +"index.html#autotoc_md0":[0,0], +"index.html#autotoc_md1":[0,1], +"index.html#autotoc_md2":[0,2], +"index.html#autotoc_md3":[0,2,0], +"index.html#autotoc_md4":[0,3], +"index.html#autotoc_md5":[0,3,0], +"index.html#autotoc_md6":[0,4], +"index.html#autotoc_md7":[0,4,0], +"index.html#autotoc_md8":[0,4,1], +"index.html#autotoc_md9":[0,4,2], "pages.html":[], "pdalc_8h.html":[2,0,0,0], "pdalc_8h_source.html":[2,0,0,0], @@ -42,12 +52,13 @@ var NAVTREEINDEX0 = "pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b":[2,0,0,3,6], "pdalc__dimtype_8h_source.html":[2,0,0,3], "pdalc__forward_8h.html":[2,0,0,4], -"pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37":[2,0,0,4,6], -"pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f":[2,0,0,4,5], -"pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d":[2,0,0,4,3], -"pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de":[2,0,0,4,2], +"pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37":[2,0,0,4,7], +"pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f":[2,0,0,4,6], +"pdalc__forward_8h.html#a8eb80d8bddca362110b60c0fc2c32609":[2,0,0,4,2], +"pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d":[2,0,0,4,4], +"pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de":[2,0,0,4,3], "pdalc__forward_8h.html#abc2d8b09ca76e3f848c2eff1b44b41e7":[2,0,0,4,1], -"pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee":[2,0,0,4,4], +"pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee":[2,0,0,4,5], "pdalc__forward_8h_source.html":[2,0,0,4], "pdalc__pipeline_8h.html":[2,0,0,5], "pdalc__pipeline_8h.html#a0a9edab4c9d6e56128e2d90532c26de5":[2,0,0,5,1], @@ -70,16 +81,18 @@ var NAVTREEINDEX0 = "pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44":[2,0,0,6,1], "pdalc__pointlayout_8h_source.html":[2,0,0,6], "pdalc__pointview_8h.html":[2,0,0,7], -"pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8":[2,0,0,7,4], +"pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8":[2,0,0,7,6], "pdalc__pointview_8h.html#a3e5448e11645779f30328813617ec72d":[2,0,0,7,1], "pdalc__pointview_8h.html#a600b890d8261d00099f578c42f0a0c70":[2,0,0,7,0], -"pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8":[2,0,0,7,9], -"pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb":[2,0,0,7,3], +"pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b":[2,0,0,7,4], +"pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453":[2,0,0,7,3], +"pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8":[2,0,0,7,11], +"pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb":[2,0,0,7,5], "pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822":[2,0,0,7,2], -"pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b":[2,0,0,7,8], -"pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425":[2,0,0,7,6], -"pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268":[2,0,0,7,7], -"pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2":[2,0,0,7,5], +"pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b":[2,0,0,7,10], +"pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425":[2,0,0,7,8], +"pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268":[2,0,0,7,9], +"pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2":[2,0,0,7,7], "pdalc__pointview_8h_source.html":[2,0,0,7], "pdalc__pointviewiterator_8h.html":[2,0,0,8], "pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634":[2,0,0,8,3], diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index 11023e8..63d25c1 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index 0c3af77..4e50357 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -127,19 +127,19 @@
                                39 
                                40 #endif
                                - - -
                                Functions to inspect the contents of a PDAL point view iterator.
                                -
                                Functions to inspect the contents of a PDAL point view.
                                -
                                Functions to launch and inspect the results of a PDAL pipeline.
                                -
                                Functions to inspect the contents of a PDAL point layout.
                                Functions to retrieve PDAL version and configuration information.
                                Functions to inspect PDAL dimension types.
                                +
                                Functions to launch and inspect the results of a PDAL pipeline.
                                +
                                Functions to inspect the contents of a PDAL point layout.
                                +
                                Functions to inspect the contents of a PDAL point view.
                                +
                                Functions to inspect the contents of a PDAL point view iterator.
                                + + diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index 652f1c5..906e72b 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -556,7 +556,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index 66b6e53..da5bd1c 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -132,7 +132,6 @@
                                48 #else
                                49 #include <stddef.h> // for size_t
                                50 #endif
                                -
                                51 
                                58 PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                                59 
                                67 PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                                @@ -166,27 +165,27 @@
                                185 #endif
                                186 
                                187 #endif
                                - - -
                                PDALC_API void PDALSetGdalDataPath(const char *path)
                                Sets the path to the GDAL data directory.
                                -
                                PDALC_API size_t PDALSha1(char *sha1, size_t size)
                                Retrieves PDAL's Git commit SHA1 as a string.
                                -
                                Forward declarations for the PDAL C API.
                                -
                                PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
                                Retrieves the path to the GDAL data directory.
                                -
                                PDALC_API int PDALVersionInteger()
                                Returns an integer representation of the PDAL version.
                                -
                                PDALC_API size_t PDALFullVersionString(char *version, size_t size)
                                Retrieves the full PDAL version string.
                                -
                                PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size)
                                Retrieves the path to the proj4 data directory.
                                -
                                PDALC_API size_t PDALVersionString(char *version, size_t size)
                                Retrieves the PDAL version string.
                                PDALC_API int PDALVersionMinor()
                                Returns the PDAL minor version number.
                                PDALC_API int PDALVersionMajor()
                                Returns the PDAL major version number.
                                +
                                PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
                                Retrieves the path to the GDAL data directory.
                                +
                                PDALC_API int PDALVersionPatch()
                                Returns the PDAL patch version number.
                                PDALC_API size_t PDALDebugInformation(char *info, size_t size)
                                Retrieves PDAL debugging information.
                                -
                                PDALC_API void PDALSetProj4DataPath(const char *path)
                                Sets the path to the proj4 data directory.
                                PDALC_API size_t PDALPluginInstallPath(char *path, size_t size)
                                Retrieves the path to the PDAL installation.
                                -
                                PDALC_API int PDALVersionPatch()
                                Returns the PDAL patch version number.
                                +
                                PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size)
                                Retrieves the path to the proj4 data directory.
                                +
                                PDALC_API void PDALSetProj4DataPath(const char *path)
                                Sets the path to the proj4 data directory.
                                +
                                PDALC_API int PDALVersionInteger()
                                Returns an integer representation of the PDAL version.
                                +
                                PDALC_API void PDALSetGdalDataPath(const char *path)
                                Sets the path to the GDAL data directory.
                                +
                                PDALC_API size_t PDALVersionString(char *version, size_t size)
                                Retrieves the PDAL version string.
                                +
                                PDALC_API size_t PDALFullVersionString(char *version, size_t size)
                                Retrieves the full PDAL version string.
                                +
                                PDALC_API size_t PDALSha1(char *sha1, size_t size)
                                Retrieves PDAL's Git commit SHA1 as a string.
                                +
                                Forward declarations for the PDAL C API.
                                + + diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 48cb957..cd04157 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -95,7 +95,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index b335535..1462517 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -128,9 +128,9 @@
                                39 // GCC-compatible
                                40 #elif defined(__GNUC__)
                                41 #if defined(__ELF__)
                                -
                                42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
                                -
                                43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
                                -
                                44 #define PDALC_STATIC_API __attribute__((visibility("default")))
                                +
                                42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
                                +
                                43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
                                +
                                44 #define PDALC_STATIC_API __attribute__((visibility("default")))
                                45 // Use symbols compatible with Visual Studio in Windows
                                46 #elif defined(_WIN32)
                                47 #define PDALC_EXPORT_API __declspec(dllexport)
                                @@ -158,7 +158,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 9643507..4e9090d 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -392,7 +392,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 7e155ac..18aaf6b 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -132,7 +132,6 @@
                                48 #else
                                49 #include <stddef.h> // for size_t
                                50 #endif
                                -
                                51 
                                58 
                                @@ -156,24 +155,24 @@
                                130 }
                                131 #endif
                                132 #endif
                                - - -
                                PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
                                Returns the dimension type at the provided index from a dimension type list.
                                PDALC_API PDALDimType PDALGetInvalidDimType()
                                Returns the invalid dimension type.
                                -
                                Forward declarations for the PDAL C API.
                                PDALC_API void PDALDisposeDimTypeList(PDALDimTypeListPtr types)
                                Disposes the provided dimension type list.
                                -
                                PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
                                Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                                -
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:94
                                -
                                PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
                                Returns the number of elements in a dimension type list.
                                +
                                PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
                                Returns the number of bytes required to store data referenced by a dimension type list.
                                PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size)
                                Retrieves the name of a dimension type's ID.
                                +
                                PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
                                Returns the dimension type at the provided index from a dimension type list.
                                PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size)
                                Retrieves the name of a dimension type's interpretation, i.e., its data type.
                                -
                                PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
                                Returns the number of bytes required to store data referenced by a dimension type list.
                                -
                                A dimension type.
                                Definition: pdalc_forward.h:79
                                +
                                PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
                                Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                                +
                                PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
                                Returns the number of elements in a dimension type list.
                                +
                                Forward declarations for the PDAL C API.
                                +
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:97
                                +
                                A dimension type.
                                Definition: pdalc_forward.h:82
                                + + diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index e37d1ae..a39d6f8 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -119,6 +119,9 @@ typedef void * PDALPointViewPtr  A pointer to point view. More...
                                  +typedef void * PDALMeshPtr + A pointer to a Mesh. More...
                                +  typedef void * PDALPointViewIteratorPtr  A pointer to a point view iterator. More...
                                  @@ -140,6 +143,22 @@

                                +

                                ◆ PDALMeshPtr

                                + +
                                +
                                + + + + +
                                typedef void* PDALMeshPtr
                                +
                                + +

                                A pointer to a Mesh.

                                +
                                @@ -228,7 +247,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__forward_8h.js b/docs/doxygen/html/pdalc__forward_8h.js index 57ba282..21e729c 100644 --- a/docs/doxygen/html/pdalc__forward_8h.js +++ b/docs/doxygen/html/pdalc__forward_8h.js @@ -2,6 +2,7 @@ var pdalc__forward_8h = [ [ "PDALDimType", "struct_p_d_a_l_dim_type.html", "struct_p_d_a_l_dim_type" ], [ "PDALDimTypeListPtr", "pdalc__forward_8h.html#abc2d8b09ca76e3f848c2eff1b44b41e7", null ], + [ "PDALMeshPtr", "pdalc__forward_8h.html#a8eb80d8bddca362110b60c0fc2c32609", null ], [ "PDALPipelinePtr", "pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de", null ], [ "PDALPointId", "pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d", null ], [ "PDALPointLayoutPtr", "pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee", null ], diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 23f0508..9c8a77c 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -139,68 +139,74 @@
                                55 struct DimType;
                                56 class PipelineExecutor;
                                57 class PointView;
                                -
                                58 
                                -
                                59 using PointViewPtr = std::shared_ptr<PointView>;
                                -
                                60 using DimTypeList = std::vector<DimType>;
                                -
                                61 
                                -
                                62 namespace capi
                                -
                                63 {
                                -
                                64 class PointViewIterator;
                                -
                                65 using Pipeline = std::unique_ptr<pdal::PipelineExecutor>;
                                -
                                66 using PointView = pdal::PointViewPtr;
                                -
                                67 using DimTypeList = std::unique_ptr<pdal::DimTypeList>;
                                -
                                68 }
                                -
                                69 }
                                -
                                70 
                                -
                                71 #else
                                -
                                72 #include <stdint.h> // for uint64_t
                                -
                                73 #endif /* __cplusplus */
                                -
                                74 
                                -
                                75 typedef struct PDALDimType PDALDimType;
                                -
                                76 
                                - -
                                79 {
                                -
                                81  uint32_t id;
                                -
                                82 
                                -
                                84  uint32_t type;
                                +
                                58 class TriangularMesh;
                                +
                                59 
                                +
                                60 using PointViewPtr = std::shared_ptr<PointView>;
                                +
                                61 using DimTypeList = std::vector<DimType>;
                                +
                                62 using MeshPtr = std::shared_ptr<TriangularMesh>;
                                +
                                63 
                                +
                                64 namespace capi
                                +
                                65 {
                                +
                                66 class PointViewIterator;
                                +
                                67 using Pipeline = std::unique_ptr<pdal::PipelineExecutor>;
                                +
                                68 using PointView = pdal::PointViewPtr;
                                +
                                69 using TriangularMesh = pdal::MeshPtr;
                                +
                                70 using DimTypeList = std::unique_ptr<pdal::DimTypeList>;
                                +
                                71 }
                                +
                                72 }
                                +
                                73 
                                +
                                74 #else
                                +
                                75 #include <stdint.h> // for uint64_t
                                +
                                76 #endif /* __cplusplus */
                                +
                                77 
                                +
                                78 typedef struct PDALDimType PDALDimType;
                                +
                                79 
                                + +
                                82 {
                                +
                                84  uint32_t id;
                                85 
                                -
                                87  double scale;
                                +
                                87  uint32_t type;
                                88 
                                -
                                90  double offset;
                                -
                                91 };
                                -
                                92 
                                -
                                94 typedef void* PDALDimTypeListPtr;
                                +
                                90  double scale;
                                +
                                91 
                                +
                                93  double offset;
                                +
                                94 };
                                95 
                                -
                                97 typedef void* PDALPipelinePtr;
                                +
                                97 typedef void* PDALDimTypeListPtr;
                                98 
                                -
                                100 typedef uint64_t PDALPointId;
                                +
                                100 typedef void* PDALPipelinePtr;
                                101 
                                -
                                103 typedef void* PDALPointLayoutPtr;
                                +
                                103 typedef uint64_t PDALPointId;
                                104 
                                -
                                106 typedef void* PDALPointViewPtr;
                                +
                                106 typedef void* PDALPointLayoutPtr;
                                107 
                                - +
                                109 typedef void* PDALPointViewPtr;
                                110 
                                -
                                111 #endif /* PDALC_FORWARD_H */
                                +
                                112 typedef void* PDALMeshPtr;
                                +
                                113 
                                + +
                                116 
                                +
                                117 #endif /* PDALC_FORWARD_H */
                                + +
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:109
                                +
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:115
                                +
                                void * PDALMeshPtr
                                A pointer to a Mesh.
                                Definition: pdalc_forward.h:112
                                +
                                uint64_t PDALPointId
                                An index to a point in a list.
                                Definition: pdalc_forward.h:103
                                +
                                void * PDALPipelinePtr
                                A pointer to a pipeline.
                                Definition: pdalc_forward.h:100
                                +
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:97
                                +
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:106
                                +
                                A dimension type.
                                Definition: pdalc_forward.h:82
                                +
                                double offset
                                The dimension's offset value.
                                Definition: pdalc_forward.h:93
                                +
                                uint32_t id
                                The dimension's identifier.
                                Definition: pdalc_forward.h:84
                                +
                                double scale
                                The dimension's scaling factor.
                                Definition: pdalc_forward.h:90
                                +
                                uint32_t type
                                The dimension's interpretation type.
                                Definition: pdalc_forward.h:87
                                -
                                double offset
                                The dimension's offset value.
                                Definition: pdalc_forward.h:90
                                -
                                uint64_t PDALPointId
                                An index to a point in a list.
                                Definition: pdalc_forward.h:100
                                -
                                uint32_t type
                                The dimension's interpretation type.
                                Definition: pdalc_forward.h:84
                                -
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:109
                                -
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:103
                                -
                                uint32_t id
                                The dimension's identifier.
                                Definition: pdalc_forward.h:81
                                -
                                void * PDALPipelinePtr
                                A pointer to a pipeline.
                                Definition: pdalc_forward.h:97
                                -
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:94
                                -
                                double scale
                                The dimension's scaling factor.
                                Definition: pdalc_forward.h:87
                                - -
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:106
                                -
                                A dimension type.
                                Definition: pdalc_forward.h:79
                                diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index 3ca52a0..e9b6f5b 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -521,7 +521,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index 7efec0f..0a56639 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -164,27 +164,27 @@
                                161 }
                                162 #endif /* _cplusplus */
                                163 #endif /* PDALC_PIPELINE_H */
                                - - -
                                PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                                Retrieves a pipeline's execution log.
                                -
                                PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                                Returns a pipeline's log level.
                                Forward declarations for the PDAL C API.
                                -
                                PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
                                Validates a pipeline.
                                +
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:115
                                +
                                void * PDALPipelinePtr
                                A pointer to a pipeline.
                                Definition: pdalc_forward.h:100
                                +
                                PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline)
                                Disposes a PDAL pipeline.
                                +
                                PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
                                Executes a pipeline.
                                +
                                PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
                                Creates a PDAL pipeline from a JSON text string.
                                PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
                                Sets a pipeline's log level.
                                -
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:109
                                -
                                PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                                Retrieves a pipeline's computed metadata.
                                +
                                PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                                Returns a pipeline's log level.
                                PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
                                Retrieves a pipeline's computed schema.
                                +
                                PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
                                Validates a pipeline.
                                PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size)
                                Retrieves a string representation of a pipeline.
                                +
                                PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                                Retrieves a pipeline's execution log.
                                +
                                PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                                Retrieves a pipeline's computed metadata.
                                PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline)
                                Gets the resulting point views from a pipeline execution.
                                -
                                void * PDALPipelinePtr
                                A pointer to a pipeline.
                                Definition: pdalc_forward.h:97
                                -
                                PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
                                Executes a pipeline.
                                -
                                PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline)
                                Disposes a PDAL pipeline.
                                -
                                PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
                                Creates a PDAL pipeline from a JSON text string.
                                + + diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index 7809d9e..20a9e83 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -291,7 +291,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 39f23fa..1b215d3 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -132,7 +132,6 @@
                                49 #else
                                50 #include <stddef.h> // for size_t
                                51 #endif
                                -
                                52 
                                62 
                                71 PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name);
                                @@ -150,22 +149,22 @@
                                105 #endif
                                106 
                                107 #endif
                                - -
                                Forward declarations for the PDAL C API.
                                +
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:97
                                +
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:106
                                PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name)
                                Returns the byte size of a dimension type value within a layout.
                                -
                                PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout)
                                Returns the byte size of a point in the provided layout.
                                -
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:103
                                PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes(PDALPointLayoutPtr layout)
                                Returns the list of dimension types used by the provided layout.
                                +
                                PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout)
                                Returns the byte size of a point in the provided layout.
                                PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name)
                                Finds the dimension type identified by the provided name in a layout.
                                -
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:94
                                PDALC_API size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name)
                                Returns the byte offset of a dimension type within a layout.
                                -
                                A dimension type.
                                Definition: pdalc_forward.h:79
                                +
                                A dimension type.
                                Definition: pdalc_forward.h:82
                                + + diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 2914774..27b0593 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -127,6 +127,12 @@ PDALC_API uint64_t PDALGetAllPackedPoints (PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)  Retrieves data for all points based on the provided dimension list. More...
                                  +PDALC_API uint64_t PDALGetMeshSize (PDALPointViewPtr view) + Returns the number of triangles in the provided view. More...
                                +  +PDALC_API uint64_t PDALGetAllTriangles (PDALPointViewPtr view, char *buffer) + Retrieves the triangles from the PointView. More...

                                Detailed Description

                                Functions to inspect the contents of a PDAL point view.

                                @@ -232,6 +238,76 @@

                                Returns
                                The size of the points stored in buf or zero if view is NULL, dims is NULL, or buf is NULL
                                +

                                + + +

                                ◆ PDALGetAllTriangles()

                                + +
                                +
                                + + + + + + + + + + + + + + + + + + +
                                PDALC_API uint64_t PDALGetAllTriangles (PDALPointViewPtr view,
                                char * buffer 
                                )
                                +
                                + +

                                Retrieves the triangles from the PointView.

                                +
                                Note
                                Behavior will be undefined if buffer is not large enough to contain all the packed point data
                                +
                                See also
                                Use the product of the values returned by PDALGetPointViewSize and 12 to obtain the minimum byte size for buffer
                                +
                                +pdal::TriangularMesh
                                +
                                Parameters
                                + + + +
                                viewThe view that contains the triangles
                                [out]bufferPointer to buffer to fill
                                +
                                +
                                +
                                Returns
                                The size of the triangles stored in buf or zero if view is NULL, or buf is NULL
                                + +
                                +
                                + +

                                ◆ PDALGetMeshSize()

                                + +
                                +
                                + + + + + + + + +
                                PDALC_API uint64_t PDALGetMeshSize (PDALPointViewPtr view)
                                +
                                + +

                                Returns the number of triangles in the provided view.

                                +
                                See also
                                pdal::TriangularMesh
                                +
                                Parameters
                                + + +
                                viewThe point view
                                +
                                +
                                +
                                Returns
                                The number of triangles or zero if there is no mesh.
                                +
                                @@ -504,7 +580,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__pointview_8h.js b/docs/doxygen/html/pdalc__pointview_8h.js index 6731bf8..e3301a4 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.js +++ b/docs/doxygen/html/pdalc__pointview_8h.js @@ -3,6 +3,8 @@ var pdalc__pointview_8h = [ "PDALClonePointView", "pdalc__pointview_8h.html#a600b890d8261d00099f578c42f0a0c70", null ], [ "PDALDisposePointView", "pdalc__pointview_8h.html#a3e5448e11645779f30328813617ec72d", null ], [ "PDALGetAllPackedPoints", "pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822", null ], + [ "PDALGetAllTriangles", "pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453", null ], + [ "PDALGetMeshSize", "pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b", null ], [ "PDALGetPackedPoint", "pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb", null ], [ "PDALGetPointViewId", "pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8", null ], [ "PDALGetPointViewLayout", "pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2", null ], diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index bd3b1dc..35c84ae 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -134,7 +134,6 @@
                                50 #include <stddef.h> // for size_t
                                51 #include <stdint.h> // for uint64_t
                                52 #endif
                                -
                                53 
                                59 
                                @@ -155,35 +154,41 @@
                                150 
                                168 PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer);
                                169 
                                -
                                170 #ifdef __cplusplus
                                -
                                171 }
                                -
                                172 }
                                -
                                173 }
                                -
                                174 #endif /* __cplusplus */
                                -
                                175 
                                -
                                176 #endif
                                - - -
                                PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
                                Retrieves data for all points based on the provided dimension list.
                                -
                                PDALC_API PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view)
                                Clones the provided point view.
                                +
                                178 PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view);
                                +
                                179 
                                +
                                196 PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer);
                                +
                                197 
                                +
                                198 #ifdef __cplusplus
                                +
                                199 }
                                +
                                200 }
                                +
                                201 }
                                +
                                202 #endif /* __cplusplus */
                                +
                                203 
                                +
                                204 #endif
                                Forward declarations for the PDAL C API.
                                -
                                uint64_t PDALPointId
                                An index to a point in a list.
                                Definition: pdalc_forward.h:100
                                +
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:109
                                +
                                uint64_t PDALPointId
                                An index to a point in a list.
                                Definition: pdalc_forward.h:103
                                +
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:97
                                +
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:106
                                +
                                PDALC_API int PDALGetPointViewId(PDALPointViewPtr view)
                                Returns the ID of the provided point view.
                                +
                                PDALC_API void PDALDisposePointView(PDALPointViewPtr view)
                                Disposes the provided point view.
                                +
                                PDALC_API PDALPointViewPtr PDALClonePointView(PDALPointViewPtr view)
                                Clones the provided point view.
                                +
                                PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view)
                                Returns the number of triangles in the provided view.
                                +
                                PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer)
                                Retrieves the triangles from the PointView.
                                +
                                PDALC_API bool PDALIsPointViewEmpty(PDALPointViewPtr view)
                                Returns whether the provided point view is empty, i.e., has no points.
                                PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer)
                                Retrieves data for a point based on the provided dimension list.
                                +
                                PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
                                Retrieves data for all points based on the provided dimension list.
                                PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty)
                                Returns the Well-Known Text (WKT) projection string for the provided point view.
                                -
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:103
                                -
                                PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view)
                                Returns the point layout for the provided point view.
                                -
                                PDALC_API bool PDALIsPointViewEmpty(PDALPointViewPtr view)
                                Returns whether the provided point view is empty, i.e., has no points.
                                PDALC_API size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size)
                                Returns the proj4 projection string for the provided point view.
                                -
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:94
                                -
                                PDALC_API void PDALDisposePointView(PDALPointViewPtr view)
                                Disposes the provided point view.
                                -
                                PDALC_API int PDALGetPointViewId(PDALPointViewPtr view)
                                Returns the ID of the provided point view.
                                PDALC_API uint64_t PDALGetPointViewSize(PDALPointViewPtr view)
                                Returns the number of points in the provided view.
                                -
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:106
                                +
                                PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout(PDALPointViewPtr view)
                                Returns the point layout for the provided point view.
                                + + diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index fa19a4e..6db2834 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h File Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -226,7 +226,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 864fa5d..a358a38 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h Source File @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -162,20 +162,20 @@
                                103 #endif /* __cplusplus */
                                104 
                                105 #endif
                                - - -
                                PDALC_API void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr)
                                Disposes the provided point view iterator.
                                Forward declarations for the PDAL C API.
                                -
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:109
                                +
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:109
                                +
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:115
                                PDALC_API void PDALResetPointViewIterator(PDALPointViewIteratorPtr itr)
                                Resets the provided point view iterator to its starting position.
                                -
                                PDALC_API PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr)
                                Returns the next available point view in the provided iterator.
                                PDALC_API bool PDALHasNextPointView(PDALPointViewIteratorPtr itr)
                                Returns whether another point view is available in the provided iterator.
                                -
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:106
                                +
                                PDALC_API void PDALDisposePointViewIterator(PDALPointViewIteratorPtr itr)
                                Disposes the provided point view iterator.
                                +
                                PDALC_API PDALPointViewPtr PDALGetNextPointView(PDALPointViewIteratorPtr itr)
                                Returns the next available point view in the provided iterator.
                                + + diff --git a/docs/doxygen/html/search/all_0.html b/docs/doxygen/html/search/all_0.html index a34319f..1ec5b2d 100644 --- a/docs/doxygen/html/search/all_0.html +++ b/docs/doxygen/html/search/all_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/all_1.html b/docs/doxygen/html/search/all_1.html index 51aff6f..9f80e90 100644 --- a/docs/doxygen/html/search/all_1.html +++ b/docs/doxygen/html/search/all_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/all_2.html b/docs/doxygen/html/search/all_2.html index 1f81f66..02cfffc 100644 --- a/docs/doxygen/html/search/all_2.html +++ b/docs/doxygen/html/search/all_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/all_2.js b/docs/doxygen/html/search/all_2.js index 8e6686b..d2ae9cd 100644 --- a/docs/doxygen/html/search/all_2.js +++ b/docs/doxygen/html/search/all_2.js @@ -23,49 +23,52 @@ var searchData= ['pdalfinddimtype_22',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], ['pdalfullversionstring_23',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], ['pdalgetallpackedpoints_24',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], - ['pdalgetdimpackedoffset_25',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], - ['pdalgetdimsize_26',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], - ['pdalgetdimtype_27',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeidname_28',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationbytecount_29',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationname_30',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistbytecount_31',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistsize_32',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], - ['pdalgetgdaldatapath_33',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], - ['pdalgetinvaliddimtype_34',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], - ['pdalgetnextpointview_35',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], - ['pdalgetpackedpoint_36',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], - ['pdalgetpipelineasstring_37',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinelog_38',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineloglevel_39',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinemetadata_40',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineschema_41',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], - ['pdalgetpointlayoutdimtypes_42',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], - ['pdalgetpointsize_43',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], - ['pdalgetpointviewid_44',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], - ['pdalgetpointviewlayout_45',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], - ['pdalgetpointviewproj4_46',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], - ['pdalgetpointviews_47',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], - ['pdalgetpointviewsize_48',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], - ['pdalgetpointviewwkt_49',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], - ['pdalgetproj4datapath_50',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], - ['pdalhasnextpointview_51',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], - ['pdalispointviewempty_52',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], - ['pdalpipelineptr_53',['PDALPipelinePtr',['../pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de',1,'pdalc_forward.h']]], - ['pdalplugininstallpath_54',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], - ['pdalpointid_55',['PDALPointId',['../pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d',1,'pdalc_forward.h']]], - ['pdalpointlayoutptr_56',['PDALPointLayoutPtr',['../pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee',1,'pdalc_forward.h']]], - ['pdalpointviewiteratorptr_57',['PDALPointViewIteratorPtr',['../pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f',1,'pdalc_forward.h']]], - ['pdalpointviewptr_58',['PDALPointViewPtr',['../pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37',1,'pdalc_forward.h']]], - ['pdalresetpointviewiterator_59',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], - ['pdalsetgdaldatapath_60',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], - ['pdalsetpipelineloglevel_61',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], - ['pdalsetproj4datapath_62',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], - ['pdalsha1_63',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], - ['pdalvalidatepipeline_64',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], - ['pdalversioninteger_65',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], - ['pdalversionmajor_66',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], - ['pdalversionminor_67',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], - ['pdalversionpatch_68',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], - ['pdalversionstring_69',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] + ['pdalgetalltriangles_25',['PDALGetAllTriangles',['../pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453',1,'pdalc_pointview.h']]], + ['pdalgetdimpackedoffset_26',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], + ['pdalgetdimsize_27',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], + ['pdalgetdimtype_28',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeidname_29',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationbytecount_30',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationname_31',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistbytecount_32',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistsize_33',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], + ['pdalgetgdaldatapath_34',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], + ['pdalgetinvaliddimtype_35',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], + ['pdalgetmeshsize_36',['PDALGetMeshSize',['../pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b',1,'pdalc_pointview.h']]], + ['pdalgetnextpointview_37',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], + ['pdalgetpackedpoint_38',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], + ['pdalgetpipelineasstring_39',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinelog_40',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineloglevel_41',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinemetadata_42',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineschema_43',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], + ['pdalgetpointlayoutdimtypes_44',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], + ['pdalgetpointsize_45',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], + ['pdalgetpointviewid_46',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], + ['pdalgetpointviewlayout_47',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], + ['pdalgetpointviewproj4_48',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], + ['pdalgetpointviews_49',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], + ['pdalgetpointviewsize_50',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], + ['pdalgetpointviewwkt_51',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], + ['pdalgetproj4datapath_52',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], + ['pdalhasnextpointview_53',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], + ['pdalispointviewempty_54',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], + ['pdalmeshptr_55',['PDALMeshPtr',['../pdalc__forward_8h.html#a8eb80d8bddca362110b60c0fc2c32609',1,'pdalc_forward.h']]], + ['pdalpipelineptr_56',['PDALPipelinePtr',['../pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de',1,'pdalc_forward.h']]], + ['pdalplugininstallpath_57',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], + ['pdalpointid_58',['PDALPointId',['../pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d',1,'pdalc_forward.h']]], + ['pdalpointlayoutptr_59',['PDALPointLayoutPtr',['../pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee',1,'pdalc_forward.h']]], + ['pdalpointviewiteratorptr_60',['PDALPointViewIteratorPtr',['../pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f',1,'pdalc_forward.h']]], + ['pdalpointviewptr_61',['PDALPointViewPtr',['../pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37',1,'pdalc_forward.h']]], + ['pdalresetpointviewiterator_62',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], + ['pdalsetgdaldatapath_63',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], + ['pdalsetpipelineloglevel_64',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], + ['pdalsetproj4datapath_65',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], + ['pdalsha1_66',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], + ['pdalvalidatepipeline_67',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], + ['pdalversioninteger_68',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], + ['pdalversionmajor_69',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], + ['pdalversionminor_70',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], + ['pdalversionpatch_71',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], + ['pdalversionstring_72',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] ]; diff --git a/docs/doxygen/html/search/all_3.html b/docs/doxygen/html/search/all_3.html index 2e31ab9..39767b8 100644 --- a/docs/doxygen/html/search/all_3.html +++ b/docs/doxygen/html/search/all_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/all_3.js b/docs/doxygen/html/search/all_3.js index 4d50cdd..ce990dc 100644 --- a/docs/doxygen/html/search/all_3.js +++ b/docs/doxygen/html/search/all_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['readme_2emd_70',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] + ['readme_2emd_73',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] ]; diff --git a/docs/doxygen/html/search/all_4.html b/docs/doxygen/html/search/all_4.html index 0540c16..fc40463 100644 --- a/docs/doxygen/html/search/all_4.html +++ b/docs/doxygen/html/search/all_4.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/all_4.js b/docs/doxygen/html/search/all_4.js index bac9eb8..173d864 100644 --- a/docs/doxygen/html/search/all_4.js +++ b/docs/doxygen/html/search/all_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['scale_71',['scale',['../struct_p_d_a_l_dim_type.html#ab3e88c9d56eaf33b7f781d84b112304e',1,'PDALDimType']]] + ['scale_74',['scale',['../struct_p_d_a_l_dim_type.html#ab3e88c9d56eaf33b7f781d84b112304e',1,'PDALDimType']]] ]; diff --git a/docs/doxygen/html/search/all_5.html b/docs/doxygen/html/search/all_5.html index ebec30b..9dd9344 100644 --- a/docs/doxygen/html/search/all_5.html +++ b/docs/doxygen/html/search/all_5.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/all_5.js b/docs/doxygen/html/search/all_5.js index 600a74b..600906a 100644 --- a/docs/doxygen/html/search/all_5.js +++ b/docs/doxygen/html/search/all_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['type_72',['type',['../struct_p_d_a_l_dim_type.html#aea3b579e85e59b338479c1cef66b7434',1,'PDALDimType']]] + ['type_75',['type',['../struct_p_d_a_l_dim_type.html#aea3b579e85e59b338479c1cef66b7434',1,'PDALDimType']]] ]; diff --git a/docs/doxygen/html/search/classes_0.html b/docs/doxygen/html/search/classes_0.html index 7e0afc8..af8159e 100644 --- a/docs/doxygen/html/search/classes_0.html +++ b/docs/doxygen/html/search/classes_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/classes_0.js b/docs/doxygen/html/search/classes_0.js index 25fbb67..b0f1632 100644 --- a/docs/doxygen/html/search/classes_0.js +++ b/docs/doxygen/html/search/classes_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['pdaldimtype_73',['PDALDimType',['../struct_p_d_a_l_dim_type.html',1,'']]] + ['pdaldimtype_76',['PDALDimType',['../struct_p_d_a_l_dim_type.html',1,'']]] ]; diff --git a/docs/doxygen/html/search/files_0.html b/docs/doxygen/html/search/files_0.html index 76b64f5..9498842 100644 --- a/docs/doxygen/html/search/files_0.html +++ b/docs/doxygen/html/search/files_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/files_0.js b/docs/doxygen/html/search/files_0.js index 1af7553..a6c6f51 100644 --- a/docs/doxygen/html/search/files_0.js +++ b/docs/doxygen/html/search/files_0.js @@ -1,12 +1,12 @@ var searchData= [ - ['pdalc_2eh_74',['pdalc.h',['../pdalc_8h.html',1,'']]], - ['pdalc_5fconfig_2eh_75',['pdalc_config.h',['../pdalc__config_8h.html',1,'']]], - ['pdalc_5fdefines_2eh_76',['pdalc_defines.h',['../pdalc__defines_8h.html',1,'']]], - ['pdalc_5fdimtype_2eh_77',['pdalc_dimtype.h',['../pdalc__dimtype_8h.html',1,'']]], - ['pdalc_5fforward_2eh_78',['pdalc_forward.h',['../pdalc__forward_8h.html',1,'']]], - ['pdalc_5fpipeline_2eh_79',['pdalc_pipeline.h',['../pdalc__pipeline_8h.html',1,'']]], - ['pdalc_5fpointlayout_2eh_80',['pdalc_pointlayout.h',['../pdalc__pointlayout_8h.html',1,'']]], - ['pdalc_5fpointview_2eh_81',['pdalc_pointview.h',['../pdalc__pointview_8h.html',1,'']]], - ['pdalc_5fpointviewiterator_2eh_82',['pdalc_pointviewiterator.h',['../pdalc__pointviewiterator_8h.html',1,'']]] + ['pdalc_2eh_77',['pdalc.h',['../pdalc_8h.html',1,'']]], + ['pdalc_5fconfig_2eh_78',['pdalc_config.h',['../pdalc__config_8h.html',1,'']]], + ['pdalc_5fdefines_2eh_79',['pdalc_defines.h',['../pdalc__defines_8h.html',1,'']]], + ['pdalc_5fdimtype_2eh_80',['pdalc_dimtype.h',['../pdalc__dimtype_8h.html',1,'']]], + ['pdalc_5fforward_2eh_81',['pdalc_forward.h',['../pdalc__forward_8h.html',1,'']]], + ['pdalc_5fpipeline_2eh_82',['pdalc_pipeline.h',['../pdalc__pipeline_8h.html',1,'']]], + ['pdalc_5fpointlayout_2eh_83',['pdalc_pointlayout.h',['../pdalc__pointlayout_8h.html',1,'']]], + ['pdalc_5fpointview_2eh_84',['pdalc_pointview.h',['../pdalc__pointview_8h.html',1,'']]], + ['pdalc_5fpointviewiterator_2eh_85',['pdalc_pointviewiterator.h',['../pdalc__pointviewiterator_8h.html',1,'']]] ]; diff --git a/docs/doxygen/html/search/files_1.html b/docs/doxygen/html/search/files_1.html index c8edef8..7050ef4 100644 --- a/docs/doxygen/html/search/files_1.html +++ b/docs/doxygen/html/search/files_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/files_1.js b/docs/doxygen/html/search/files_1.js index f9aad1e..18cd337 100644 --- a/docs/doxygen/html/search/files_1.js +++ b/docs/doxygen/html/search/files_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['readme_2emd_83',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] + ['readme_2emd_86',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] ]; diff --git a/docs/doxygen/html/search/functions_0.html b/docs/doxygen/html/search/functions_0.html index f04535a..eb4c501 100644 --- a/docs/doxygen/html/search/functions_0.html +++ b/docs/doxygen/html/search/functions_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/functions_0.js b/docs/doxygen/html/search/functions_0.js index 84d7739..ba49525 100644 --- a/docs/doxygen/html/search/functions_0.js +++ b/docs/doxygen/html/search/functions_0.js @@ -1,54 +1,56 @@ var searchData= [ - ['pdalclonepointview_84',['PDALClonePointView',['../pdalc__pointview_8h.html#a600b890d8261d00099f578c42f0a0c70',1,'pdalc_pointview.h']]], - ['pdalcreatepipeline_85',['PDALCreatePipeline',['../pdalc__pipeline_8h.html#a1dca09fbeb41f4c716034c86c9b0ade0',1,'pdalc_pipeline.h']]], - ['pdaldebuginformation_86',['PDALDebugInformation',['../pdalc__config_8h.html#a4d52d978ec0791a9374acbb9d84e6feb',1,'pdalc_config.h']]], - ['pdaldisposedimtypelist_87',['PDALDisposeDimTypeList',['../pdalc__dimtype_8h.html#a1c57521edad366f93c607663140f0052',1,'pdalc_dimtype.h']]], - ['pdaldisposepipeline_88',['PDALDisposePipeline',['../pdalc__pipeline_8h.html#a0a9edab4c9d6e56128e2d90532c26de5',1,'pdalc_pipeline.h']]], - ['pdaldisposepointview_89',['PDALDisposePointView',['../pdalc__pointview_8h.html#a3e5448e11645779f30328813617ec72d',1,'pdalc_pointview.h']]], - ['pdaldisposepointviewiterator_90',['PDALDisposePointViewIterator',['../pdalc__pointviewiterator_8h.html#ae18ac1303f9a6750b63936184ef88a91',1,'pdalc_pointviewiterator.h']]], - ['pdalexecutepipeline_91',['PDALExecutePipeline',['../pdalc__pipeline_8h.html#a0ca509b43b9679dbb1e8ebb9c8d71037',1,'pdalc_pipeline.h']]], - ['pdalfinddimtype_92',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], - ['pdalfullversionstring_93',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], - ['pdalgetallpackedpoints_94',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], - ['pdalgetdimpackedoffset_95',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], - ['pdalgetdimsize_96',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], - ['pdalgetdimtype_97',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeidname_98',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationbytecount_99',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationname_100',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistbytecount_101',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistsize_102',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], - ['pdalgetgdaldatapath_103',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], - ['pdalgetinvaliddimtype_104',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], - ['pdalgetnextpointview_105',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], - ['pdalgetpackedpoint_106',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], - ['pdalgetpipelineasstring_107',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinelog_108',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineloglevel_109',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinemetadata_110',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineschema_111',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], - ['pdalgetpointlayoutdimtypes_112',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], - ['pdalgetpointsize_113',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], - ['pdalgetpointviewid_114',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], - ['pdalgetpointviewlayout_115',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], - ['pdalgetpointviewproj4_116',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], - ['pdalgetpointviews_117',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], - ['pdalgetpointviewsize_118',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], - ['pdalgetpointviewwkt_119',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], - ['pdalgetproj4datapath_120',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], - ['pdalhasnextpointview_121',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], - ['pdalispointviewempty_122',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], - ['pdalplugininstallpath_123',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], - ['pdalresetpointviewiterator_124',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], - ['pdalsetgdaldatapath_125',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], - ['pdalsetpipelineloglevel_126',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], - ['pdalsetproj4datapath_127',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], - ['pdalsha1_128',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], - ['pdalvalidatepipeline_129',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], - ['pdalversioninteger_130',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], - ['pdalversionmajor_131',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], - ['pdalversionminor_132',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], - ['pdalversionpatch_133',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], - ['pdalversionstring_134',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] + ['pdalclonepointview_87',['PDALClonePointView',['../pdalc__pointview_8h.html#a600b890d8261d00099f578c42f0a0c70',1,'pdalc_pointview.h']]], + ['pdalcreatepipeline_88',['PDALCreatePipeline',['../pdalc__pipeline_8h.html#a1dca09fbeb41f4c716034c86c9b0ade0',1,'pdalc_pipeline.h']]], + ['pdaldebuginformation_89',['PDALDebugInformation',['../pdalc__config_8h.html#a4d52d978ec0791a9374acbb9d84e6feb',1,'pdalc_config.h']]], + ['pdaldisposedimtypelist_90',['PDALDisposeDimTypeList',['../pdalc__dimtype_8h.html#a1c57521edad366f93c607663140f0052',1,'pdalc_dimtype.h']]], + ['pdaldisposepipeline_91',['PDALDisposePipeline',['../pdalc__pipeline_8h.html#a0a9edab4c9d6e56128e2d90532c26de5',1,'pdalc_pipeline.h']]], + ['pdaldisposepointview_92',['PDALDisposePointView',['../pdalc__pointview_8h.html#a3e5448e11645779f30328813617ec72d',1,'pdalc_pointview.h']]], + ['pdaldisposepointviewiterator_93',['PDALDisposePointViewIterator',['../pdalc__pointviewiterator_8h.html#ae18ac1303f9a6750b63936184ef88a91',1,'pdalc_pointviewiterator.h']]], + ['pdalexecutepipeline_94',['PDALExecutePipeline',['../pdalc__pipeline_8h.html#a0ca509b43b9679dbb1e8ebb9c8d71037',1,'pdalc_pipeline.h']]], + ['pdalfinddimtype_95',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], + ['pdalfullversionstring_96',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], + ['pdalgetallpackedpoints_97',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], + ['pdalgetalltriangles_98',['PDALGetAllTriangles',['../pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453',1,'pdalc_pointview.h']]], + ['pdalgetdimpackedoffset_99',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], + ['pdalgetdimsize_100',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], + ['pdalgetdimtype_101',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeidname_102',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationbytecount_103',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationname_104',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistbytecount_105',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistsize_106',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], + ['pdalgetgdaldatapath_107',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], + ['pdalgetinvaliddimtype_108',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], + ['pdalgetmeshsize_109',['PDALGetMeshSize',['../pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b',1,'pdalc_pointview.h']]], + ['pdalgetnextpointview_110',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], + ['pdalgetpackedpoint_111',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], + ['pdalgetpipelineasstring_112',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinelog_113',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineloglevel_114',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinemetadata_115',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineschema_116',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], + ['pdalgetpointlayoutdimtypes_117',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], + ['pdalgetpointsize_118',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], + ['pdalgetpointviewid_119',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], + ['pdalgetpointviewlayout_120',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], + ['pdalgetpointviewproj4_121',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], + ['pdalgetpointviews_122',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], + ['pdalgetpointviewsize_123',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], + ['pdalgetpointviewwkt_124',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], + ['pdalgetproj4datapath_125',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], + ['pdalhasnextpointview_126',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], + ['pdalispointviewempty_127',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], + ['pdalplugininstallpath_128',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], + ['pdalresetpointviewiterator_129',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], + ['pdalsetgdaldatapath_130',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], + ['pdalsetpipelineloglevel_131',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], + ['pdalsetproj4datapath_132',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], + ['pdalsha1_133',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], + ['pdalvalidatepipeline_134',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], + ['pdalversioninteger_135',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], + ['pdalversionmajor_136',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], + ['pdalversionminor_137',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], + ['pdalversionpatch_138',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], + ['pdalversionstring_139',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] ]; diff --git a/docs/doxygen/html/search/nomatches.html b/docs/doxygen/html/search/nomatches.html index 4377320..2b9360b 100644 --- a/docs/doxygen/html/search/nomatches.html +++ b/docs/doxygen/html/search/nomatches.html @@ -1,5 +1,6 @@ - + + diff --git a/docs/doxygen/html/search/pages_0.html b/docs/doxygen/html/search/pages_0.html index a281c4b..8517b48 100644 --- a/docs/doxygen/html/search/pages_0.html +++ b/docs/doxygen/html/search/pages_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/pages_0.js b/docs/doxygen/html/search/pages_0.js index 6db6bec..b6e9793 100644 --- a/docs/doxygen/html/search/pages_0.js +++ b/docs/doxygen/html/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['pdal_2dc_3a_20pdal_20c_20api_145',['pdal-c: PDAL C API',['../index.html',1,'']]] + ['pdal_2dc_3a_20pdal_20c_20api_151',['pdal-c: PDAL C API',['../index.html',1,'']]] ]; diff --git a/docs/doxygen/html/search/search.css b/docs/doxygen/html/search/search.css index 933cf08..9074198 100644 --- a/docs/doxygen/html/search/search.css +++ b/docs/doxygen/html/search/search.css @@ -204,19 +204,21 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; + font-family: Arial, Verdana, sans-serif; } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; + font-family: Arial, Verdana, sans-serif; } .SRResult { display: none; } -DIV.searchresults { +div.searchresults { margin-left: 10px; margin-right: 10px; } diff --git a/docs/doxygen/html/search/search.js b/docs/doxygen/html/search/search.js index 92b6094..fb226f7 100644 --- a/docs/doxygen/html/search/search.js +++ b/docs/doxygen/html/search/search.js @@ -80,9 +80,10 @@ function getYPos(item) storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ -function SearchBox(name, resultsPath, inFrame, label) +function SearchBox(name, resultsPath, inFrame, label, extension) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + if (!extension || extension == "") { extension = ".html"; } // ---------- Instance variables this.name = name; @@ -97,6 +98,7 @@ function SearchBox(name, resultsPath, inFrame, label) this.searchActive = false; this.insideFrame = inFrame; this.searchLabel = label; + this.extension = extension; // ----------- DOM Elements @@ -347,13 +349,13 @@ function SearchBox(name, resultsPath, inFrame, label) if (idx!=-1) { var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; resultsPageWithSearch = resultsPage+'?'+escape(searchValue); hasResultsPage = true; } else // nothing available for this search term { - resultsPage = this.resultsPath + '/nomatches.html'; + resultsPage = this.resultsPath + '/nomatches' + this.extension; resultsPageWithSearch = resultsPage; hasResultsPage = false; } @@ -439,12 +441,12 @@ function SearchResults(name) while (element && element!=parentElement) { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { return element; } - if (element.nodeName == 'DIV' && element.hasChildNodes()) + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { element = element.firstChild; } diff --git a/docs/doxygen/html/search/typedefs_0.html b/docs/doxygen/html/search/typedefs_0.html index b66f0a7..a4684c4 100644 --- a/docs/doxygen/html/search/typedefs_0.html +++ b/docs/doxygen/html/search/typedefs_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/typedefs_0.js b/docs/doxygen/html/search/typedefs_0.js index da6569a..e2f2de5 100644 --- a/docs/doxygen/html/search/typedefs_0.js +++ b/docs/doxygen/html/search/typedefs_0.js @@ -1,9 +1,10 @@ var searchData= [ - ['pdaldimtypelistptr_139',['PDALDimTypeListPtr',['../pdalc__forward_8h.html#abc2d8b09ca76e3f848c2eff1b44b41e7',1,'pdalc_forward.h']]], - ['pdalpipelineptr_140',['PDALPipelinePtr',['../pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de',1,'pdalc_forward.h']]], - ['pdalpointid_141',['PDALPointId',['../pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d',1,'pdalc_forward.h']]], - ['pdalpointlayoutptr_142',['PDALPointLayoutPtr',['../pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee',1,'pdalc_forward.h']]], - ['pdalpointviewiteratorptr_143',['PDALPointViewIteratorPtr',['../pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f',1,'pdalc_forward.h']]], - ['pdalpointviewptr_144',['PDALPointViewPtr',['../pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37',1,'pdalc_forward.h']]] + ['pdaldimtypelistptr_144',['PDALDimTypeListPtr',['../pdalc__forward_8h.html#abc2d8b09ca76e3f848c2eff1b44b41e7',1,'pdalc_forward.h']]], + ['pdalmeshptr_145',['PDALMeshPtr',['../pdalc__forward_8h.html#a8eb80d8bddca362110b60c0fc2c32609',1,'pdalc_forward.h']]], + ['pdalpipelineptr_146',['PDALPipelinePtr',['../pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de',1,'pdalc_forward.h']]], + ['pdalpointid_147',['PDALPointId',['../pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d',1,'pdalc_forward.h']]], + ['pdalpointlayoutptr_148',['PDALPointLayoutPtr',['../pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee',1,'pdalc_forward.h']]], + ['pdalpointviewiteratorptr_149',['PDALPointViewIteratorPtr',['../pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f',1,'pdalc_forward.h']]], + ['pdalpointviewptr_150',['PDALPointViewPtr',['../pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37',1,'pdalc_forward.h']]] ]; diff --git a/docs/doxygen/html/search/variables_0.html b/docs/doxygen/html/search/variables_0.html index 2edd111..1e477c0 100644 --- a/docs/doxygen/html/search/variables_0.html +++ b/docs/doxygen/html/search/variables_0.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/variables_0.js b/docs/doxygen/html/search/variables_0.js index e44ebe1..ea06d19 100644 --- a/docs/doxygen/html/search/variables_0.js +++ b/docs/doxygen/html/search/variables_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['id_135',['id',['../struct_p_d_a_l_dim_type.html#a7fb47c196e9c322c9002b141d2d11ec9',1,'PDALDimType']]] + ['id_140',['id',['../struct_p_d_a_l_dim_type.html#a7fb47c196e9c322c9002b141d2d11ec9',1,'PDALDimType']]] ]; diff --git a/docs/doxygen/html/search/variables_1.html b/docs/doxygen/html/search/variables_1.html index 98b95a9..ea73d9a 100644 --- a/docs/doxygen/html/search/variables_1.html +++ b/docs/doxygen/html/search/variables_1.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/variables_1.js b/docs/doxygen/html/search/variables_1.js index 1154563..13bb858 100644 --- a/docs/doxygen/html/search/variables_1.js +++ b/docs/doxygen/html/search/variables_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['offset_136',['offset',['../struct_p_d_a_l_dim_type.html#a0af425fc25a644d8915222b393264911',1,'PDALDimType']]] + ['offset_141',['offset',['../struct_p_d_a_l_dim_type.html#a0af425fc25a644d8915222b393264911',1,'PDALDimType']]] ]; diff --git a/docs/doxygen/html/search/variables_2.html b/docs/doxygen/html/search/variables_2.html index 3e0c591..0580462 100644 --- a/docs/doxygen/html/search/variables_2.html +++ b/docs/doxygen/html/search/variables_2.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/variables_2.js b/docs/doxygen/html/search/variables_2.js index 6cb5518..d0128ca 100644 --- a/docs/doxygen/html/search/variables_2.js +++ b/docs/doxygen/html/search/variables_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['scale_137',['scale',['../struct_p_d_a_l_dim_type.html#ab3e88c9d56eaf33b7f781d84b112304e',1,'PDALDimType']]] + ['scale_142',['scale',['../struct_p_d_a_l_dim_type.html#ab3e88c9d56eaf33b7f781d84b112304e',1,'PDALDimType']]] ]; diff --git a/docs/doxygen/html/search/variables_3.html b/docs/doxygen/html/search/variables_3.html index 7867da3..0d69e76 100644 --- a/docs/doxygen/html/search/variables_3.html +++ b/docs/doxygen/html/search/variables_3.html @@ -1,7 +1,8 @@ - + + - + @@ -10,14 +11,14 @@
                                Loading...
                                - +
                                Searching...
                                No Matches
                                - +
                                diff --git a/docs/doxygen/html/search/variables_3.js b/docs/doxygen/html/search/variables_3.js index 7098c7e..8cc9af6 100644 --- a/docs/doxygen/html/search/variables_3.js +++ b/docs/doxygen/html/search/variables_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['type_138',['type',['../struct_p_d_a_l_dim_type.html#aea3b579e85e59b338479c1cef66b7434',1,'PDALDimType']]] + ['type_143',['type',['../struct_p_d_a_l_dim_type.html#aea3b579e85e59b338479c1cef66b7434',1,'PDALDimType']]] ]; diff --git a/docs/doxygen/html/struct_p_d_a_l_dim_type.html b/docs/doxygen/html/struct_p_d_a_l_dim_type.html index 78a3fa9..af498c1 100644 --- a/docs/doxygen/html/struct_p_d_a_l_dim_type.html +++ b/docs/doxygen/html/struct_p_d_a_l_dim_type.html @@ -3,7 +3,7 @@ - + pdal-c: PDALDimType Struct Reference @@ -26,7 +26,7 @@
                                pdal-c -  v2.0.0 +  v2.1.0
                                C API for PDAL
                                @@ -35,10 +35,10 @@ - + @@ -181,7 +181,7 @@

                                  - +
                                From 70c03875c5c79c2b92c342e2850187899d16ef78 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 1 May 2022 13:12:59 +0100 Subject: [PATCH 42/73] 2.1.1 changes Update CMakeLists.txt Update CMakeLists.txt Update CMakeLists.txt change c to cpp Update CMakeLists.txt Update test_pdalc_config.cpp Update test_pdalc_config.cpp Update test_pdalc_config.cpp --- CMakeLists.txt | 10 +---- tests/pdal/CMakeLists.txt | 14 +++--- ...t_pdalc_config.c => test_pdalc_config.cpp} | 43 ++++++++----------- 3 files changed, 28 insertions(+), 39 deletions(-) rename tests/pdal/{test_pdalc_config.c => test_pdalc_config.cpp} (79%) diff --git a/CMakeLists.txt b/CMakeLists.txt index c02626b..a36be75 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,16 +2,10 @@ cmake_minimum_required(VERSION 3.9) -project(pdal-c C CXX) +project(pdal-c LANGUAGES C CXX) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -# Use C11 and C++11 standards -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 11) - -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) # Install to the build directory if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) @@ -57,4 +51,4 @@ if(PDALC_ENABLE_TESTS) include(CTest) add_subdirectory("tests/data") add_subdirectory("tests/pdal") -endif() \ No newline at end of file +endif() diff --git a/tests/pdal/CMakeLists.txt b/tests/pdal/CMakeLists.txt index 3710df5..982fc94 100644 --- a/tests/pdal/CMakeLists.txt +++ b/tests/pdal/CMakeLists.txt @@ -6,15 +6,15 @@ set(CONFIGS ) IF (CONDA_BUILD) set(SOURCES - main_conda.c - test_pdalc_config.c - test_pdalc_utils.c + main_conda + test_pdalc_config + test_pdalc_utils ) ELSE() set(SOURCES - main.c - test_pdalc_config.c - test_pdalc_utils.c + main + test_pdalc_config + test_pdalc_utils ) ENDIF() @@ -67,4 +67,4 @@ install(TARGETS ${TARGET} LIBRARY DESTINATION lib RUNTIME DESTINATION bin) -set(TARGET test_pdalc) \ No newline at end of file +set(TARGET test_pdalc) diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.cpp similarity index 79% rename from tests/pdal/test_pdalc_config.c rename to tests/pdal/test_pdalc_config.cpp index 6947fdb..dbeec61 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.cpp @@ -32,7 +32,6 @@ #include #include -#include #include #include "greatest.h" @@ -41,16 +40,16 @@ SUITE(test_pdalc_config); TEST testPDALGetSetGdalDataPath(void) { - size_t size = PDALGetGdalDataPath(NULL, 1024); + size_t size = pdal::capi::PDALGetGdalDataPath(NULL, 1024); ASSERT_EQ(0, size); char *original = getenv("GDAL_DATA"); char path[1024]; - size = PDALGetGdalDataPath(path, 0); + size = pdal::capi::PDALGetGdalDataPath(path, 0); ASSERT_EQ(0, size); - size = PDALGetGdalDataPath(path, 1024); + size = pdal::capi::PDALGetGdalDataPath(path, 1024); if (original) { @@ -63,28 +62,28 @@ TEST testPDALGetSetGdalDataPath(void) } const char *expected = "An arbitrary string set as the GDAL data path"; - PDALSetGdalDataPath(expected); - size = PDALGetGdalDataPath(path, 1024); + pdal::capi::PDALSetGdalDataPath(expected); + size = pdal::capi::PDALGetGdalDataPath(path, 1024); ASSERT_STR_EQ(expected, path); ASSERT_EQ(size, strlen(path)); - PDALSetGdalDataPath(original); + pdal::capi::PDALSetGdalDataPath(original); PASS(); } TEST testPDALGetSetProj4DataPath(void) { - size_t size = PDALGetProj4DataPath(NULL, 1024); + size_t size = pdal::capi::PDALGetProj4DataPath(NULL, 1024); ASSERT_EQ(0, size); char *original = getenv("PROJ_LIB"); char path[1024]; - size = PDALGetProj4DataPath(path, 0); + size = pdal::capi::PDALGetProj4DataPath(path, 0); ASSERT_EQ(0, size); - size = PDALGetProj4DataPath(path, 1024); + size = pdal::capi::PDALGetProj4DataPath(path, 1024); if (original) { @@ -97,37 +96,33 @@ TEST testPDALGetSetProj4DataPath(void) } const char *expected = "An arbitrary string set as the proj4 data path"; - PDALSetProj4DataPath(expected); - size = PDALGetProj4DataPath(path, 1024); + pdal::capi::PDALSetProj4DataPath(expected); + size = pdal::capi::PDALGetProj4DataPath(path, 1024); ASSERT_STR_EQ(expected, path); ASSERT_EQ(size, strlen(path)); - PDALSetProj4DataPath(original); + pdal::capi::PDALSetProj4DataPath(original); PASS(); } TEST testPDALVersionInfo(void) { - int versionInteger = PDALVersionInteger(); - ASSERT_EQ(PDAL_VERSION_INTEGER, versionInteger); - int major = PDALVersionMajor(); + int major = pdal::capi::PDALVersionMajor(); ASSERT_EQ(PDAL_VERSION_MAJOR, major); - int minor = PDALVersionMinor(); + int minor = pdal::capi::PDALVersionMinor(); ASSERT_EQ(PDAL_VERSION_MINOR, minor); - int patch = PDALVersionPatch(); + int patch = pdal::capi::PDALVersionPatch(); ASSERT_EQ(PDAL_VERSION_PATCH, patch); - ASSERT_EQ(major*10000 + minor*100 + patch, versionInteger); - char expected[64]; sprintf(expected, "%d.%d.%d", major, minor, patch); char version[64]; - size_t size = PDALVersionString(version, 64); + size_t size = pdal::capi::PDALVersionString(version, 64); ASSERT(size > 0 && size <= 64); ASSERT(version[0]); ASSERT_STR_EQ(expected, version); @@ -139,7 +134,7 @@ TEST testPDALVersionInfo(void) #endif char sha1[64]; - size = PDALSha1(sha1, 64); + size = pdal::capi::PDALSha1(sha1, 64); ASSERT(size > 0 && size <= 64); ASSERT(sha1[0]); @@ -152,7 +147,7 @@ TEST testPDALVersionInfo(void) sprintf(expected + strlen(version), " (git-version: %s)", sha1); char fullVersion[64]; - size = PDALFullVersionString(fullVersion, 64); + size = pdal::capi::PDALFullVersionString(fullVersion, 64); ASSERT(size > 0 && size <= 64); ASSERT(fullVersion[0]); ASSERT_STR_EQ(expected, fullVersion); @@ -163,7 +158,7 @@ TEST testPDALVersionInfo(void) TEST testPDALDebugInformation(void) { char info[1024]; - size_t size = PDALDebugInformation(info, 1024); + size_t size = pdal::capi::PDALDebugInformation(info, 1024); ASSERT(size > 0 && size <= 1024); ASSERT(info[0]); PASS(); From e3028a4efe21dafbc0aab5abf702c1b701e53fd1 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 2 May 2022 11:16:39 +0100 Subject: [PATCH 43/73] Revert "2.1.1 changes" This reverts commit 70c03875c5c79c2b92c342e2850187899d16ef78. --- CMakeLists.txt | 10 ++++- tests/pdal/CMakeLists.txt | 14 +++--- ...t_pdalc_config.cpp => test_pdalc_config.c} | 43 +++++++++++-------- 3 files changed, 39 insertions(+), 28 deletions(-) rename tests/pdal/{test_pdalc_config.cpp => test_pdalc_config.c} (79%) diff --git a/CMakeLists.txt b/CMakeLists.txt index a36be75..c02626b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,10 +2,16 @@ cmake_minimum_required(VERSION 3.9) -project(pdal-c LANGUAGES C CXX) +project(pdal-c C CXX) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +# Use C11 and C++11 standards +set(CMAKE_C_STANDARD 11) +set(CMAKE_CXX_STANDARD 11) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) # Install to the build directory if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) @@ -51,4 +57,4 @@ if(PDALC_ENABLE_TESTS) include(CTest) add_subdirectory("tests/data") add_subdirectory("tests/pdal") -endif() +endif() \ No newline at end of file diff --git a/tests/pdal/CMakeLists.txt b/tests/pdal/CMakeLists.txt index 982fc94..3710df5 100644 --- a/tests/pdal/CMakeLists.txt +++ b/tests/pdal/CMakeLists.txt @@ -6,15 +6,15 @@ set(CONFIGS ) IF (CONDA_BUILD) set(SOURCES - main_conda - test_pdalc_config - test_pdalc_utils + main_conda.c + test_pdalc_config.c + test_pdalc_utils.c ) ELSE() set(SOURCES - main - test_pdalc_config - test_pdalc_utils + main.c + test_pdalc_config.c + test_pdalc_utils.c ) ENDIF() @@ -67,4 +67,4 @@ install(TARGETS ${TARGET} LIBRARY DESTINATION lib RUNTIME DESTINATION bin) -set(TARGET test_pdalc) +set(TARGET test_pdalc) \ No newline at end of file diff --git a/tests/pdal/test_pdalc_config.cpp b/tests/pdal/test_pdalc_config.c similarity index 79% rename from tests/pdal/test_pdalc_config.cpp rename to tests/pdal/test_pdalc_config.c index dbeec61..6947fdb 100644 --- a/tests/pdal/test_pdalc_config.cpp +++ b/tests/pdal/test_pdalc_config.c @@ -32,6 +32,7 @@ #include #include +#include #include #include "greatest.h" @@ -40,16 +41,16 @@ SUITE(test_pdalc_config); TEST testPDALGetSetGdalDataPath(void) { - size_t size = pdal::capi::PDALGetGdalDataPath(NULL, 1024); + size_t size = PDALGetGdalDataPath(NULL, 1024); ASSERT_EQ(0, size); char *original = getenv("GDAL_DATA"); char path[1024]; - size = pdal::capi::PDALGetGdalDataPath(path, 0); + size = PDALGetGdalDataPath(path, 0); ASSERT_EQ(0, size); - size = pdal::capi::PDALGetGdalDataPath(path, 1024); + size = PDALGetGdalDataPath(path, 1024); if (original) { @@ -62,28 +63,28 @@ TEST testPDALGetSetGdalDataPath(void) } const char *expected = "An arbitrary string set as the GDAL data path"; - pdal::capi::PDALSetGdalDataPath(expected); - size = pdal::capi::PDALGetGdalDataPath(path, 1024); + PDALSetGdalDataPath(expected); + size = PDALGetGdalDataPath(path, 1024); ASSERT_STR_EQ(expected, path); ASSERT_EQ(size, strlen(path)); - pdal::capi::PDALSetGdalDataPath(original); + PDALSetGdalDataPath(original); PASS(); } TEST testPDALGetSetProj4DataPath(void) { - size_t size = pdal::capi::PDALGetProj4DataPath(NULL, 1024); + size_t size = PDALGetProj4DataPath(NULL, 1024); ASSERT_EQ(0, size); char *original = getenv("PROJ_LIB"); char path[1024]; - size = pdal::capi::PDALGetProj4DataPath(path, 0); + size = PDALGetProj4DataPath(path, 0); ASSERT_EQ(0, size); - size = pdal::capi::PDALGetProj4DataPath(path, 1024); + size = PDALGetProj4DataPath(path, 1024); if (original) { @@ -96,33 +97,37 @@ TEST testPDALGetSetProj4DataPath(void) } const char *expected = "An arbitrary string set as the proj4 data path"; - pdal::capi::PDALSetProj4DataPath(expected); - size = pdal::capi::PDALGetProj4DataPath(path, 1024); + PDALSetProj4DataPath(expected); + size = PDALGetProj4DataPath(path, 1024); ASSERT_STR_EQ(expected, path); ASSERT_EQ(size, strlen(path)); - pdal::capi::PDALSetProj4DataPath(original); + PDALSetProj4DataPath(original); PASS(); } TEST testPDALVersionInfo(void) { + int versionInteger = PDALVersionInteger(); + ASSERT_EQ(PDAL_VERSION_INTEGER, versionInteger); - int major = pdal::capi::PDALVersionMajor(); + int major = PDALVersionMajor(); ASSERT_EQ(PDAL_VERSION_MAJOR, major); - int minor = pdal::capi::PDALVersionMinor(); + int minor = PDALVersionMinor(); ASSERT_EQ(PDAL_VERSION_MINOR, minor); - int patch = pdal::capi::PDALVersionPatch(); + int patch = PDALVersionPatch(); ASSERT_EQ(PDAL_VERSION_PATCH, patch); + ASSERT_EQ(major*10000 + minor*100 + patch, versionInteger); + char expected[64]; sprintf(expected, "%d.%d.%d", major, minor, patch); char version[64]; - size_t size = pdal::capi::PDALVersionString(version, 64); + size_t size = PDALVersionString(version, 64); ASSERT(size > 0 && size <= 64); ASSERT(version[0]); ASSERT_STR_EQ(expected, version); @@ -134,7 +139,7 @@ TEST testPDALVersionInfo(void) #endif char sha1[64]; - size = pdal::capi::PDALSha1(sha1, 64); + size = PDALSha1(sha1, 64); ASSERT(size > 0 && size <= 64); ASSERT(sha1[0]); @@ -147,7 +152,7 @@ TEST testPDALVersionInfo(void) sprintf(expected + strlen(version), " (git-version: %s)", sha1); char fullVersion[64]; - size = pdal::capi::PDALFullVersionString(fullVersion, 64); + size = PDALFullVersionString(fullVersion, 64); ASSERT(size > 0 && size <= 64); ASSERT(fullVersion[0]); ASSERT_STR_EQ(expected, fullVersion); @@ -158,7 +163,7 @@ TEST testPDALVersionInfo(void) TEST testPDALDebugInformation(void) { char info[1024]; - size_t size = pdal::capi::PDALDebugInformation(info, 1024); + size_t size = PDALDebugInformation(info, 1024); ASSERT(size > 0 && size <= 1024); ASSERT(info[0]); PASS(); From e1899483dd34603e14ae36c23ad84aac087bb46c Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 2 May 2022 11:18:15 +0100 Subject: [PATCH 44/73] Update test_pdalc_config.c --- tests/pdal/test_pdalc_config.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.c index 6947fdb..bf63a96 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.c @@ -32,7 +32,6 @@ #include #include -#include #include #include "greatest.h" @@ -109,8 +108,6 @@ TEST testPDALGetSetProj4DataPath(void) TEST testPDALVersionInfo(void) { - int versionInteger = PDALVersionInteger(); - ASSERT_EQ(PDAL_VERSION_INTEGER, versionInteger); int major = PDALVersionMajor(); ASSERT_EQ(PDAL_VERSION_MAJOR, major); @@ -121,8 +118,6 @@ TEST testPDALVersionInfo(void) int patch = PDALVersionPatch(); ASSERT_EQ(PDAL_VERSION_PATCH, patch); - ASSERT_EQ(major*10000 + minor*100 + patch, versionInteger); - char expected[64]; sprintf(expected, "%d.%d.%d", major, minor, patch); From 8de22b522827b7a69622ac8dc460c95206a5ec4b Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 2 May 2022 11:40:10 +0100 Subject: [PATCH 45/73] Update test_pdalc_config.c --- tests/pdal/test_pdalc_config.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.c index bf63a96..fe2cc2a 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.c @@ -32,7 +32,6 @@ #include #include -#include #include "greatest.h" @@ -110,13 +109,10 @@ TEST testPDALVersionInfo(void) { int major = PDALVersionMajor(); - ASSERT_EQ(PDAL_VERSION_MAJOR, major); int minor = PDALVersionMinor(); - ASSERT_EQ(PDAL_VERSION_MINOR, minor); int patch = PDALVersionPatch(); - ASSERT_EQ(PDAL_VERSION_PATCH, patch); char expected[64]; sprintf(expected, "%d.%d.%d", major, minor, patch); From 737c6f6317a517896a071bbbe1d2522fc8d069e6 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 2 May 2022 12:08:58 +0100 Subject: [PATCH 46/73] Update CHANGELOG.md --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d2564c..8e16368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# Version 2.1.1 + +Changes to allow compilation with PDAL 2.4.0 + +- remove gitsha.h that has been removed from PDAL +- remove the mixed c / cpp calls in the tests + # Version 2.1.0 This version adds @@ -8,4 +15,4 @@ This version adds # Version 2.0.0 -This was the first version released through conda. \ No newline at end of file +This was the first version released through conda. From e5c6b0d2c5b8971c7aa5e9dabbbe99999fe68914 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 2 May 2022 11:10:31 +0000 Subject: [PATCH 47/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 29 +- docs/doxygen/html/annotated.html | 29 +- docs/doxygen/html/classes.html | 31 +- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 49 ++-- docs/doxygen/html/doxygen.css | 58 +++- docs/doxygen/html/files.html | 29 +- docs/doxygen/html/functions.html | 42 ++- docs/doxygen/html/functions_vars.html | 42 ++- docs/doxygen/html/globals.html | 268 +++++------------- docs/doxygen/html/globals_func.html | 240 +++++----------- docs/doxygen/html/globals_type.html | 54 ++-- docs/doxygen/html/index.html | 63 ++-- docs/doxygen/html/jquery.js | 4 +- docs/doxygen/html/menu.js | 86 +++++- docs/doxygen/html/navtree.css | 1 + docs/doxygen/html/navtree.js | 9 +- docs/doxygen/html/pdalc_8h.html | 29 +- docs/doxygen/html/pdalc_8h_source.html | 109 ++++--- docs/doxygen/html/pdalc__config_8h.html | 65 +++-- .../doxygen/html/pdalc__config_8h_source.html | 185 ++++++------ docs/doxygen/html/pdalc__defines_8h.html | 29 +- .../html/pdalc__defines_8h_source.html | 159 ++++++----- docs/doxygen/html/pdalc__dimtype_8h.html | 51 ++-- .../html/pdalc__dimtype_8h_source.html | 165 ++++++----- docs/doxygen/html/pdalc__forward_8h.html | 49 ++-- .../html/pdalc__forward_8h_source.html | 229 ++++++++------- docs/doxygen/html/pdalc__pipeline_8h.html | 55 ++-- .../html/pdalc__pipeline_8h_source.html | 183 ++++++------ docs/doxygen/html/pdalc__pointlayout_8h.html | 43 ++- .../html/pdalc__pointlayout_8h_source.html | 153 +++++----- docs/doxygen/html/pdalc__pointview_8h.html | 57 ++-- .../html/pdalc__pointview_8h_source.html | 185 ++++++------ .../html/pdalc__pointviewiterator_8h.html | 41 ++- .../pdalc__pointviewiterator_8h_source.html | 179 ++++++------ docs/doxygen/html/resize.js | 20 +- docs/doxygen/html/search/all_0.html | 6 +- docs/doxygen/html/search/all_1.html | 6 +- docs/doxygen/html/search/all_1.js | 2 +- docs/doxygen/html/search/all_2.html | 6 +- docs/doxygen/html/search/all_2.js | 142 +++++----- docs/doxygen/html/search/all_3.html | 6 +- docs/doxygen/html/search/all_3.js | 2 +- docs/doxygen/html/search/all_4.html | 6 +- docs/doxygen/html/search/all_4.js | 2 +- docs/doxygen/html/search/all_5.html | 6 +- docs/doxygen/html/search/all_5.js | 2 +- docs/doxygen/html/search/classes_0.html | 6 +- docs/doxygen/html/search/classes_0.js | 2 +- docs/doxygen/html/search/files_0.html | 6 +- docs/doxygen/html/search/files_0.js | 18 +- docs/doxygen/html/search/files_1.html | 6 +- docs/doxygen/html/search/files_1.js | 2 +- docs/doxygen/html/search/functions_0.html | 6 +- docs/doxygen/html/search/functions_0.js | 106 +++---- docs/doxygen/html/search/pages_0.html | 6 +- docs/doxygen/html/search/pages_0.js | 2 +- docs/doxygen/html/search/search.css | 12 +- docs/doxygen/html/search/search.js | 68 ++--- docs/doxygen/html/search/typedefs_0.html | 6 +- docs/doxygen/html/search/typedefs_0.js | 14 +- docs/doxygen/html/search/variables_0.html | 6 +- docs/doxygen/html/search/variables_0.js | 2 +- docs/doxygen/html/search/variables_1.html | 6 +- docs/doxygen/html/search/variables_1.js | 2 +- docs/doxygen/html/search/variables_2.html | 6 +- docs/doxygen/html/search/variables_2.js | 2 +- docs/doxygen/html/search/variables_3.html | 6 +- docs/doxygen/html/search/variables_3.js | 2 +- .../doxygen/html/struct_p_d_a_l_dim_type.html | 43 +-- docs/doxygen/html/tabs.css | 2 +- 70 files changed, 1693 insertions(+), 1850 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index 2b6d651..7893540 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -2,8 +2,8 @@ - - + + pdal-c: /github/workspace/README.md File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,8 +83,7 @@
                                -
                                -
                                /github/workspace/README.md File Reference
                                +
                                /github/workspace/README.md File Reference
                                @@ -93,7 +92,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index cdecfd3..6bfb5a3 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -2,8 +2,8 @@ - - + + pdal-c: Data Structures @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,8 +83,7 @@
                                -
                                -
                                Data Structures
                                +
                                Data Structures
                                Here are the data structures with brief descriptions:
                                @@ -97,7 +96,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index b1d8cad..3b528d3 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -2,8 +2,8 @@ - - + + pdal-c: Data Structure Index @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,14 +83,13 @@
                                -
                                -
                                Data Structure Index
                                +
                                Data Structure Index
                                @@ -98,7 +97,7 @@ diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index 9932fac..7336c5b 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal Directory Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,36 +83,35 @@
                                -
                                -
                                pdal Directory Reference
                                +
                                pdal Directory Reference
                                - - + - + - + - + - + - + - + - + - +

                                +

                                Files

                                file  pdalc.h [code]
                                file  pdalc.h [code]
                                 
                                file  pdalc_config.h [code]
                                file  pdalc_config.h [code]
                                 Functions to retrieve PDAL version and configuration information.
                                 
                                file  pdalc_defines.h [code]
                                file  pdalc_defines.h [code]
                                 
                                file  pdalc_dimtype.h [code]
                                file  pdalc_dimtype.h [code]
                                 Functions to inspect PDAL dimension types.
                                 
                                file  pdalc_forward.h [code]
                                file  pdalc_forward.h [code]
                                 Forward declarations for the PDAL C API.
                                 
                                file  pdalc_pipeline.h [code]
                                file  pdalc_pipeline.h [code]
                                 Functions to launch and inspect the results of a PDAL pipeline.
                                 
                                file  pdalc_pointlayout.h [code]
                                file  pdalc_pointlayout.h [code]
                                 Functions to inspect the contents of a PDAL point layout.
                                 
                                file  pdalc_pointview.h [code]
                                file  pdalc_pointview.h [code]
                                 Functions to inspect the contents of a PDAL point view.
                                 
                                file  pdalc_pointviewiterator.h [code]
                                file  pdalc_pointviewiterator.h [code]
                                 Functions to inspect the contents of a PDAL point view iterator.
                                 
                                @@ -122,7 +121,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index ffbff02..9036737 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.9.1 */ +/* The standard CSS for doxygen 1.9.3 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -228,6 +228,33 @@ a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { color: #4665A2; } +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + /* @end */ dl.el { @@ -235,7 +262,7 @@ dl.el { } ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ + overflow: visible; } #side-nav ul { @@ -313,6 +340,7 @@ div.line.glow { span.lineno { padding-right: 4px; + margin-right: 9px; text-align: right; border-right: 2px solid #0F0; background-color: #E8E8E8; @@ -439,6 +467,12 @@ img.footer { vertical-align: middle; } +.compoundTemplParams { + color: #4665A2; + font-size: 80%; + line-height: 120%; +} + /* @group Code Colorization */ span.keyword { @@ -1322,6 +1356,11 @@ dl.section dd { } +#projectrow +{ + height: 56px; +} + #projectlogo { text-align: center; @@ -1337,18 +1376,19 @@ dl.section dd { #projectalign { vertical-align: middle; + padding-left: 0.5em; } #projectname { - font: 300% Tahoma, Arial,sans-serif; + font: 200% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; } #projectbrief { - font: 120% Tahoma, Arial,sans-serif; + font: 90% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } @@ -1487,6 +1527,10 @@ span.emoji { */ } +span.obfuscator { + display: none; +} + .PageDocRTL-title div.toc li.level1 { margin-left: 0 !important; margin-right: 0; @@ -1541,7 +1585,7 @@ tr.heading h2 { #powerTip { cursor: default; - white-space: nowrap; + /*white-space: nowrap;*/ background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; @@ -1780,6 +1824,10 @@ table.DocNodeLTR { margin-left: 0; } +code.JavaDocCode + direction:ltr; +} + tt, code, kbd, samp { display: inline-block; diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 9cdab88..d0f682a 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -2,8 +2,8 @@ - - + + pdal-c: File List @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,8 +83,7 @@
                                -
                                -
                                File List
                                +
                                File List
                                Here is a list of all files with brief descriptions:
                                @@ -106,7 +105,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index 2ba068f..f7915bf 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -2,8 +2,8 @@ - - + + pdal-c: Data Fields @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -84,25 +84,17 @@
                                Here is a list of all struct and union fields with links to the structures/unions they belong to:
                                diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index 103cf86..0d3516e 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -2,8 +2,8 @@ - - + + pdal-c: Data Fields - Variables @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -84,25 +84,17 @@
                                 
                                diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index 5647206..550ec3d 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -2,8 +2,8 @@ - - + + pdal-c: Globals @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,194 +85,74 @@
                                Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
                                -

                                - p -

                                diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index 60aa25c..9d60b3f 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -2,8 +2,8 @@ - - + + pdal-c: Globals @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,173 +85,67 @@
                                  -

                                - p -

                                diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 7083e44..56b090d 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -2,8 +2,8 @@ - - + + pdal-c: Globals @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -84,34 +84,20 @@
                                 
                                diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index e0d809e..90d6faa 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal-c: PDAL C API @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -82,32 +82,31 @@ -
                                -
                                -
                                pdal-c: PDAL C API
                                +
                                +
                                pdal-c: PDAL C API
                                -

                                -

                                )

                                +

                                +

                                )

                                Basics

                                -

                                pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                                -

                                pdal-c is released under the BSD 3-clause license.

                                +

                                pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                                +

                                pdal-c is released under the BSD 3-clause license.

                                Documentation

                                -

                                API Documentation

                                +

                                API Documentation

                                Installation

                                -

                                The library can be installed as a package on Windows, Mac and Linux using Conda.

                                +

                                The library can be installed as a package on Windows, Mac and Linux using Conda.

                                conda install -c conda-forge pdal-c
                                -

                                The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

                                +

                                The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

                                Dependencies

                                -

                                The library is dependent on PDAL and has currently been tested up to v2.2.0.

                                +

                                The library is dependent on PDAL and has currently been tested up to v2.2.0.

                                Usage

                                -

                                An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

                                -

                                NOTE - these scripts are provided for information only as examples and are not supported in any way!

                                +

                                An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

                                +

                                NOTE - these scripts are provided for information only as examples and are not supported in any way!

                                Example C# Program

                                using System;
                                @@ -167,26 +166,26 @@

                                }
                                }
                                }
                                -

                                This takes a LAS file, splits the file into tiles and then creates a Delaunay Triangulation (i.e. Mesh) for each one.

                                -

                                This code uses the sample bindings as-is and has a dependency on Geometry3Sharp only.

                                -

                                Note that BcpData is a custom data structure that holds the Point Cloud in a form suitable to create a Baked PointCloud suitable for rendering as a VFX graph in Unity. This is an efficient way to display point cloud data in VR and I have used it successfully with point clouds of 10 million points.

                                +

                                This takes a LAS file, splits the file into tiles and then creates a Delaunay Triangulation (i.e. Mesh) for each one.

                                +

                                This code uses the sample bindings as-is and has a dependency on Geometry3Sharp only.

                                +

                                Note that BcpData is a custom data structure that holds the Point Cloud in a form suitable to create a Baked PointCloud suitable for rendering as a VFX graph in Unity. This is an efficient way to display point cloud data in VR and I have used it successfully with point clouds of 10 million points.

                                For Developers

                                Build on Windows

                                -

                                The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                +

                                The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                cd CAPI
                                make.bat

                                Build on Linux and Mac

                                -

                                The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                +

                                The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                cd CAPI
                                cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCONDA_BUILD=OFF .
                                make
                                make install

                                Code Style

                                -

                                This project enforces the PDAL code styles, which can checked as follows :

                                +

                                This project enforces the PDAL code styles, which can checked as follows :

                                • On Windows - as per astylerc
                                • On Linux by running ./check_all.bash
                                • @@ -197,7 +196,7 @@

                                  diff --git a/docs/doxygen/html/jquery.js b/docs/doxygen/html/jquery.js index 103c32d..c9ed3d9 100644 --- a/docs/doxygen/html/jquery.js +++ b/docs/doxygen/html/jquery.js @@ -1,5 +1,5 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
                                  "],col:[2,"","
                                  "],tr:[2,"","
                                  "],td:[3,"","
                                  "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
                                  ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
                                  "],col:[2,"","
                                  "],tr:[2,"","
                                  "],td:[3,"","
                                  "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
                                  ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0
                                  '); + searchBox='
                                  '+ + '
                                  '+ + '
                                  '+ + ''+ + '
                                  '+ + '
                                  '+ + '
                                  '+ + '
                                  '; } else { - $('#main-menu').append('
                                • '); + searchBox='
                                  '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '' + '' + '
                                  '; + } + } + + $('#main-nav').before('
                                  '+ + ''+ + ''+ + '
                                  '); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBox) { + $('#main-menu').append('
                                • '); + } + var $mainMenuState = $('#main-menu-state'); + var prevWidth = 0; + if ($mainMenuState.length) { + function initResizableIfExists() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function(e) { + var $menu = $('#main-menu'); + var options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = function() { $menu.css('display', 'block') }; + $menu.hide().slideDown(options); + } else { + options['complete'] = function() { $menu.css('display', 'none') }; + $menu.show().slideUp(options); + } + }); + // set default menu visibility + function resetState() { + var $menu = $('#main-menu'); + var $mainMenuState = $('#main-menu-state'); + var newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBox); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBox); + $('#searchBoxPos2').show(); + } + prevWidth = newWidth; + } } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); } $('#main-menu').smartmenus(); } diff --git a/docs/doxygen/html/navtree.css b/docs/doxygen/html/navtree.css index 33341a6..d8a311a 100644 --- a/docs/doxygen/html/navtree.css +++ b/docs/doxygen/html/navtree.css @@ -87,6 +87,7 @@ position: absolute; left: 0px; width: 250px; + overflow : hidden; } .ui-resizable .ui-resizable-handle { diff --git a/docs/doxygen/html/navtree.js b/docs/doxygen/html/navtree.js index 1e272d3..2798368 100644 --- a/docs/doxygen/html/navtree.js +++ b/docs/doxygen/html/navtree.js @@ -325,11 +325,14 @@ function selectAndHighlight(hash,n) $(n.itemDiv).addClass('selected'); $(n.itemDiv).attr('id','selected'); } + var topOffset=5; + if (typeof page_layout!=='undefined' && page_layout==1) { + topOffset+=$('#top').outerHeight(); + } if ($('#nav-tree-contents .item:first').hasClass('selected')) { - $('#nav-sync').css('top','30px'); - } else { - $('#nav-sync').css('top','5px'); + topOffset+=25; } + $('#nav-sync').css('top',topOffset+'px'); showRoot(); } diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index 63d25c1..e1290a8 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc.h File Reference @@ -23,10 +23,9 @@
                                  - - + @@ -35,21 +34,22 @@
                                  -
                                  pdal-c -  v2.1.0 +
                                  +
                                  pdal-c v2.1.1
                                  C API for PDAL
                                  - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@
                                @@ -83,8 +83,7 @@
                                -
                                -
                                pdalc.h File Reference
                                +
                                pdalc.h File Reference
                                @@ -95,7 +94,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index 4e50357..f5436d8 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,50 +83,49 @@
                                -
                                -
                                pdalc.h
                                +
                                pdalc.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_H
                                -
                                31 #define PDALC_H
                                -
                                32 
                                -
                                33 #include "pdalc_config.h"
                                -
                                34 #include "pdalc_dimtype.h"
                                -
                                35 #include "pdalc_pipeline.h"
                                -
                                36 #include "pdalc_pointlayout.h"
                                -
                                37 #include "pdalc_pointview.h"
                                - -
                                39 
                                -
                                40 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_H
                                +
                                31#define PDALC_H
                                +
                                32
                                +
                                33#include "pdalc_config.h"
                                +
                                34#include "pdalc_dimtype.h"
                                +
                                35#include "pdalc_pipeline.h"
                                +
                                36#include "pdalc_pointlayout.h"
                                +
                                37#include "pdalc_pointview.h"
                                + +
                                39
                                +
                                40#endif
                                Functions to retrieve PDAL version and configuration information.
                                Functions to inspect PDAL dimension types.
                                Functions to launch and inspect the results of a PDAL pipeline.
                                @@ -139,7 +138,7 @@ diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index 906e72b..eacae4f 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_config.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,8 +85,7 @@
                                -
                                -
                                pdalc_config.h File Reference
                                +
                                pdalc_config.h File Reference
                                @@ -95,7 +94,7 @@

                                Go to the source code of this file.

                                - @@ -138,9 +137,9 @@

                                +

                                Functions

                                PDALC_API size_t PDALGetGdalDataPath (char *path, size_t size)
                                 Retrieves the path to the GDAL data directory. More...
                                 

                                Detailed Description

                                -

                                Functions to retrieve PDAL version and configuration information.

                                +

                                Functions to retrieve PDAL version and configuration information.

                                Function Documentation

                                - +

                                ◆ PDALDebugInformation()

                                @@ -179,7 +178,7 @@

                                +

                                ◆ PDALFullVersionString()

                                @@ -206,7 +205,7 @@

                                Retrieves the full PDAL version string.

                                -

                                The full version string includes the major version number, the minor version number, the patch version number, and the shortened Git commit SHA1.

                                +

                                The full version string includes the major version number, the minor version number, the patch version number, and the shortened Git commit SHA1.

                                See also
                                pdal::config::fullVersionString
                                Parameters
                                @@ -219,7 +218,7 @@

                                +

                                ◆ PDALGetGdalDataPath()

                                @@ -556,7 +555,7 @@

                                  - +
                                diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index da5bd1c..f8b8102 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_config.h Source File @@ -23,10 +23,9 @@

                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL

                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@
                                @@ -83,88 +83,87 @@
                                -
                                -
                                pdalc_config.h
                                +
                                pdalc_config.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_CONFIG_H
                                -
                                31 #define PDALC_CONFIG_H
                                -
                                32 
                                -
                                33 #include "pdalc_forward.h"
                                -
                                34 
                                -
                                40 #ifdef __cplusplus
                                -
                                41 
                                -
                                42 namespace pdal
                                -
                                43 {
                                -
                                44 namespace capi
                                -
                                45 {
                                -
                                46 extern "C"
                                -
                                47 {
                                -
                                48 #else
                                -
                                49 #include <stddef.h> // for size_t
                                -
                                50 #endif
                                -
                                58 PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                                -
                                59 
                                -
                                67 PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                                -
                                68 
                                -
                                74 PDALC_API void PDALSetGdalDataPath(const char *path);
                                -
                                75 
                                -
                                81 PDALC_API void PDALSetProj4DataPath(const char *path);
                                -
                                82 
                                -
                                94 PDALC_API size_t PDALFullVersionString(char *version, size_t size);
                                -
                                95 
                                -
                                107 PDALC_API size_t PDALVersionString(char *version, size_t size);
                                -
                                108 
                                -
                                119 PDALC_API int PDALVersionInteger();
                                -
                                120 
                                -
                                130 PDALC_API size_t PDALSha1(char *sha1, size_t size);
                                -
                                131 
                                -
                                139 PDALC_API int PDALVersionMajor();
                                -
                                140 
                                -
                                148 PDALC_API int PDALVersionMinor();
                                -
                                149 
                                -
                                157 PDALC_API int PDALVersionPatch();
                                -
                                158 
                                -
                                168 PDALC_API size_t PDALDebugInformation(char *info, size_t size);
                                -
                                169 
                                -
                                179 PDALC_API size_t PDALPluginInstallPath(char *path, size_t size);
                                -
                                180 
                                -
                                181 #ifdef __cplusplus
                                -
                                182 }
                                -
                                183 }
                                -
                                184 }
                                -
                                185 #endif
                                -
                                186 
                                -
                                187 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_CONFIG_H
                                +
                                31#define PDALC_CONFIG_H
                                +
                                32
                                +
                                33#include "pdalc_forward.h"
                                +
                                34
                                +
                                40#ifdef __cplusplus
                                +
                                41
                                +
                                42namespace pdal
                                +
                                43{
                                +
                                44namespace capi
                                +
                                45{
                                +
                                46extern "C"
                                +
                                47{
                                +
                                48#else
                                +
                                49#include <stddef.h> // for size_t
                                +
                                50#endif
                                +
                                58PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                                +
                                59
                                +
                                67PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                                +
                                68
                                +
                                74PDALC_API void PDALSetGdalDataPath(const char *path);
                                +
                                75
                                +
                                81PDALC_API void PDALSetProj4DataPath(const char *path);
                                +
                                82
                                +
                                94PDALC_API size_t PDALFullVersionString(char *version, size_t size);
                                +
                                95
                                +
                                107PDALC_API size_t PDALVersionString(char *version, size_t size);
                                +
                                108
                                +
                                119PDALC_API int PDALVersionInteger();
                                +
                                120
                                +
                                130PDALC_API size_t PDALSha1(char *sha1, size_t size);
                                +
                                131
                                +
                                139PDALC_API int PDALVersionMajor();
                                +
                                140
                                +
                                148PDALC_API int PDALVersionMinor();
                                +
                                149
                                +
                                157PDALC_API int PDALVersionPatch();
                                +
                                158
                                +
                                168PDALC_API size_t PDALDebugInformation(char *info, size_t size);
                                +
                                169
                                +
                                179PDALC_API size_t PDALPluginInstallPath(char *path, size_t size);
                                +
                                180
                                +
                                181#ifdef __cplusplus
                                +
                                182}
                                +
                                183}
                                +
                                184}
                                +
                                185#endif
                                +
                                186
                                +
                                187#endif
                                PDALC_API int PDALVersionMinor()
                                Returns the PDAL minor version number.
                                PDALC_API int PDALVersionMajor()
                                Returns the PDAL major version number.
                                PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
                                Retrieves the path to the GDAL data directory.
                                @@ -185,7 +184,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index cd04157..3a637cf 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_defines.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,8 +83,7 @@
                                -
                                -
                                pdalc_defines.h File Reference
                                +
                                pdalc_defines.h File Reference
                                @@ -95,7 +94,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 1462517..55f02cd 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_defines.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -83,82 +83,81 @@
                                -
                                -
                                pdalc_defines.h
                                +
                                pdalc_defines.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_DEFINES_H
                                -
                                31 #define PDALC_DEFINES_H
                                -
                                32 
                                -
                                33 // Visual Studio
                                -
                                34 #if defined(_MSC_VER)
                                -
                                35 #define PDALC_EXPORT_API __declspec(dllexport)
                                -
                                36 #define PDALC_IMPORT_API __declspec(dllimport)
                                -
                                37 #define PDALC_STATIC_API
                                -
                                38 
                                -
                                39 // GCC-compatible
                                -
                                40 #elif defined(__GNUC__)
                                -
                                41 #if defined(__ELF__)
                                -
                                42 #define PDALC_EXPORT_API __attribute__((visibility("default")))
                                -
                                43 #define PDALC_IMPORT_API __attribute__((visibility("default")))
                                -
                                44 #define PDALC_STATIC_API __attribute__((visibility("default")))
                                -
                                45 // Use symbols compatible with Visual Studio in Windows
                                -
                                46 #elif defined(_WIN32)
                                -
                                47 #define PDALC_EXPORT_API __declspec(dllexport)
                                -
                                48 #define PDALC_IMPORT_API __declspec(dllimport)
                                -
                                49 #define PDALC_STATIC_API
                                -
                                50 // Unknown platform
                                -
                                51 #else
                                -
                                52 #define PDALC_EXPORT_API
                                -
                                53 #define PDALC_IMPORT_API
                                -
                                54 #define PDALC_STATIC_API
                                -
                                55 #endif
                                -
                                56 
                                -
                                57 // Unknown compiler
                                -
                                58 #else
                                -
                                59 #define PDALC_EXPORT_API
                                -
                                60 #define PDALC_IMPORT_API
                                -
                                61 #define PDALC_STATIC_API
                                -
                                62 
                                -
                                63 #endif
                                -
                                64 
                                -
                                65 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_DEFINES_H
                                +
                                31#define PDALC_DEFINES_H
                                +
                                32
                                +
                                33// Visual Studio
                                +
                                34#if defined(_MSC_VER)
                                +
                                35#define PDALC_EXPORT_API __declspec(dllexport)
                                +
                                36#define PDALC_IMPORT_API __declspec(dllimport)
                                +
                                37#define PDALC_STATIC_API
                                +
                                38
                                +
                                39// GCC-compatible
                                +
                                40#elif defined(__GNUC__)
                                +
                                41#if defined(__ELF__)
                                +
                                42#define PDALC_EXPORT_API __attribute__((visibility("default")))
                                +
                                43#define PDALC_IMPORT_API __attribute__((visibility("default")))
                                +
                                44#define PDALC_STATIC_API __attribute__((visibility("default")))
                                +
                                45// Use symbols compatible with Visual Studio in Windows
                                +
                                46#elif defined(_WIN32)
                                +
                                47#define PDALC_EXPORT_API __declspec(dllexport)
                                +
                                48#define PDALC_IMPORT_API __declspec(dllimport)
                                +
                                49#define PDALC_STATIC_API
                                +
                                50// Unknown platform
                                +
                                51#else
                                +
                                52#define PDALC_EXPORT_API
                                +
                                53#define PDALC_IMPORT_API
                                +
                                54#define PDALC_STATIC_API
                                +
                                55#endif
                                +
                                56
                                +
                                57// Unknown compiler
                                +
                                58#else
                                +
                                59#define PDALC_EXPORT_API
                                +
                                60#define PDALC_IMPORT_API
                                +
                                61#define PDALC_STATIC_API
                                +
                                62
                                +
                                63#endif
                                +
                                64
                                +
                                65#endif
                                diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 4e9090d..49b69f7 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_dimtype.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,8 +85,7 @@
                                -
                                -
                                pdalc_dimtype.h File Reference
                                +
                                pdalc_dimtype.h File Reference
                                @@ -95,7 +94,7 @@

                                Go to the source code of this file.

                                - @@ -123,9 +122,9 @@

                                +

                                Functions

                                PDALC_API size_t PDALGetDimTypeListSize (PDALDimTypeListPtr types)
                                 Returns the number of elements in a dimension type list. More...
                                 

                                Detailed Description

                                -

                                Functions to inspect PDAL dimension types.

                                +

                                Functions to inspect PDAL dimension types.

                                Function Documentation

                                - +

                                ◆ PDALDisposeDimTypeList()

                                @@ -151,7 +150,7 @@

                                +

                                ◆ PDALGetDimType()

                                @@ -189,7 +188,7 @@

                                +

                                ◆ PDALGetDimTypeIdName()

                                @@ -234,7 +233,7 @@

                                +

                                ◆ PDALGetDimTypeInterpretationByteCount()

                                @@ -261,7 +260,7 @@

                                +

                                ◆ PDALGetDimTypeInterpretationName()

                                @@ -306,7 +305,7 @@

                                +

                                ◆ PDALGetDimTypeListByteCount()

                                @@ -333,7 +332,7 @@

                                +

                                ◆ PDALGetDimTypeListSize()

                                @@ -360,7 +359,7 @@

                                +

                                ◆ PDALGetInvalidDimType()

                                diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 18aaf6b..82aa7b4 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_dimtype.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@

                                @@ -83,78 +83,77 @@

                                -
                                -
                                pdalc_dimtype.h
                                +
                                pdalc_dimtype.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_DIMTYPE_H
                                -
                                31 #define PDALC_DIMTYPE_H
                                -
                                32 
                                -
                                33 #include "pdalc_forward.h"
                                -
                                34 
                                -
                                40 #ifdef __cplusplus
                                -
                                41 
                                -
                                42 namespace pdal
                                -
                                43 {
                                -
                                44 namespace capi
                                -
                                45 {
                                -
                                46 extern "C"
                                -
                                47 {
                                -
                                48 #else
                                -
                                49 #include <stddef.h> // for size_t
                                -
                                50 #endif
                                - -
                                58 
                                - -
                                67 
                                - -
                                78 
                                -
                                87 PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index);
                                -
                                88 
                                -
                                98 PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size);
                                -
                                99 
                                -
                                109 PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size);
                                -
                                110 
                                - -
                                118 
                                - -
                                125 
                                -
                                126 #ifdef __cplusplus
                                -
                                127 }
                                -
                                128 }
                                -
                                129 
                                -
                                130 }
                                -
                                131 #endif
                                -
                                132 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_DIMTYPE_H
                                +
                                31#define PDALC_DIMTYPE_H
                                +
                                32
                                +
                                33#include "pdalc_forward.h"
                                +
                                34
                                +
                                40#ifdef __cplusplus
                                +
                                41
                                +
                                42namespace pdal
                                +
                                43{
                                +
                                44namespace capi
                                +
                                45{
                                +
                                46extern "C"
                                +
                                47{
                                +
                                48#else
                                +
                                49#include <stddef.h> // for size_t
                                +
                                50#endif
                                + +
                                58
                                + +
                                67
                                + +
                                78
                                +
                                87PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index);
                                +
                                88
                                +
                                98PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size);
                                +
                                99
                                +
                                109PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size);
                                +
                                110
                                + +
                                118
                                + +
                                125
                                +
                                126#ifdef __cplusplus
                                +
                                127}
                                +
                                128}
                                +
                                129
                                +
                                130}
                                +
                                131#endif
                                +
                                132#endif
                                PDALC_API PDALDimType PDALGetInvalidDimType()
                                Returns the invalid dimension type.
                                PDALC_API void PDALDisposeDimTypeList(PDALDimTypeListPtr types)
                                Disposes the provided dimension type list.
                                PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
                                Returns the number of bytes required to store data referenced by a dimension type list.
                                @@ -172,7 +171,7 @@ diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index a39d6f8..f5aaf18 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_forward.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -86,8 +86,7 @@ -
                                -
                                pdalc_forward.h File Reference
                                +
                                pdalc_forward.h File Reference
                                @@ -96,13 +95,13 @@

                                Go to the source code of this file.

                                -

                                +

                                Data Structures

                                struct  PDALDimType
                                 A dimension type. More...
                                 
                                - @@ -127,9 +126,9 @@

                                +

                                Typedefs

                                typedef void * PDALDimTypeListPtr
                                 A pointer to a dimension type list. More...
                                 

                                Detailed Description

                                -

                                Forward declarations for the PDAL C API.

                                +

                                Forward declarations for the PDAL C API.

                                Typedef Documentation

                                - +

                                ◆ PDALDimTypeListPtr

                                @@ -145,7 +144,7 @@

                                +

                                ◆ PDALMeshPtr

                                @@ -161,7 +160,7 @@

                                +

                                ◆ PDALPipelinePtr

                                @@ -177,7 +176,7 @@

                                +

                                ◆ PDALPointId

                                @@ -193,7 +192,7 @@

                                +

                                ◆ PDALPointLayoutPtr

                                @@ -209,7 +208,7 @@

                                +

                                ◆ PDALPointViewIteratorPtr

                                @@ -225,7 +224,7 @@

                                +

                                ◆ PDALPointViewPtr

                                @@ -247,7 +246,7 @@

                                  - +

                                diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 9c8a77c..dbd74c6 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_forward.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@

                                @@ -83,110 +83,109 @@

                                -
                                -
                                pdalc_forward.h
                                +
                                pdalc_forward.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_FORWARD_H
                                -
                                31 #define PDALC_FORWARD_H
                                -
                                32 
                                -
                                33 #include "pdalc_defines.h"
                                -
                                34 
                                -
                                35 #ifdef PDALC_BUILD_DLL
                                -
                                36 #define PDALC_API PDALC_EXPORT_API
                                -
                                37 #elif defined(PDALC_BUILD_STATIC)
                                -
                                38 #define PDALC_API PDALC_STATIC_API
                                -
                                39 #else
                                -
                                40 #define PDALC_API PDALC_IMPORT_API
                                -
                                41 #endif
                                -
                                42 
                                -
                                48 #ifdef __cplusplus
                                -
                                49 #include <memory>
                                -
                                50 #include <set>
                                -
                                51 #include <vector>
                                -
                                52 
                                -
                                53 namespace pdal
                                -
                                54 {
                                -
                                55 struct DimType;
                                -
                                56 class PipelineExecutor;
                                -
                                57 class PointView;
                                -
                                58 class TriangularMesh;
                                -
                                59 
                                -
                                60 using PointViewPtr = std::shared_ptr<PointView>;
                                -
                                61 using DimTypeList = std::vector<DimType>;
                                -
                                62 using MeshPtr = std::shared_ptr<TriangularMesh>;
                                -
                                63 
                                -
                                64 namespace capi
                                -
                                65 {
                                -
                                66 class PointViewIterator;
                                -
                                67 using Pipeline = std::unique_ptr<pdal::PipelineExecutor>;
                                -
                                68 using PointView = pdal::PointViewPtr;
                                -
                                69 using TriangularMesh = pdal::MeshPtr;
                                -
                                70 using DimTypeList = std::unique_ptr<pdal::DimTypeList>;
                                -
                                71 }
                                -
                                72 }
                                -
                                73 
                                -
                                74 #else
                                -
                                75 #include <stdint.h> // for uint64_t
                                -
                                76 #endif /* __cplusplus */
                                -
                                77 
                                -
                                78 typedef struct PDALDimType PDALDimType;
                                -
                                79 
                                - -
                                82 {
                                -
                                84  uint32_t id;
                                -
                                85 
                                -
                                87  uint32_t type;
                                -
                                88 
                                -
                                90  double scale;
                                -
                                91 
                                -
                                93  double offset;
                                -
                                94 };
                                -
                                95 
                                -
                                97 typedef void* PDALDimTypeListPtr;
                                -
                                98 
                                -
                                100 typedef void* PDALPipelinePtr;
                                -
                                101 
                                -
                                103 typedef uint64_t PDALPointId;
                                -
                                104 
                                -
                                106 typedef void* PDALPointLayoutPtr;
                                -
                                107 
                                -
                                109 typedef void* PDALPointViewPtr;
                                -
                                110 
                                -
                                112 typedef void* PDALMeshPtr;
                                -
                                113 
                                - -
                                116 
                                -
                                117 #endif /* PDALC_FORWARD_H */
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_FORWARD_H
                                +
                                31#define PDALC_FORWARD_H
                                +
                                32
                                +
                                33#include "pdalc_defines.h"
                                +
                                34
                                +
                                35#ifdef PDALC_BUILD_DLL
                                +
                                36#define PDALC_API PDALC_EXPORT_API
                                +
                                37#elif defined(PDALC_BUILD_STATIC)
                                +
                                38#define PDALC_API PDALC_STATIC_API
                                +
                                39#else
                                +
                                40#define PDALC_API PDALC_IMPORT_API
                                +
                                41#endif
                                +
                                42
                                +
                                48#ifdef __cplusplus
                                +
                                49#include <memory>
                                +
                                50#include <set>
                                +
                                51#include <vector>
                                +
                                52
                                +
                                53namespace pdal
                                +
                                54{
                                +
                                55struct DimType;
                                +
                                56class PipelineExecutor;
                                +
                                57class PointView;
                                +
                                58class TriangularMesh;
                                +
                                59
                                +
                                60using PointViewPtr = std::shared_ptr<PointView>;
                                +
                                61using DimTypeList = std::vector<DimType>;
                                +
                                62using MeshPtr = std::shared_ptr<TriangularMesh>;
                                +
                                63
                                +
                                64namespace capi
                                +
                                65{
                                +
                                66class PointViewIterator;
                                +
                                67using Pipeline = std::unique_ptr<pdal::PipelineExecutor>;
                                +
                                68using PointView = pdal::PointViewPtr;
                                +
                                69using TriangularMesh = pdal::MeshPtr;
                                +
                                70using DimTypeList = std::unique_ptr<pdal::DimTypeList>;
                                +
                                71}
                                +
                                72}
                                +
                                73
                                +
                                74#else
                                +
                                75#include <stdint.h> // for uint64_t
                                +
                                76#endif /* __cplusplus */
                                +
                                77
                                +
                                78typedef struct PDALDimType PDALDimType;
                                +
                                79
                                + +
                                82{
                                +
                                84 uint32_t id;
                                +
                                85
                                +
                                87 uint32_t type;
                                +
                                88
                                +
                                90 double scale;
                                +
                                91
                                +
                                93 double offset;
                                +
                                94};
                                +
                                95
                                +
                                97typedef void* PDALDimTypeListPtr;
                                +
                                98
                                +
                                100typedef void* PDALPipelinePtr;
                                +
                                101
                                +
                                103typedef uint64_t PDALPointId;
                                +
                                104
                                +
                                106typedef void* PDALPointLayoutPtr;
                                +
                                107
                                +
                                109typedef void* PDALPointViewPtr;
                                +
                                110
                                +
                                112typedef void* PDALMeshPtr;
                                +
                                113
                                + +
                                116
                                +
                                117#endif /* PDALC_FORWARD_H */
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:109
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:115
                                @@ -206,7 +205,7 @@ diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index e9b6f5b..b1db206 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,8 +85,7 @@
                                -
                                -
                                pdalc_pipeline.h File Reference
                                +
                                pdalc_pipeline.h File Reference
                                @@ -95,7 +94,7 @@

                                Go to the source code of this file.

                                - @@ -132,9 +131,9 @@

                                +

                                Functions

                                PDALC_API PDALPipelinePtr PDALCreatePipeline (const char *json)
                                 Creates a PDAL pipeline from a JSON text string. More...
                                 

                                Detailed Description

                                -

                                Functions to launch and inspect the results of a PDAL pipeline.

                                +

                                Functions to launch and inspect the results of a PDAL pipeline.

                                Function Documentation

                                - +

                                ◆ PDALCreatePipeline()

                                @@ -162,7 +161,7 @@

                                +

                                ◆ PDALDisposePipeline()

                                @@ -188,7 +187,7 @@

                                +

                                ◆ PDALExecutePipeline()

                                @@ -215,7 +214,7 @@

                                +

                                ◆ PDALGetPipelineAsString()

                                @@ -260,7 +259,7 @@

                                +

                                ◆ PDALGetPipelineLog()

                                @@ -306,7 +305,7 @@

                                +

                                ◆ PDALGetPipelineLogLevel()

                                @@ -333,7 +332,7 @@

                                +

                                ◆ PDALGetPipelineMetadata()

                                @@ -378,7 +377,7 @@

                                +

                                ◆ PDALGetPipelineSchema()

                                @@ -423,7 +422,7 @@

                                +

                                ◆ PDALGetPointViews()

                                @@ -451,7 +450,7 @@

                                +

                                ◆ PDALSetPipelineLogLevel()

                                @@ -488,7 +487,7 @@

                                +

                                ◆ PDALValidatePipeline()

                                @@ -521,7 +520,7 @@

                                  - +

                                diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index 0a56639..da24637 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pipeline.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@

                                @@ -83,87 +83,86 @@

                                -
                                -
                                pdalc_pipeline.h
                                +
                                pdalc_pipeline.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_PIPELINE_H
                                -
                                31 #define PDALC_PIPELINE_H
                                -
                                32 
                                -
                                33 #include "pdalc_forward.h"
                                -
                                34 
                                -
                                40 #ifdef __cplusplus
                                -
                                41 
                                -
                                42 namespace pdal
                                -
                                43 {
                                -
                                44 namespace capi
                                -
                                45 {
                                -
                                46 extern "C"
                                -
                                47 {
                                -
                                48 #else
                                -
                                49 #include <stdbool.h> // for bool
                                -
                                50 #include <stddef.h> // for size_t
                                -
                                51 #include <stdint.h> // for int64_t
                                -
                                52 #endif /* __cplusplus */
                                -
                                53 
                                -
                                62 PDALC_API PDALPipelinePtr PDALCreatePipeline(const char* json);
                                -
                                63 
                                -
                                69 PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline);
                                -
                                70 
                                -
                                79 PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size);
                                -
                                80 
                                -
                                89 PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size);
                                -
                                90 
                                -
                                99 PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size);
                                -
                                100 
                                -
                                111 PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size);
                                -
                                112 
                                -
                                119 PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level);
                                -
                                120 
                                -
                                127 PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline);
                                -
                                128 
                                -
                                135 PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline);
                                -
                                136 
                                -
                                143 PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline);
                                -
                                144 
                                - -
                                156 
                                -
                                157 #ifdef __cplusplus
                                -
                                158 
                                -
                                159 }
                                -
                                160 }
                                -
                                161 }
                                -
                                162 #endif /* _cplusplus */
                                -
                                163 #endif /* PDALC_PIPELINE_H */
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_PIPELINE_H
                                +
                                31#define PDALC_PIPELINE_H
                                +
                                32
                                +
                                33#include "pdalc_forward.h"
                                +
                                34
                                +
                                40#ifdef __cplusplus
                                +
                                41
                                +
                                42namespace pdal
                                +
                                43{
                                +
                                44namespace capi
                                +
                                45{
                                +
                                46extern "C"
                                +
                                47{
                                +
                                48#else
                                +
                                49#include <stdbool.h> // for bool
                                +
                                50#include <stddef.h> // for size_t
                                +
                                51#include <stdint.h> // for int64_t
                                +
                                52#endif /* __cplusplus */
                                +
                                53
                                +
                                62PDALC_API PDALPipelinePtr PDALCreatePipeline(const char* json);
                                +
                                63
                                +
                                69PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline);
                                +
                                70
                                +
                                79PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size);
                                +
                                80
                                +
                                89PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size);
                                +
                                90
                                +
                                99PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size);
                                +
                                100
                                +
                                111PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size);
                                +
                                112
                                +
                                119PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level);
                                +
                                120
                                + +
                                128
                                +
                                135PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline);
                                +
                                136
                                +
                                143PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline);
                                +
                                144
                                + +
                                156
                                +
                                157#ifdef __cplusplus
                                +
                                158
                                +
                                159}
                                +
                                160}
                                +
                                161}
                                +
                                162#endif /* _cplusplus */
                                +
                                163#endif /* PDALC_PIPELINE_H */
                                Forward declarations for the PDAL C API.
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:115
                                void * PDALPipelinePtr
                                A pointer to a pipeline.
                                Definition: pdalc_forward.h:100
                                @@ -184,7 +183,7 @@ diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index 20a9e83..499a3a7 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pointlayout.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,8 +85,7 @@
                                -
                                -
                                pdalc_pointlayout.h File Reference
                                +
                                pdalc_pointlayout.h File Reference
                                @@ -95,7 +94,7 @@

                                Go to the source code of this file.

                                - @@ -114,9 +113,9 @@

                                +

                                Functions

                                PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes (PDALPointLayoutPtr layout)
                                 Returns the list of dimension types used by the provided layout. More...
                                 

                                Detailed Description

                                -

                                Functions to inspect the contents of a PDAL point layout.

                                +

                                Functions to inspect the contents of a PDAL point layout.

                                Function Documentation

                                - +

                                ◆ PDALFindDimType()

                                @@ -154,7 +153,7 @@

                                +

                                ◆ PDALGetDimPackedOffset()

                                @@ -192,7 +191,7 @@

                                +

                                ◆ PDALGetDimSize()

                                @@ -230,7 +229,7 @@

                                +

                                ◆ PDALGetPointLayoutDimTypes()

                                @@ -258,7 +257,7 @@

                                +

                                ◆ PDALGetPointSize()

                                @@ -291,7 +290,7 @@

                                  - +

                                diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 1b215d3..0555b9a 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pointlayout.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@

                                @@ -83,72 +83,71 @@

                                -
                                -
                                pdalc_pointlayout.h
                                +
                                pdalc_pointlayout.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_POINTLAYOUT_H
                                -
                                31 #define PDALC_POINTLAYOUT_H
                                -
                                32 
                                -
                                33 #include "pdalc_forward.h"
                                -
                                34 
                                -
                                41 #ifdef __cplusplus
                                -
                                42 namespace pdal
                                -
                                43 {
                                -
                                44 namespace capi
                                -
                                45 {
                                -
                                46 
                                -
                                47 extern "C"
                                -
                                48 {
                                -
                                49 #else
                                -
                                50 #include <stddef.h> // for size_t
                                -
                                51 #endif
                                - -
                                62 
                                -
                                71 PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name);
                                -
                                72 
                                -
                                81 PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name);
                                -
                                82 
                                -
                                91 PDALC_API size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name);
                                -
                                92 
                                -
                                99 PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout);
                                -
                                100 
                                -
                                101 #ifdef __cplusplus
                                -
                                102 } // extern "C"
                                -
                                103 } // namespace capi
                                -
                                104 } // namespace pdal
                                -
                                105 #endif
                                -
                                106 
                                -
                                107 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_POINTLAYOUT_H
                                +
                                31#define PDALC_POINTLAYOUT_H
                                +
                                32
                                +
                                33#include "pdalc_forward.h"
                                +
                                34
                                +
                                41#ifdef __cplusplus
                                +
                                42namespace pdal
                                +
                                43{
                                +
                                44namespace capi
                                +
                                45{
                                +
                                46
                                +
                                47extern "C"
                                +
                                48{
                                +
                                49#else
                                +
                                50#include <stddef.h> // for size_t
                                +
                                51#endif
                                + +
                                62
                                +
                                71PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name);
                                +
                                72
                                +
                                81PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name);
                                +
                                82
                                +
                                91PDALC_API size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name);
                                +
                                92
                                +
                                99PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout);
                                +
                                100
                                +
                                101#ifdef __cplusplus
                                +
                                102} // extern "C"
                                +
                                103} // namespace capi
                                +
                                104} // namespace pdal
                                +
                                105#endif
                                +
                                106
                                +
                                107#endif
                                Forward declarations for the PDAL C API.
                                void * PDALDimTypeListPtr
                                A pointer to a dimension type list.
                                Definition: pdalc_forward.h:97
                                void * PDALPointLayoutPtr
                                A pointer to a point layout.
                                Definition: pdalc_forward.h:106
                                @@ -164,7 +163,7 @@ diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 27b0593..c278731 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pointview.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,8 +85,7 @@
                                -
                                -
                                pdalc_pointview.h File Reference
                                +
                                pdalc_pointview.h File Reference
                                @@ -95,7 +94,7 @@

                                Go to the source code of this file.

                                - @@ -135,9 +134,9 @@

                                +

                                Functions

                                PDALC_API void PDALDisposePointView (PDALPointViewPtr view)
                                 Disposes the provided point view. More...
                                 

                                Detailed Description

                                -

                                Functions to inspect the contents of a PDAL point view.

                                +

                                Functions to inspect the contents of a PDAL point view.

                                Function Documentation

                                - +

                                ◆ PDALClonePointView()

                                @@ -165,7 +164,7 @@

                                +

                                ◆ PDALDisposePointView()

                                @@ -191,7 +190,7 @@

                                +

                                ◆ PDALGetAllPackedPoints()

                                @@ -240,7 +239,7 @@

                                +

                                ◆ PDALGetAllTriangles()

                                @@ -282,7 +281,7 @@

                                +

                                ◆ PDALGetMeshSize()

                                @@ -310,7 +309,7 @@

                                +

                                ◆ PDALGetPackedPoint()

                                @@ -363,7 +362,7 @@

                                +

                                ◆ PDALGetPointViewId()

                                @@ -391,7 +390,7 @@

                                +

                                ◆ PDALGetPointViewLayout()

                                @@ -419,7 +418,7 @@

                                +

                                ◆ PDALGetPointViewProj4()

                                @@ -465,7 +464,7 @@

                                +

                                ◆ PDALGetPointViewSize()

                                @@ -493,7 +492,7 @@

                                +

                                ◆ PDALGetPointViewWkt()

                                @@ -546,7 +545,7 @@

                                +

                                ◆ PDALIsPointViewEmpty()

                                @@ -580,7 +579,7 @@

                                  - +

                                diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index 35c84ae..152953a 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pointview.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@

                                @@ -83,88 +83,87 @@

                                -
                                -
                                pdalc_pointview.h
                                +
                                pdalc_pointview.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_POINTVIEW_H
                                -
                                31 #define PDALC_POINTVIEW_H
                                -
                                32 
                                -
                                33 #include "pdalc_forward.h"
                                -
                                34 
                                -
                                40 #ifdef __cplusplus /* __cplusplus */
                                -
                                41 
                                -
                                42 namespace pdal
                                -
                                43 {
                                -
                                44 namespace capi
                                -
                                45 {
                                -
                                46 extern "C"
                                -
                                47 {
                                -
                                48 #else
                                -
                                49 #include <stdbool.h> // for bool
                                -
                                50 #include <stddef.h> // for size_t
                                -
                                51 #include <stdint.h> // for uint64_t
                                -
                                52 #endif
                                - -
                                59 
                                - -
                                69 
                                -
                                78 PDALC_API uint64_t PDALGetPointViewSize(PDALPointViewPtr view);
                                -
                                79 
                                - -
                                89 
                                - -
                                99 
                                -
                                111 PDALC_API size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size);
                                -
                                112 
                                -
                                124 PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty);
                                -
                                125 
                                - -
                                136 
                                -
                                149 PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer);
                                -
                                150 
                                -
                                168 PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer);
                                -
                                169 
                                -
                                178 PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view);
                                -
                                179 
                                -
                                196 PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer);
                                -
                                197 
                                -
                                198 #ifdef __cplusplus
                                -
                                199 }
                                -
                                200 }
                                -
                                201 }
                                -
                                202 #endif /* __cplusplus */
                                -
                                203 
                                -
                                204 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_POINTVIEW_H
                                +
                                31#define PDALC_POINTVIEW_H
                                +
                                32
                                +
                                33#include "pdalc_forward.h"
                                +
                                34
                                +
                                40#ifdef __cplusplus /* __cplusplus */
                                +
                                41
                                +
                                42namespace pdal
                                +
                                43{
                                +
                                44namespace capi
                                +
                                45{
                                +
                                46extern "C"
                                +
                                47{
                                +
                                48#else
                                +
                                49#include <stdbool.h> // for bool
                                +
                                50#include <stddef.h> // for size_t
                                +
                                51#include <stdint.h> // for uint64_t
                                +
                                52#endif
                                + +
                                59
                                + +
                                69
                                +
                                78PDALC_API uint64_t PDALGetPointViewSize(PDALPointViewPtr view);
                                +
                                79
                                + +
                                89
                                + +
                                99
                                +
                                111PDALC_API size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size);
                                +
                                112
                                +
                                124PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty);
                                +
                                125
                                + +
                                136
                                +
                                149PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer);
                                +
                                150
                                +
                                168PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer);
                                +
                                169
                                +
                                178PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view);
                                +
                                179
                                +
                                196PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer);
                                +
                                197
                                +
                                198#ifdef __cplusplus
                                +
                                199}
                                +
                                200}
                                +
                                201}
                                +
                                202#endif /* __cplusplus */
                                +
                                203
                                +
                                204#endif
                                Forward declarations for the PDAL C API.
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:109
                                uint64_t PDALPointId
                                An index to a point in a list.
                                Definition: pdalc_forward.h:103
                                @@ -188,7 +187,7 @@ diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index 6db2834..bf760c4 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pointviewiterator.h File Reference @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,8 +85,7 @@
                                -
                                -
                                pdalc_pointviewiterator.h File Reference
                                +
                                pdalc_pointviewiterator.h File Reference
                                @@ -95,7 +94,7 @@

                                Go to the source code of this file.

                                - @@ -111,9 +110,9 @@

                                +

                                Functions

                                PDALC_API bool PDALHasNextPointView (PDALPointViewIteratorPtr itr)
                                 Returns whether another point view is available in the provided iterator. More...
                                 

                                Detailed Description

                                -

                                Functions to inspect the contents of a PDAL point view iterator.

                                +

                                Functions to inspect the contents of a PDAL point view iterator.

                                Function Documentation

                                - +

                                ◆ PDALDisposePointViewIterator()

                                @@ -139,7 +138,7 @@

                                +

                                ◆ PDALGetNextPointView()

                                @@ -167,7 +166,7 @@

                                +

                                ◆ PDALHasNextPointView()

                                @@ -194,7 +193,7 @@

                                +

                                ◆ PDALResetPointViewIterator()

                                @@ -226,7 +225,7 @@

                                diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index a358a38..0110a33 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -2,8 +2,8 @@ - - + + pdal-c: pdal/pdalc_pointviewiterator.h Source File @@ -23,10 +23,9 @@
                                - - + @@ -35,21 +34,22 @@
                                -
                                pdal-c -  v2.1.0 +
                                +
                                pdal-c v2.1.1
                                C API for PDAL
                                - + +/* @license-end */ +

                                @@ -63,7 +63,7 @@

                                @@ -83,85 +83,84 @@

                                -
                                -
                                pdalc_pointviewiterator.h
                                +
                                pdalc_pointviewiterator.h
                                -Go to the documentation of this file.
                                1 /******************************************************************************
                                -
                                2  * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                -
                                3  *
                                -
                                4  * Redistribution and use in source and binary forms, with or without
                                -
                                5  * modification, are permitted provided that the following
                                -
                                6  * conditions are met:
                                -
                                7  *
                                -
                                8  * 1. Redistributions of source code must retain the above copyright notice,
                                -
                                9  * this list of conditions and the following disclaimer.
                                -
                                10  * 2. Redistributions in binary form must reproduce the above copyright notice,
                                -
                                11  this list of conditions and the following disclaimer in the documentation
                                -
                                12  * and/or other materials provided with the distribution.
                                -
                                13  * 3. Neither the name of Simverge Software LLC nor the names of its
                                -
                                14  * contributors may be used to endorse or promote products derived from this
                                -
                                15  * software without specific prior written permission.
                                -
                                16  *
                                -
                                17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                -
                                18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                -
                                19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                -
                                20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                -
                                21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                -
                                22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                -
                                23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                -
                                24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                -
                                25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                -
                                26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                -
                                27  * POSSIBILITY OF SUCH DAMAGE.
                                -
                                28  *****************************************************************************/
                                -
                                29 
                                -
                                30 #ifndef PDALC_POINTVIEWITERATOR_H
                                -
                                31 #define PDALC_POINTVIEWITERATOR_H
                                -
                                32 
                                -
                                33 #include "pdalc_forward.h"
                                -
                                34 
                                -
                                40 #ifdef __cplusplus
                                -
                                41 #include <pdal/PointView.hpp>
                                -
                                42 
                                -
                                43 namespace pdal
                                -
                                44 {
                                -
                                45 namespace capi
                                -
                                46 {
                                -
                                47 class PointViewIterator
                                -
                                48 {
                                -
                                49 public:
                                -
                                50  PointViewIterator(const pdal::PointViewSet& views);
                                -
                                51  bool hasNext() const;
                                -
                                52  const pdal::PointViewPtr next();
                                -
                                53  void reset();
                                -
                                54 
                                -
                                55 private:
                                -
                                56  const pdal::PointViewSet &m_views;
                                -
                                57  pdal::PointViewSet::const_iterator m_itr;
                                -
                                58 };
                                -
                                59 
                                -
                                60 extern "C"
                                -
                                61 {
                                -
                                62 #else
                                -
                                63 #include <stdbool.h> // for bool
                                -
                                64 #endif /* __cplusplus */
                                -
                                65 
                                - -
                                73 
                                - -
                                84 
                                - -
                                91 
                                - -
                                98 
                                -
                                99 #ifdef __cplusplus
                                -
                                100 }
                                -
                                101 }
                                -
                                102 }
                                -
                                103 #endif /* __cplusplus */
                                -
                                104 
                                -
                                105 #endif
                                +Go to the documentation of this file.
                                1/******************************************************************************
                                +
                                2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                +
                                3 *
                                +
                                4 * Redistribution and use in source and binary forms, with or without
                                +
                                5 * modification, are permitted provided that the following
                                +
                                6 * conditions are met:
                                +
                                7 *
                                +
                                8 * 1. Redistributions of source code must retain the above copyright notice,
                                +
                                9 * this list of conditions and the following disclaimer.
                                +
                                10 * 2. Redistributions in binary form must reproduce the above copyright notice,
                                +
                                11 this list of conditions and the following disclaimer in the documentation
                                +
                                12 * and/or other materials provided with the distribution.
                                +
                                13 * 3. Neither the name of Simverge Software LLC nor the names of its
                                +
                                14 * contributors may be used to endorse or promote products derived from this
                                +
                                15 * software without specific prior written permission.
                                +
                                16 *
                                +
                                17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                +
                                18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                +
                                19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                +
                                20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
                                +
                                21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                +
                                22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                +
                                23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                +
                                24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                +
                                25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                +
                                26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                +
                                27 * POSSIBILITY OF SUCH DAMAGE.
                                +
                                28 *****************************************************************************/
                                +
                                29
                                +
                                30#ifndef PDALC_POINTVIEWITERATOR_H
                                +
                                31#define PDALC_POINTVIEWITERATOR_H
                                +
                                32
                                +
                                33#include "pdalc_forward.h"
                                +
                                34
                                +
                                40#ifdef __cplusplus
                                +
                                41#include <pdal/PointView.hpp>
                                +
                                42
                                +
                                43namespace pdal
                                +
                                44{
                                +
                                45namespace capi
                                +
                                46{
                                +
                                47class PointViewIterator
                                +
                                48{
                                +
                                49public:
                                +
                                50 PointViewIterator(const pdal::PointViewSet& views);
                                +
                                51 bool hasNext() const;
                                +
                                52 const pdal::PointViewPtr next();
                                +
                                53 void reset();
                                +
                                54
                                +
                                55private:
                                +
                                56 const pdal::PointViewSet &m_views;
                                +
                                57 pdal::PointViewSet::const_iterator m_itr;
                                +
                                58};
                                +
                                59
                                +
                                60extern "C"
                                +
                                61{
                                +
                                62#else
                                +
                                63#include <stdbool.h> // for bool
                                +
                                64#endif /* __cplusplus */
                                +
                                65
                                + +
                                73
                                + +
                                84
                                + +
                                91
                                + +
                                98
                                +
                                99#ifdef __cplusplus
                                +
                                100}
                                +
                                101}
                                +
                                102}
                                +
                                103#endif /* __cplusplus */
                                +
                                104
                                +
                                105#endif
                                Forward declarations for the PDAL C API.
                                void * PDALPointViewPtr
                                A pointer to point view.
                                Definition: pdalc_forward.h:109
                                void * PDALPointViewIteratorPtr
                                A pointer to a point view iterator.
                                Definition: pdalc_forward.h:115
                                @@ -175,7 +174,7 @@ diff --git a/docs/doxygen/html/resize.js b/docs/doxygen/html/resize.js index e1ad0fe..7fe30d1 100644 --- a/docs/doxygen/html/resize.js +++ b/docs/doxygen/html/resize.js @@ -53,7 +53,7 @@ function initResizable() date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week expiration = date.toGMTString(); } - document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; } function resizeWidth() @@ -75,10 +75,20 @@ function initResizable() { var headerHeight = header.outerHeight(); var footerHeight = footer.outerHeight(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - content.css({height:windowHeight + "px"}); - navtree.css({height:windowHeight + "px"}); - sidenav.css({height:windowHeight + "px"}); + var windowHeight = $(window).height(); + var contentHeight,navtreeHeight,sideNavHeight; + if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ + contentHeight = windowHeight - headerHeight - footerHeight; + navtreeHeight = contentHeight; + sideNavHeight = contentHeight; + } else if (page_layout==1) { /* DISABLE_INDEX=YES */ + contentHeight = windowHeight - footerHeight; + navtreeHeight = windowHeight - headerHeight; + sideNavHeight = windowHeight; + } + content.css({height:contentHeight + "px"}); + navtree.css({height:navtreeHeight + "px"}); + sidenav.css({height:sideNavHeight + "px"}); var width=$(window).width(); if (width!=collapsedWidth) { if (width=desktop_vp) { diff --git a/docs/doxygen/html/search/all_0.html b/docs/doxygen/html/search/all_0.html index 1ec5b2d..c36c9af 100644 --- a/docs/doxygen/html/search/all_0.html +++ b/docs/doxygen/html/search/all_0.html @@ -2,7 +2,7 @@ - + @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                @@ -12,14 +12,14 @@
                                Loading...
                                Searching...
                                No Matches
                                +/* @license-end */ +
                                @@ -63,7 +63,7 @@
                                @@ -85,15 +85,16 @@
                                -
                                -
                                PDALDimType Struct Reference
                                +
                                PDALDimType Struct Reference

                                A dimension type. More...

                                + +

                                #include <pdal/pdalc_forward.h>

                                - @@ -109,9 +110,9 @@

                                +

                                Data Fields

                                uint32_t id
                                 The dimension's identifier. More...
                                 

                                Detailed Description

                                -

                                A dimension type.

                                +

                                A dimension type.

                                Field Documentation

                                - +

                                ◆ id

                                @@ -127,7 +128,7 @@

                                +

                                ◆ offset

                                @@ -143,7 +144,7 @@

                                +

                                ◆ scale

                                @@ -159,7 +160,7 @@

                                +

                                ◆ type

                                @@ -181,7 +182,7 @@

                                  - +

                                diff --git a/docs/doxygen/html/tabs.css b/docs/doxygen/html/tabs.css index 85a0cd5..00d1c60 100644 --- a/docs/doxygen/html/tabs.css +++ b/docs/doxygen/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file From 656141f92d40193c7cddc7a5a5d54e9721bb2a99 Mon Sep 17 00:00:00 2001 From: runette Date: Tue, 31 Jan 2023 15:41:49 +0000 Subject: [PATCH 48/73] first pass --- source/pdal/pdalc_config.cpp | 3 + source/pdal/pdalc_config.h | 1 + source/pdal/pdalc_forward.h | 13 ++- source/pdal/pdalc_pipeline.cpp | 139 +++++++++++++++++---------------- source/pdal/pdalc_pipeline.h | 11 ++- 5 files changed, 93 insertions(+), 74 deletions(-) diff --git a/source/pdal/pdalc_config.cpp b/source/pdal/pdalc_config.cpp index 81514ba..e8b61d1 100644 --- a/source/pdal/pdalc_config.cpp +++ b/source/pdal/pdalc_config.cpp @@ -27,6 +27,7 @@ * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +#define _CRT_SECURE_NO_WARNINGS #include "pdalc_config.h" #include @@ -36,6 +37,8 @@ #include #include + + namespace pdal { namespace capi diff --git a/source/pdal/pdalc_config.h b/source/pdal/pdalc_config.h index 8bb503f..7ecd3cd 100644 --- a/source/pdal/pdalc_config.h +++ b/source/pdal/pdalc_config.h @@ -32,6 +32,7 @@ #include "pdalc_forward.h" + /** * @file pdalc_config.h * Functions to retrieve PDAL version and configuration information. diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index 0c68b16..33e1388 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -53,7 +53,7 @@ namespace pdal { struct DimType; -class PipelineExecutor; +class PipelineManager; class PointView; class TriangularMesh; @@ -64,10 +64,19 @@ using MeshPtr = std::shared_ptr; namespace capi { class PointViewIterator; -using Pipeline = std::unique_ptr; using PointView = pdal::PointViewPtr; using TriangularMesh = pdal::MeshPtr; using DimTypeList = std::unique_ptr; + +struct Pipeline { + public: + + std::unique_ptr manager = std::make_unique(); + + bool m_executed = false; + std::stringstream logStream; + pdal::LogLevel logLevel; + }; } } diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index fd7dfe8..5070f17 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2019, Simverge Software LLC. All rights reserved. + * Copyright (c) 2019, Simverge Software LLC & Runette Software Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following @@ -26,15 +26,17 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - +#define _CRT_SECURE_NO_WARNINGS #include "pdalc_pipeline.h" #include -#include - #include "pdalc_pointviewiterator.h" +#include +#include +#include + // TODO Address cause of std::min problems. See https://github.com/PDAL/CAPI/issues/4 #undef min @@ -46,46 +48,35 @@ extern "C" { PDALPipelinePtr PDALCreatePipeline(const char* json) { - PDALPipelinePtr pipeline = nullptr; - + PDALPipelinePtr pipeline = new Pipeline(); + Pipeline *ptr = reinterpret_cast(pipeline); + PipelineManager *manager = ptr->manager.get(); if (json && std::strlen(json) > 0) { - pdal::PipelineExecutor *executor = nullptr; - try { - pdal::PipelineExecutor stackpipe(json); - executor = new pdal::PipelineExecutor(json); + LogPtr log(Log::makeLog("capi pipeline", &ptr->logStream)); + manager->setLog(log); + + std::stringstream strm; + strm << json; + manager->readPipeline(strm); } catch (const std::exception &e) { printf("Could not create pipeline: %s\n%s\n", e.what(), json); - executor = nullptr; } - if (executor) + if (manager) { - bool valid = false; - try { - valid = executor->validate(); + manager->prepare(); } catch (const std::exception &e) { printf("Error while validating pipeline: %s\n%s\n", e.what(), json); } - - if (valid) - { - pipeline = new Pipeline(executor); - } - else - { - delete executor; - executor = NULL; - printf("The pipeline is invalid:\n%s\n", json); - } } } @@ -97,6 +88,7 @@ extern "C" if (pipeline) { Pipeline *ptr = reinterpret_cast(pipeline); + ptr->manager.reset(); delete ptr; } } @@ -108,17 +100,18 @@ extern "C" if (pipeline && buffer && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); + PipelineManager *manager = ptr->manager.get(); buffer[0] = '\0'; buffer[size - 1] = '\0'; - if (executor) + if (manager) { try { - std::string s = executor->getPipeline(); - std::strncpy(buffer, s.c_str(), size - 1); - result = std::min(s.length(), size); + std::stringstream strm; + pdal::PipelineWriter::writePipeline(manager->getStage(), strm); + std::strncpy(buffer, strm.str().c_str(), size - 1); + result = std::min(strm.str().length(), size); } catch (const std::exception &e) { @@ -138,17 +131,19 @@ extern "C" if (pipeline && metadata && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); + PipelineManager *manager = ptr->manager.get(); metadata[0] = '\0'; metadata[size - 1] = '\0'; - if (executor) + if (manager) { try { - std::string s = executor->getMetadata(); - std::strncpy(metadata, s.c_str(), size); - result = std::min(s.length(), size); + std::stringstream strm; + MetadataNode root = manager->getMetadata().clone("metadata"); + pdal::Utils::toJSON(root, strm); + std::strncpy(metadata, strm.str().c_str(), size); + result = std::min(strm.str().length(), size); } catch (const std::exception &e) { @@ -167,17 +162,19 @@ extern "C" if (pipeline && schema && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); + PipelineManager *manager = ptr->manager.get(); schema[0] = '\0'; schema[size - 1] = '\0'; - if (executor) + if (manager) { try { - std::string s = executor->getSchema(); - std::strncpy(schema, s.c_str(), size); - result = std::min(s.length(), size); + std::stringstream strm; + MetadataNode root = manager->pointTable().layout()->toMetadata().clone("schema"); + pdal::Utils::toJSON(root, strm); + std::strncpy(schema, strm.str().c_str(), size); + result = std::min(strm.str().length(), size); } catch (const std::exception &e) { @@ -196,15 +193,15 @@ extern "C" if (pipeline && log && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - pdal::PipelineExecutor *executor = ptr->get(); + PipelineManager *manager = ptr->manager.get(); log[0] = '\0'; log[size - 1] = '\0'; - if (executor) + if (manager) { try { - std::string s = executor->getLog(); + std::string s = ptr->logStream.str(); std::strncpy(log, s.c_str(), size); result = std::min(s.length(), size); } @@ -221,24 +218,31 @@ extern "C" void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) { Pipeline *ptr = reinterpret_cast(pipeline); + PipelineManager *manager = ptr->manager.get(); - if (ptr && ptr->get()) + try + { + if (level < 0 || level > 8) + throw pdal_error("log level must be between 0 and 8!"); + + ptr->logLevel = static_cast(level); + pdal::LogPtr lptr = manager->log(); + lptr->setLevel(ptr->logLevel); + } + catch (const std::exception &e) { - try - { - ptr->get()->setLogLevel(level); - } - catch (const std::exception &e) - { - printf("Found error while setting log level: %s\n", e.what()); - } + printf("Found error while setting log level: %s\n", e.what()); } + } int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) { Pipeline *ptr = reinterpret_cast(pipeline); - return (ptr && ptr->get()) ? ptr->get()->getLogLevel() : 0; + return (ptr && ptr->manager.get()) + ? static_cast( + ptr->manager.get()->log()->getLevel() + ) : 0; } int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) @@ -246,11 +250,11 @@ extern "C" int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); - if (ptr && ptr->get()) + if (ptr) { try { - result = ptr->get()->execute(); + result = ptr->manager.get()->execute(); } catch (const std::exception &e) { @@ -266,11 +270,11 @@ extern "C" int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); - if (ptr && ptr->get()) + if (ptr) { try { - result = ptr->get()->validate(); + ptr->manager.get()->prepare(); } catch (const std::exception &e) { @@ -284,18 +288,14 @@ extern "C" PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) { Pipeline *ptr = reinterpret_cast(pipeline); + PipelineManager *manager = ptr->manager.get(); pdal::capi::PointViewIterator *views = nullptr; - if (ptr && ptr->get()) + if (ptr) { try { - auto &v = ptr->get()->getManagerConst().views(); - - if (!v.empty()) - { - views = new pdal::capi::PointViewIterator(v); - } + views = new pdal::capi::PointViewIterator(manager->views()); } catch (const std::exception &e) { @@ -305,6 +305,9 @@ extern "C" return views; } -} -} -} +} /* extern c */ + + + +} /* capi */ +} /* pdal */ diff --git a/source/pdal/pdalc_pipeline.h b/source/pdal/pdalc_pipeline.h index d7657c0..497bd2f 100644 --- a/source/pdal/pdalc_pipeline.h +++ b/source/pdal/pdalc_pipeline.h @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2019, Simverge Software LLC. All rights reserved. + * Copyright (c) 2019, Simverge Software LLC & Runette Software. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following @@ -156,8 +156,11 @@ PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline); #ifdef __cplusplus -} -} -} +} /* extern C */ + + + +} /* capi*/ +} /* pdal*/ #endif /* _cplusplus */ #endif /* PDALC_PIPELINE_H */ \ No newline at end of file From d7e44d826179016306828acda21d2b26b79264a3 Mon Sep 17 00:00:00 2001 From: runette Date: Tue, 31 Jan 2023 15:58:14 +0000 Subject: [PATCH 49/73] first compiling --- source/pdal/pdalc_dimtype.cpp | 4 +++- source/pdal/pdalc_forward.h | 9 --------- source/pdal/pdalc_pipeline.cpp | 11 +++++++++++ source/pdal/pdalc_pipeline.h | 5 ++--- source/pdal/pdalc_pointview.cpp | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/source/pdal/pdalc_dimtype.cpp b/source/pdal/pdalc_dimtype.cpp index b1d782d..31eb58f 100644 --- a/source/pdal/pdalc_dimtype.cpp +++ b/source/pdal/pdalc_dimtype.cpp @@ -26,11 +26,13 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - +#define _CRT_SECURE_NO_WARNINGS #include "pdal/pdalc_dimtype.h" #include + + namespace pdal { namespace capi diff --git a/source/pdal/pdalc_forward.h b/source/pdal/pdalc_forward.h index 33e1388..766b935 100644 --- a/source/pdal/pdalc_forward.h +++ b/source/pdal/pdalc_forward.h @@ -68,15 +68,6 @@ using PointView = pdal::PointViewPtr; using TriangularMesh = pdal::MeshPtr; using DimTypeList = std::unique_ptr; -struct Pipeline { - public: - - std::unique_ptr manager = std::make_unique(); - - bool m_executed = false; - std::stringstream logStream; - pdal::LogLevel logLevel; - }; } } diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 5070f17..2452b5f 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -44,8 +44,19 @@ namespace pdal { namespace capi { + extern "C" { + struct Pipeline { + public: + + std::unique_ptr manager = std::make_unique(); + + bool m_executed = false; + std::stringstream logStream; + pdal::LogLevel logLevel; + }; + PDALPipelinePtr PDALCreatePipeline(const char* json) { PDALPipelinePtr pipeline = new Pipeline(); diff --git a/source/pdal/pdalc_pipeline.h b/source/pdal/pdalc_pipeline.h index 497bd2f..62ecd13 100644 --- a/source/pdal/pdalc_pipeline.h +++ b/source/pdal/pdalc_pipeline.h @@ -32,6 +32,7 @@ #include "pdalc_forward.h" + /** * @file pdalc_pipeline.h * Functions to launch and inspect the results of a PDAL pipeline. @@ -45,6 +46,7 @@ namespace capi { extern "C" { + #else #include // for bool #include // for size_t @@ -157,9 +159,6 @@ PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline); #ifdef __cplusplus } /* extern C */ - - - } /* capi*/ } /* pdal*/ #endif /* _cplusplus */ diff --git a/source/pdal/pdalc_pointview.cpp b/source/pdal/pdalc_pointview.cpp index b83ae42..b06ea2e 100644 --- a/source/pdal/pdalc_pointview.cpp +++ b/source/pdal/pdalc_pointview.cpp @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - +#define _CRT_SECURE_NO_WARNINGS #include "pdalc_pointview.h" #include From 93083148aac73db7e2bfcf85fa2bf8601900db8a Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 01:20:34 +0000 Subject: [PATCH 50/73] Update pdalc_pipeline.cpp --- source/pdal/pdalc_pipeline.cpp | 182 ++++++++++++++++----------------- 1 file changed, 86 insertions(+), 96 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 2452b5f..033a533 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -37,7 +37,6 @@ #include #include -// TODO Address cause of std::min problems. See https://github.com/PDAL/CAPI/issues/4 #undef min namespace pdal @@ -50,57 +49,55 @@ extern "C" struct Pipeline { public: - std::unique_ptr manager = std::make_unique(); + PipelineManagerPtr manager = std::make_unique(); bool m_executed = false; std::stringstream logStream; - pdal::LogLevel logLevel; }; PDALPipelinePtr PDALCreatePipeline(const char* json) { - PDALPipelinePtr pipeline = new Pipeline(); - Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); + Pipeline* pipeline = new Pipeline(); if (json && std::strlen(json) > 0) { try { - LogPtr log(Log::makeLog("capi pipeline", &ptr->logStream)); - manager->setLog(log); + std::stringstream* s = &pipeline->logStream; + LogPtr lptr(pdal::Log::makeLog("pdal capi", s, true)); + pipeline->manager->setLog(lptr); std::stringstream strm; strm << json; - manager->readPipeline(strm); + pipeline->manager->readPipeline(strm); } catch (const std::exception &e) { printf("Could not create pipeline: %s\n%s\n", e.what(), json); + delete pipeline; + return nullptr; } - if (manager) + try { - try - { - manager->prepare(); - } - catch (const std::exception &e) - { - printf("Error while validating pipeline: %s\n%s\n", e.what(), json); - } + pipeline->manager->prepare(); + } + catch (const std::exception &e) + { + printf("Error while validating pipeline: %s\n%s\n", e.what(), json); + delete pipeline; + return nullptr; } - } - return pipeline; + return pipeline; + } + return nullptr; } void PDALDisposePipeline(PDALPipelinePtr pipeline) { if (pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); - ptr->manager.reset(); - delete ptr; + delete pipeline; } } @@ -111,58 +108,54 @@ extern "C" if (pipeline && buffer && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); buffer[0] = '\0'; buffer[size - 1] = '\0'; - if (manager) + try + { + if ( ! ptr->m_executed) + throw pdal_error("Pipeline has not been executed!"); + + std::stringstream strm; + pdal::PipelineWriter::writePipeline(ptr->manager->getStage(), strm); + std::strncpy(buffer, strm.str().c_str(), size - 1); + result = std::min(strm.str().length(), size); + } + catch (const std::exception &e) { - try - { - std::stringstream strm; - pdal::PipelineWriter::writePipeline(manager->getStage(), strm); - std::strncpy(buffer, strm.str().c_str(), size - 1); - result = std::min(strm.str().length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); - } + printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); } - } - return result; } size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) { + std::cout << "get metadata starts"<< std::endl; size_t result = 0; if (pipeline && metadata && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); metadata[0] = '\0'; metadata[size - 1] = '\0'; - if (manager) + try + { + if ( ! ptr->m_executed) + throw pdal_error("Pipeline has not been executed!"); + + std::stringstream strm; + MetadataNode root = ptr->manager->getMetadata().clone("metadata"); + pdal::Utils::toJSON(root, strm); + std::strncpy(metadata, strm.str().c_str(), size); + result = std::min(strm.str().length(), size); + } + catch (const std::exception &e) { - try - { - std::stringstream strm; - MetadataNode root = manager->getMetadata().clone("metadata"); - pdal::Utils::toJSON(root, strm); - std::strncpy(metadata, strm.str().c_str(), size); - result = std::min(strm.str().length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); - } + printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); } } - return result; } @@ -173,27 +166,25 @@ extern "C" if (pipeline && schema && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); + schema[0] = '\0'; schema[size - 1] = '\0'; - if (manager) + try { - try - { - std::stringstream strm; - MetadataNode root = manager->pointTable().layout()->toMetadata().clone("schema"); - pdal::Utils::toJSON(root, strm); - std::strncpy(schema, strm.str().c_str(), size); - result = std::min(strm.str().length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's schema: %s\n", e.what()); - } + std::stringstream strm; + MetadataNode meta = ptr->manager->pointTable().layout()->toMetadata(); + MetadataNode root = meta.clone("schema"); + pdal::Utils::toJSON(root, strm); + std::strncpy(schema, strm.str().c_str(), size); + result = std::min(strm.str().length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's schema: %s\n", e.what()); } - } + } return result; } @@ -204,22 +195,18 @@ extern "C" if (pipeline && log && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); log[0] = '\0'; log[size - 1] = '\0'; - if (manager) + try { - try - { - std::string s = ptr->logStream.str(); - std::strncpy(log, s.c_str(), size); - result = std::min(s.length(), size); - } - catch (const std::exception &e) - { - printf("Found error while retrieving pipeline's log: %s\n", e.what()); - } + std::string s = ptr->logStream.str(); + std::strncpy(log, s.c_str(), size); + result = std::min(s.length(), size); + } + catch (const std::exception &e) + { + printf("Found error while retrieving pipeline's log: %s\n", e.what()); } } @@ -229,16 +216,14 @@ extern "C" void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) { Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); try { if (level < 0 || level > 8) throw pdal_error("log level must be between 0 and 8!"); - ptr->logLevel = static_cast(level); - pdal::LogPtr lptr = manager->log(); - lptr->setLevel(ptr->logLevel); + pdal::LogPtr lptr = ptr->manager->log(); + lptr->setLevel(static_cast(level)); } catch (const std::exception &e) { @@ -250,10 +235,16 @@ extern "C" int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) { Pipeline *ptr = reinterpret_cast(pipeline); - return (ptr && ptr->manager.get()) - ? static_cast( - ptr->manager.get()->log()->getLevel() - ) : 0; + try + { + return (ptr) + ? static_cast( + ptr->manager->log()->getLevel() + ) : 0; + } + catch (const std::exception &e) + {printf("Found error while getting log level: %s\n", e.what()); } + return 0; } int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) @@ -265,48 +256,47 @@ extern "C" { try { - result = ptr->manager.get()->execute(); + result = ptr->manager->execute(); + ptr->m_executed = true; } catch (const std::exception &e) { printf("Found error while executing pipeline: %s", e.what()); } } - return result; } bool PDALValidatePipeline(PDALPipelinePtr pipeline) { - int64_t result = 0; Pipeline *ptr = reinterpret_cast(pipeline); if (ptr) { try { - ptr->manager.get()->prepare(); + ptr->manager->prepare(); + return true; } catch (const std::exception &e) { printf("Found error while validating pipeline: %s", e.what()); + return false; } } - - return result; + return false; } PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) { Pipeline *ptr = reinterpret_cast(pipeline); - PipelineManager *manager = ptr->manager.get(); pdal::capi::PointViewIterator *views = nullptr; if (ptr) { try { - views = new pdal::capi::PointViewIterator(manager->views()); + views = new pdal::capi::PointViewIterator(ptr->manager->views()); } catch (const std::exception &e) { From 093eba52c674d351074c454b92d9ff10b31b6df4 Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 01:49:30 +0000 Subject: [PATCH 51/73] astyle changes --- source/pdal/pdalc_pipeline.cpp | 37 ++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 033a533..68716d2 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -46,13 +46,14 @@ namespace capi extern "C" { - struct Pipeline { - public: + struct Pipeline + { + public: - PipelineManagerPtr manager = std::make_unique(); + PipelineManagerPtr manager = std::make_unique(); - bool m_executed = false; - std::stringstream logStream; + bool m_executed = false; + std::stringstream logStream; }; PDALPipelinePtr PDALCreatePipeline(const char* json) @@ -113,9 +114,9 @@ extern "C" try { - if ( ! ptr->m_executed) + if (! ptr->m_executed) throw pdal_error("Pipeline has not been executed!"); - + std::stringstream strm; pdal::PipelineWriter::writePipeline(ptr->manager->getStage(), strm); std::strncpy(buffer, strm.str().c_str(), size - 1); @@ -142,9 +143,9 @@ extern "C" try { - if ( ! ptr->m_executed) + if (! ptr->m_executed) throw pdal_error("Pipeline has not been executed!"); - + std::stringstream strm; MetadataNode root = ptr->manager->getMetadata().clone("metadata"); pdal::Utils::toJSON(root, strm); @@ -217,8 +218,8 @@ extern "C" { Pipeline *ptr = reinterpret_cast(pipeline); - try - { + try + { if (level < 0 || level > 8) throw pdal_error("log level must be between 0 and 8!"); @@ -227,7 +228,7 @@ extern "C" } catch (const std::exception &e) { - printf("Found error while setting log level: %s\n", e.what()); + printf("Found error while setting log level: %s\n", e.what()); } } @@ -237,13 +238,15 @@ extern "C" Pipeline *ptr = reinterpret_cast(pipeline); try { - return (ptr) - ? static_cast( - ptr->manager->log()->getLevel() - ) : 0; + return (ptr) + ? static_cast( + ptr->manager->log()->getLevel() + ) : 0; } catch (const std::exception &e) - {printf("Found error while getting log level: %s\n", e.what()); } + { + printf("Found error while getting log level: %s\n", e.what()); + } return 0; } From 82409b20aa9232223efbdf6658a9260df661a0be Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 10:09:46 +0000 Subject: [PATCH 52/73] fix compile warnings --- source/pdal/pdalc_pipeline.cpp | 3 ++- tests/pdal/test_pdalc_config.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 68716d2..aa8530f 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -98,7 +98,8 @@ extern "C" { if (pipeline) { - delete pipeline; + Pipeline *ptr = reinterpret_cast(pipeline); + delete ptr; } } diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.c index fe2cc2a..b598a79 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.c @@ -140,7 +140,7 @@ TEST testPDALVersionInfo(void) sha1[6] = '\0'; } - sprintf(expected + strlen(version), " (git-version: %s)", sha1); + snprintf(expected + strlen(version), " (git-version: %s)", sha1); char fullVersion[64]; size = PDALFullVersionString(fullVersion, 64); From e159fda08e3a692fbb3a0212cc7b7e181b609368 Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 12:21:01 +0000 Subject: [PATCH 53/73] Update test_pdalc_config.c --- tests/pdal/test_pdalc_config.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.c index b598a79..5dd39ae 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.c @@ -114,12 +114,12 @@ TEST testPDALVersionInfo(void) int patch = PDALVersionPatch(); - char expected[64]; - sprintf(expected, "%d.%d.%d", major, minor, patch); + char expected[128]; + snprintf(expected, "%d.%d.%d", major, minor, patch); - char version[64]; - size_t size = PDALVersionString(version, 64); - ASSERT(size > 0 && size <= 64); + char version[128]; + size_t size = PDALVersionString(version, 128); + ASSERT(size > 0 && size <= 128); ASSERT(version[0]); ASSERT_STR_EQ(expected, version); From 03c20ab8f36f5ac137953681983d7816b8f81528 Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 12:25:42 +0000 Subject: [PATCH 54/73] Revert "Update test_pdalc_config.c" This reverts commit e159fda08e3a692fbb3a0212cc7b7e181b609368. --- tests/pdal/test_pdalc_config.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.c index 5dd39ae..b598a79 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.c @@ -114,12 +114,12 @@ TEST testPDALVersionInfo(void) int patch = PDALVersionPatch(); - char expected[128]; - snprintf(expected, "%d.%d.%d", major, minor, patch); + char expected[64]; + sprintf(expected, "%d.%d.%d", major, minor, patch); - char version[128]; - size_t size = PDALVersionString(version, 128); - ASSERT(size > 0 && size <= 128); + char version[64]; + size_t size = PDALVersionString(version, 64); + ASSERT(size > 0 && size <= 64); ASSERT(version[0]); ASSERT_STR_EQ(expected, version); From ab9b97fe023aeca9f0b93bc5b96ec314c52611d7 Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 12:27:53 +0000 Subject: [PATCH 55/73] Update test_pdalc_config.c --- tests/pdal/test_pdalc_config.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/pdal/test_pdalc_config.c b/tests/pdal/test_pdalc_config.c index b598a79..1f12898 100644 --- a/tests/pdal/test_pdalc_config.c +++ b/tests/pdal/test_pdalc_config.c @@ -114,12 +114,12 @@ TEST testPDALVersionInfo(void) int patch = PDALVersionPatch(); - char expected[64]; + char expected[128]; sprintf(expected, "%d.%d.%d", major, minor, patch); - char version[64]; - size_t size = PDALVersionString(version, 64); - ASSERT(size > 0 && size <= 64); + char version[128]; + size_t size = PDALVersionString(version, 128); + ASSERT(size > 0 && size <= 128); ASSERT(version[0]); ASSERT_STR_EQ(expected, version); @@ -140,7 +140,7 @@ TEST testPDALVersionInfo(void) sha1[6] = '\0'; } - snprintf(expected + strlen(version), " (git-version: %s)", sha1); + sprintf(expected + strlen(version), " (git-version: %s)", sha1); char fullVersion[64]; size = PDALFullVersionString(fullVersion, 64); From 4e451bba3e64de6736d1686c1d493c248d7e1036 Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 22:29:23 +0000 Subject: [PATCH 56/73] Added streaming interface --- source/pdal/pdalc_pipeline.cpp | 35 +++++++++++++++++++++++++++++ source/pdal/pdalc_pipeline.h | 16 +++++++++++++ tests/pdal/test_pdalc_pipeline.c.in | 26 +++++++++++++++++++++ 3 files changed, 77 insertions(+) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index aa8530f..3e98dba 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #undef min @@ -271,6 +272,40 @@ extern "C" return result; } + bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline) + { + Pipeline *ptr = reinterpret_cast(pipeline); + + if (ptr) + { + try + { + PipelineManager::ExecResult exec = ptr->manager->execute(ExecMode::Stream); + ptr->m_executed = true; + return true; + } + catch (const std::exception &e) + { + printf("Found error while executing pipeline: %s", e.what()); + return false; + } + } + return false; + } + + bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline) + { + Pipeline *ptr = reinterpret_cast(pipeline); + + if (ptr) + { + return ptr->manager->pipelineStreamable(); + } + return false; + } + + + bool PDALValidatePipeline(PDALPipelinePtr pipeline) { Pipeline *ptr = reinterpret_cast(pipeline); diff --git a/source/pdal/pdalc_pipeline.h b/source/pdal/pdalc_pipeline.h index 62ecd13..e3a8971 100644 --- a/source/pdal/pdalc_pipeline.h +++ b/source/pdal/pdalc_pipeline.h @@ -136,6 +136,22 @@ PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline); */ PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline); +/** + * Executes a pipeline as a streamable pipeline. Will run as non-streamed pipeline if the pipeline is not streamable. + * + * @param pipeline The pipeline + * @return The total number of points produced by the pipeline + */ +PDALC_API bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline); + +/** + * Determines if a pipeline is streamable + * + * @param pipeline The pipeline + * @return Whether the pipeline is streamable + */ +PDALC_API bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline); + /** * Validates a pipeline. * diff --git a/tests/pdal/test_pdalc_pipeline.c.in b/tests/pdal/test_pdalc_pipeline.c.in index 4215daf..114bd8e 100644 --- a/tests/pdal/test_pdalc_pipeline.c.in +++ b/tests/pdal/test_pdalc_pipeline.c.in @@ -344,6 +344,31 @@ TEST testPDALExecutePipeline(void) PASS(); } +TEST testPDALExecutePipelineStream(void) +{ + PDALPipelinePtr pipeline = PDALCreatePipeline(gPipelineJson); + ASSERT(pipeline); + + bool isStreamable = PDALPipelineIsStreamable(pipeline); + + ASSERT_EQ(isStreamable, true); + + bool result = PDALExecutePipelineAsStream(pipeline); + + ASSERT_EQ(result, true); + + result = PDALExecutePipelineAsStream(NULL); + + ASSERT_EQ(result, false); + + isStreamable = PDALPipelineIsStreamable(NULL); + + ASSERT_EQ(isStreamable, false); + + PDALDisposePipeline(pipeline); + PASS(); +} + TEST testPDALValidatePipeline(void) { bool valid = PDALValidatePipeline(NULL); @@ -369,6 +394,7 @@ GREATEST_SUITE(test_pdalc_pipeline) RUN_TEST(testPDALCreateAndDisposePipeline); RUN_TEST(testPDALExecutePipeline); + RUN_TEST(testPDALExecutePipelineStream); RUN_TEST(testPDALGetSetPipelineLog); RUN_TEST(testPDALGetPipelineAsString); RUN_TEST(testPDALGetPipelineMetadata); From 0093cdf1186909a95fe538847b580026bf0e3875 Mon Sep 17 00:00:00 2001 From: runette Date: Wed, 1 Feb 2023 22:48:44 +0000 Subject: [PATCH 57/73] documentation fixes --- source/pdal/pdalc_pipeline.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/pdal/pdalc_pipeline.h b/source/pdal/pdalc_pipeline.h index e3a8971..da76f70 100644 --- a/source/pdal/pdalc_pipeline.h +++ b/source/pdal/pdalc_pipeline.h @@ -140,7 +140,7 @@ PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline); * Executes a pipeline as a streamable pipeline. Will run as non-streamed pipeline if the pipeline is not streamable. * * @param pipeline The pipeline - * @return The total number of points produced by the pipeline + * @return true for success */ PDALC_API bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline); From 68995902348e3ce7069b3e24dab3349f9edea674 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 3 Feb 2023 13:34:41 +0000 Subject: [PATCH 58/73] remove lint --- source/pdal/pdalc_pipeline.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 3e98dba..9447d4e 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -134,7 +134,6 @@ extern "C" size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) { - std::cout << "get metadata starts"<< std::endl; size_t result = 0; if (pipeline && metadata && size > 0) From 8616cec2052299a0027480fe73eb2b782c869e6a Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 3 Feb 2023 14:06:57 +0000 Subject: [PATCH 59/73] improved pointer handling --- source/pdal/pdalc_pipeline.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 9447d4e..1a0138d 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -59,7 +59,7 @@ extern "C" PDALPipelinePtr PDALCreatePipeline(const char* json) { - Pipeline* pipeline = new Pipeline(); + std::unique_ptr pipeline = std::make_unique(); if (json && std::strlen(json) > 0) { try @@ -75,7 +75,6 @@ extern "C" catch (const std::exception &e) { printf("Could not create pipeline: %s\n%s\n", e.what(), json); - delete pipeline; return nullptr; } @@ -86,11 +85,10 @@ extern "C" catch (const std::exception &e) { printf("Error while validating pipeline: %s\n%s\n", e.what(), json); - delete pipeline; return nullptr; } - return pipeline; + return pipeline.release(); } return nullptr; } From 47ebb453f049d9858b1c69138b4e03442b01ff18 Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 3 Feb 2023 14:40:41 +0000 Subject: [PATCH 60/73] Update CHANGELOG.md --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e16368..453dd4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +# Version 2.2.0 + +This is a major change to the underlying code to remove the deprecated `pdal::PipelineExecutor` and replace it with `pdal::PipelineManager`. + +This version also introduces the following non-breaking changes to the ABI: + +- Addition of the following method to allow the consuming app to tell if a pipeline is streamable: + +``` +bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline) +``` + +- Addition of the following method to allow the consuming application to run a pipeline in streaming mode. If the pipeline is non-streamable it will be silently run in standard mode: + +``` +bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline) +``` + + # Version 2.1.1 Changes to allow compilation with PDAL 2.4.0 From f846f9ed90c215f925602bfd5c0a19e0a66f0d97 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 3 Feb 2023 14:48:24 +0000 Subject: [PATCH 61/73] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 24232e9..c67ed58 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ pdal-c: PDAL C API [![Actions Status](https://github.com/PDAL/CAPI/workflows/Windows%20Build%20Test/badge.svg)](https://github.com/PDAL/CAPI/actions) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/pdal-c/badges/version.svg)](https://anaconda.org/conda-forge/pdal-c) +[![openupm](https://img.shields.io/npm/v/com.virgis.pdal?label=openupm®istry_uri=https://package.openupm.com)](https://openupm.com/packages/com.virgis.pdal/) [//]: # (@endcond) @@ -31,6 +32,10 @@ conda install -c conda-forge pdal-c The conda package includes a tool called `test_pdalc`. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to. +This interface is suitable for use with C# and with Unity. + +There is a [Unity Package Manager (UPM) package for PDAL](https://openupm.com/packages/com.virgis.pdal/) based on this library. + ## Dependencies The library is dependent on PDAL and has currently been tested up to v2.2.0. From 44994c3ca2f7a9d45c25e2a94d3f3772448d6e0a Mon Sep 17 00:00:00 2001 From: runette Date: Fri, 3 Feb 2023 16:26:05 +0000 Subject: [PATCH 62/73] improve readability after review --- source/pdal/pdalc_pipeline.cpp | 123 +++++++++++++++------------------ 1 file changed, 56 insertions(+), 67 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 1a0138d..fd417d0 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -215,10 +215,9 @@ extern "C" void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) { - Pipeline *ptr = reinterpret_cast(pipeline); - try { + Pipeline *ptr = reinterpret_cast(pipeline); if (level < 0 || level > 8) throw pdal_error("log level must be between 0 and 8!"); @@ -229,14 +228,16 @@ extern "C" { printf("Found error while setting log level: %s\n", e.what()); } - } int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); + if (! pipeline) + return 0; + try { + Pipeline *ptr = reinterpret_cast(pipeline); return (ptr) ? static_cast( ptr->manager->log()->getLevel() @@ -251,100 +252,88 @@ extern "C" int64_t PDALExecutePipeline(PDALPipelinePtr pipeline) { - int64_t result = 0; - Pipeline *ptr = reinterpret_cast(pipeline); + if (! pipeline) + return 0; - if (ptr) + try { - try - { - result = ptr->manager->execute(); - ptr->m_executed = true; - } - catch (const std::exception &e) - { - printf("Found error while executing pipeline: %s", e.what()); - } + int64_t result; + Pipeline *ptr = reinterpret_cast(pipeline); + result = ptr->manager->execute(); + ptr->m_executed = true; + return result; + } + catch (const std::exception &e) + { + printf("Found error while executing pipeline: %s", e.what()); + return 0; } - return result; } bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); + if (! pipeline) + return false; - if (ptr) + try { - try - { - PipelineManager::ExecResult exec = ptr->manager->execute(ExecMode::Stream); - ptr->m_executed = true; - return true; - } - catch (const std::exception &e) - { - printf("Found error while executing pipeline: %s", e.what()); - return false; - } + Pipeline *ptr = reinterpret_cast(pipeline); + PipelineManager::ExecResult exec = ptr->manager->execute(ExecMode::Stream); + ptr->m_executed = true; + return true; + } + catch (const std::exception &e) + { + printf("Found error while executing pipeline: %s", e.what()); + return false; } - return false; } bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); + if (! pipeline) + return false; - if (ptr) - { - return ptr->manager->pipelineStreamable(); - } - return false; + Pipeline *ptr = reinterpret_cast(pipeline); + return ptr->manager->pipelineStreamable(); } bool PDALValidatePipeline(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); - - if (ptr) + if (! pipeline) + return false; + try { - try - { - ptr->manager->prepare(); - return true; - } - catch (const std::exception &e) - { - printf("Found error while validating pipeline: %s", e.what()); - return false; - } + Pipeline *ptr = reinterpret_cast(pipeline); + ptr->manager->prepare(); + return true; + } + catch (const std::exception &e) + { + printf("Found error while validating pipeline: %s", e.what()); + return false; } - return false; } PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline) { - Pipeline *ptr = reinterpret_cast(pipeline); - pdal::capi::PointViewIterator *views = nullptr; + if (! pipeline) + return nullptr; - if (ptr) + try { - try - { - views = new pdal::capi::PointViewIterator(ptr->manager->views()); - } - catch (const std::exception &e) - { - printf("Found error while retrieving point views: %s\n", e.what()); - } + Pipeline *ptr = reinterpret_cast(pipeline); + return new pdal::capi::PointViewIterator(ptr->manager->views()); + } + catch (const std::exception &e) + { + printf("Found error while retrieving point views: %s\n", e.what()); + return nullptr; } - - return views; } -} /* extern c */ - - +} /* extern c */ } /* capi */ } /* pdal */ From 9bc256bddbc7862206e1073d6771f4a378603360 Mon Sep 17 00:00:00 2001 From: runette Date: Sat, 4 Feb 2023 10:33:16 +0000 Subject: [PATCH 63/73] fixup null terminated strings --- source/pdal/pdalc_pipeline.cpp | 46 ++++++++++++---------------------- 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index fd417d0..5f8255b 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -104,13 +104,9 @@ extern "C" size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size) { - size_t result = 0; - if (pipeline && buffer && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - buffer[0] = '\0'; - buffer[size - 1] = '\0'; try { @@ -119,26 +115,23 @@ extern "C" std::stringstream strm; pdal::PipelineWriter::writePipeline(ptr->manager->getStage(), strm); - std::strncpy(buffer, strm.str().c_str(), size - 1); - result = std::min(strm.str().length(), size); + strm.get(buffer, size); + return std::min(static_cast(strm.gcount()), size); } catch (const std::exception &e) { printf("Found error while retrieving pipeline's string representation: %s\n", e.what()); + return 0; } } - return result; + return 0; } size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size) { - size_t result = 0; - if (pipeline && metadata && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - metadata[0] = '\0'; - metadata[size - 1] = '\0'; try { @@ -148,69 +141,62 @@ extern "C" std::stringstream strm; MetadataNode root = ptr->manager->getMetadata().clone("metadata"); pdal::Utils::toJSON(root, strm); - std::strncpy(metadata, strm.str().c_str(), size); - result = std::min(strm.str().length(), size); + strm.get(metadata, size); + return std::min(static_cast(strm.gcount()), size); } catch (const std::exception &e) { printf("Found error while retrieving pipeline's metadata: %s\n", e.what()); + return 0; } } - return result; + return 0; } size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size) { - size_t result = 0; - if (pipeline && schema && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - schema[0] = '\0'; - schema[size - 1] = '\0'; - try { std::stringstream strm; MetadataNode meta = ptr->manager->pointTable().layout()->toMetadata(); MetadataNode root = meta.clone("schema"); pdal::Utils::toJSON(root, strm); - std::strncpy(schema, strm.str().c_str(), size); - result = std::min(strm.str().length(), size); + strm.get(schema, size); + return std::min(static_cast(strm.gcount()), size); } catch (const std::exception &e) { printf("Found error while retrieving pipeline's schema: %s\n", e.what()); + return 0; } } - return result; + return 0; } size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size) { - size_t result = 0; - if (pipeline && log && size > 0) { Pipeline *ptr = reinterpret_cast(pipeline); - log[0] = '\0'; - log[size - 1] = '\0'; try { - std::string s = ptr->logStream.str(); - std::strncpy(log, s.c_str(), size); - result = std::min(s.length(), size); + ptr->logStream.get(log, size); + return std::min(static_cast(ptr->logStream.gcount()), size); } catch (const std::exception &e) { printf("Found error while retrieving pipeline's log: %s\n", e.what()); + return 0; } } - return result; + return 0; } void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level) From 445b4156003d22c01427d6b2970f6e92edd97411 Mon Sep 17 00:00:00 2001 From: runette Date: Sat, 4 Feb 2023 13:32:53 +0000 Subject: [PATCH 64/73] fixup null terminating strings 2 --- source/pdal/pdalc_pipeline.cpp | 18 +++++++++----- tests/pdal/test_pdalc_pipeline.c.in | 37 +++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 5f8255b..340c622 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -115,8 +115,10 @@ extern "C" std::stringstream strm; pdal::PipelineWriter::writePipeline(ptr->manager->getStage(), strm); - strm.get(buffer, size); - return std::min(static_cast(strm.gcount()), size); + std::string out = strm.str(); + if (out.length() > size - 1) out.resize(size - 1); + std::strncpy(buffer, out.c_str(), size); + return std::min(out.length() + 1, size); } catch (const std::exception &e) { @@ -141,8 +143,10 @@ extern "C" std::stringstream strm; MetadataNode root = ptr->manager->getMetadata().clone("metadata"); pdal::Utils::toJSON(root, strm); - strm.get(metadata, size); - return std::min(static_cast(strm.gcount()), size); + std::string out = strm.str(); + if (out.length() > size - 1) out.resize(size - 1); + std::strncpy(metadata, out.c_str(), size); + return std::min(out.length() + 1, size); } catch (const std::exception &e) { @@ -165,8 +169,10 @@ extern "C" MetadataNode meta = ptr->manager->pointTable().layout()->toMetadata(); MetadataNode root = meta.clone("schema"); pdal::Utils::toJSON(root, strm); - strm.get(schema, size); - return std::min(static_cast(strm.gcount()), size); + std::string out = strm.str(); + if (out.length() > size - 1) out.resize(size - 1); + std::strncpy(schema, out.c_str(), size); + return std::min(out.length() + 1, size); } catch (const std::exception &e) { diff --git a/tests/pdal/test_pdalc_pipeline.c.in b/tests/pdal/test_pdalc_pipeline.c.in index 114bd8e..61f0cf8 100644 --- a/tests/pdal/test_pdalc_pipeline.c.in +++ b/tests/pdal/test_pdalc_pipeline.c.in @@ -146,6 +146,23 @@ TEST testPDALGetPipelineAsString(void) FAILm("PDALGetPipelineMetadata generated a JSON string whose object name is not \"pipeline\""); } + char json10[10]; + size = PDALGetPipelineAsString(pipeline, json10, 10); + + if (size != 10 ) + { + PDALDisposePipeline(pipeline); + pipeline = NULL; + FAILm("PDALGetPipelineAsString truncation not working"); + } + + if (json[0] == '\0') + { + PDALDisposePipeline(pipeline); + pipeline = NULL; + FAILm("PDALGetPipelineAsString generated a JSON string whose first character is null"); + } + PDALDisposePipeline(pipeline); PASS(); } @@ -200,6 +217,16 @@ TEST testPDALGetPipelineMetadata(void) FAILm("PDALGetPipelineMetadata generated a JSON string whose object name is not \"schema\""); } + char json10[10]; + size = PDALGetPipelineMetadata(pipeline, json10, 10); + + if (size != 10 ) + { + PDALDisposePipeline(pipeline); + pipeline = NULL; + FAILm("PDALGetPipelineMetadata truncation not working"); + } + PDALDisposePipeline(pipeline); PASS(); } @@ -254,6 +281,16 @@ TEST testPDALGetPipelineSchema(void) FAILm("PDALGetPipelineSchema generated a JSON string whose object name is not \"schema\""); } + char json10[10]; + size = PDALGetPipelineSchema(pipeline, json10, 10); + + if (size != 10 ) + { + PDALDisposePipeline(pipeline); + pipeline = NULL; + FAILm("PDALGetPipelineSchema truncation not working"); + } + PDALDisposePipeline(pipeline); PASS(); } From 7c6bf38fdbf1d3628465219e4a334b8e24fa1c0d Mon Sep 17 00:00:00 2001 From: runette Date: Sat, 4 Feb 2023 17:06:40 +0000 Subject: [PATCH 65/73] strlen and fix schema --- source/pdal/pdalc_pipeline.cpp | 9 ++++++--- tests/pdal/test_pdalc_pipeline.c.in | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 340c622..3e20d7c 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -118,7 +118,7 @@ extern "C" std::string out = strm.str(); if (out.length() > size - 1) out.resize(size - 1); std::strncpy(buffer, out.c_str(), size); - return std::min(out.length() + 1, size); + return strlen(out.c_str()); } catch (const std::exception &e) { @@ -146,7 +146,7 @@ extern "C" std::string out = strm.str(); if (out.length() > size - 1) out.resize(size - 1); std::strncpy(metadata, out.c_str(), size); - return std::min(out.length() + 1, size); + return strlen(out.c_str()); } catch (const std::exception &e) { @@ -165,6 +165,9 @@ extern "C" try { + if (! ptr->m_executed) + throw pdal_error("Pipeline has not been executed!"); + std::stringstream strm; MetadataNode meta = ptr->manager->pointTable().layout()->toMetadata(); MetadataNode root = meta.clone("schema"); @@ -172,7 +175,7 @@ extern "C" std::string out = strm.str(); if (out.length() > size - 1) out.resize(size - 1); std::strncpy(schema, out.c_str(), size); - return std::min(out.length() + 1, size); + return strlen(out.c_str()); } catch (const std::exception &e) { diff --git a/tests/pdal/test_pdalc_pipeline.c.in b/tests/pdal/test_pdalc_pipeline.c.in index 61f0cf8..95ece45 100644 --- a/tests/pdal/test_pdalc_pipeline.c.in +++ b/tests/pdal/test_pdalc_pipeline.c.in @@ -149,7 +149,7 @@ TEST testPDALGetPipelineAsString(void) char json10[10]; size = PDALGetPipelineAsString(pipeline, json10, 10); - if (size != 10 ) + if (size != 9 ) { PDALDisposePipeline(pipeline); pipeline = NULL; @@ -220,7 +220,7 @@ TEST testPDALGetPipelineMetadata(void) char json10[10]; size = PDALGetPipelineMetadata(pipeline, json10, 10); - if (size != 10 ) + if (size != 9 ) { PDALDisposePipeline(pipeline); pipeline = NULL; @@ -284,7 +284,7 @@ TEST testPDALGetPipelineSchema(void) char json10[10]; size = PDALGetPipelineSchema(pipeline, json10, 10); - if (size != 10 ) + if (size != 9 ) { PDALDisposePipeline(pipeline); pipeline = NULL; From 31aad747d2e399a63eb4ec6209d486728c53ed6c Mon Sep 17 00:00:00 2001 From: runette Date: Sat, 4 Feb 2023 17:13:09 +0000 Subject: [PATCH 66/73] astyle --- source/pdal/pdalc_pipeline.cpp | 2 +- tests/pdal/test_pdalc_pipeline.c.in | 6 +++--- tests/pdal/test_pdalc_pointlayout.c.in | 4 ++-- tests/pdal/test_pdalc_pointview.c.in | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/pdal/pdalc_pipeline.cpp b/source/pdal/pdalc_pipeline.cpp index 3e20d7c..ce9d966 100644 --- a/source/pdal/pdalc_pipeline.cpp +++ b/source/pdal/pdalc_pipeline.cpp @@ -167,7 +167,7 @@ extern "C" { if (! ptr->m_executed) throw pdal_error("Pipeline has not been executed!"); - + std::stringstream strm; MetadataNode meta = ptr->manager->pointTable().layout()->toMetadata(); MetadataNode root = meta.clone("schema"); diff --git a/tests/pdal/test_pdalc_pipeline.c.in b/tests/pdal/test_pdalc_pipeline.c.in index 95ece45..87576b8 100644 --- a/tests/pdal/test_pdalc_pipeline.c.in +++ b/tests/pdal/test_pdalc_pipeline.c.in @@ -149,7 +149,7 @@ TEST testPDALGetPipelineAsString(void) char json10[10]; size = PDALGetPipelineAsString(pipeline, json10, 10); - if (size != 9 ) + if (size != 9) { PDALDisposePipeline(pipeline); pipeline = NULL; @@ -220,7 +220,7 @@ TEST testPDALGetPipelineMetadata(void) char json10[10]; size = PDALGetPipelineMetadata(pipeline, json10, 10); - if (size != 9 ) + if (size != 9) { PDALDisposePipeline(pipeline); pipeline = NULL; @@ -284,7 +284,7 @@ TEST testPDALGetPipelineSchema(void) char json10[10]; size = PDALGetPipelineSchema(pipeline, json10, 10); - if (size != 9 ) + if (size != 9) { PDALDisposePipeline(pipeline); pipeline = NULL; diff --git a/tests/pdal/test_pdalc_pointlayout.c.in b/tests/pdal/test_pdalc_pointlayout.c.in index 9585439..30093a6 100644 --- a/tests/pdal/test_pdalc_pointlayout.c.in +++ b/tests/pdal/test_pdalc_pointlayout.c.in @@ -129,14 +129,14 @@ TEST testPDALFindDimType(void) success &= (PDALGetDimTypeIdName(expected, name, 64) > 0); actual = PDALFindDimType(NULL, name); - success &= (idUnknown == actual.id); + success &= (idUnknown == actual.id); success &= (typeNone == actual.type); success &= (fabs(1.0 - actual.scale) < tolerance); success &= (fabs(actual.offset) < tolerance); actual = PDALFindDimType(gLayout, name); - success &= (expected.id == actual.id); + success &= (expected.id == actual.id); success &= (expected.type == actual.type); success &= (fabs(expected.scale - actual.scale) < tolerance); diff --git a/tests/pdal/test_pdalc_pointview.c.in b/tests/pdal/test_pdalc_pointview.c.in index 6e78813..26462ba 100644 --- a/tests/pdal/test_pdalc_pointview.c.in +++ b/tests/pdal/test_pdalc_pointview.c.in @@ -166,7 +166,7 @@ TEST testPDALGetPointViewSize(void) PDALDisposePointView(view); ASSERT(size > 0); - + PASS(); } @@ -189,7 +189,7 @@ TEST testPDALGetMeshSize(void) PDALDisposePointView(view); ASSERT(size == 2114); - + PASS(); } @@ -538,7 +538,7 @@ TEST testPDALGetPackedPoint(void) size_t expected = (hasView && hasDims && hasBuffer ? layoutPointSize : 0); size_t actual = PDALGetPackedPoint( - hasView ? view : NULL, hasDims ? dims : NULL, i, hasBuffer ? buffer : NULL); + hasView ? view : NULL, hasDims ? dims : NULL, i, hasBuffer ? buffer : NULL); if (expected != actual) { From 39b8e9013a30740a094b0e2dd744a48e27bd4f82 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 6 Feb 2023 10:26:20 +0000 Subject: [PATCH 67/73] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 453dd4a..936da37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline) bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline) ``` +NOTE: The methods that return strings have beeen slightly modified to guarantee a null terminated string return and that the length returned is that which would be returned by `strlen`. This may mean that there are small changes in the return value between version 2.2.0 and previous versions. # Version 2.1.1 From a2e73e40d897902e2e4c715efa32c07ffd8c7044 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 6 Feb 2023 10:27:19 +0000 Subject: [PATCH 68/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 25 +- docs/doxygen/html/annotated.html | 25 +- docs/doxygen/html/classes.html | 25 +- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 25 +- docs/doxygen/html/doxygen.css | 984 ++++++++++-------- docs/doxygen/html/dynsections.js | 2 + docs/doxygen/html/files.html | 35 +- docs/doxygen/html/functions.html | 25 +- docs/doxygen/html/functions_vars.html | 25 +- docs/doxygen/html/globals.html | 27 +- docs/doxygen/html/globals_func.html | 27 +- docs/doxygen/html/globals_type.html | 25 +- docs/doxygen/html/index.html | 59 +- docs/doxygen/html/jquery.js | 7 +- docs/doxygen/html/menu.js | 43 +- docs/doxygen/html/navtree.css | 21 +- docs/doxygen/html/navtreedata.js | 16 +- docs/doxygen/html/navtreeindex0.js | 18 +- docs/doxygen/html/pdalc_8h.html | 25 +- docs/doxygen/html/pdalc_8h_source.html | 25 +- docs/doxygen/html/pdalc__config_8h.html | 85 +- .../doxygen/html/pdalc__config_8h_source.html | 110 +- docs/doxygen/html/pdalc__defines_8h.html | 25 +- .../html/pdalc__defines_8h_source.html | 25 +- docs/doxygen/html/pdalc__dimtype_8h.html | 61 +- .../html/pdalc__dimtype_8h_source.html | 25 +- docs/doxygen/html/pdalc__forward_8h.html | 55 +- .../html/pdalc__forward_8h_source.html | 41 +- docs/doxygen/html/pdalc__pipeline_8h.html | 132 ++- docs/doxygen/html/pdalc__pipeline_8h.js | 2 + .../html/pdalc__pipeline_8h_source.html | 121 ++- docs/doxygen/html/pdalc__pointlayout_8h.html | 47 +- .../html/pdalc__pointlayout_8h_source.html | 25 +- docs/doxygen/html/pdalc__pointview_8h.html | 75 +- .../html/pdalc__pointview_8h_source.html | 25 +- .../html/pdalc__pointviewiterator_8h.html | 43 +- .../pdalc__pointviewiterator_8h_source.html | 25 +- docs/doxygen/html/resize.js | 81 +- docs/doxygen/html/search/all_2.js | 104 +- docs/doxygen/html/search/functions_0.js | 92 +- docs/doxygen/html/search/search.css | 110 +- docs/doxygen/html/search/search.js | 124 ++- .../doxygen/html/struct_p_d_a_l_dim_type.html | 43 +- docs/doxygen/html/tabs.css | 2 +- 44 files changed, 1728 insertions(+), 1214 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index 7893540..dafa445 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -1,9 +1,9 @@ - + - + pdal-c: /github/workspace/README.md File Reference @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -92,7 +99,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 6bfb5a3..443462f 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -1,9 +1,9 @@ - + - + pdal-c: Data Structures @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -96,7 +103,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 3b528d3..dcaa6b6 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -1,9 +1,9 @@ - + - + pdal-c: Data Structure Index @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -97,7 +104,7 @@ diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index 7336c5b..04b4f14 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal Directory Reference @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -121,7 +128,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index 9036737..08cc53a 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,29 +1,360 @@ -/* The standard CSS for doxygen 1.9.3 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; +/* The standard CSS for doxygen 1.9.6*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.png'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.png'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: black; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); } -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; } /* @group Heading Levels */ -h1.groupheader { - font-size: 150%; -} - .title { - font: 400 14px/28px Roboto,sans-serif; + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 28px; font-size: 150%; font-weight: bold; margin: 10px 2px; } +h1.groupheader { + font-size: 150%; +} + h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); font-size: 150%; font-weight: normal; margin-top: 1.75em; @@ -46,22 +377,13 @@ h1, h2, h3, h4, h5, h6 { } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; + text-shadow: 0 0 15px var(--glow-color); } dt { font-weight: bold; } -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - p.startli, p.startdd { margin-top: 2px; } @@ -113,7 +435,6 @@ h3.version { } div.navtab { - border-right: 1px solid #A3B4D7; padding-right: 15px; text-align: right; line-height: 110%; @@ -127,16 +448,17 @@ td.navtab { padding-right: 6px; padding-left: 6px; } + td.navtabHL { - background-image: url('tab_a.png'); + background-image: var(--nav-gradient-active-image); background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; } td.navtabHL a, td.navtabHL a:visited { - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); } a.navtab { @@ -148,7 +470,7 @@ div.qindex{ width: 100%; line-height: 140%; font-size: 130%; - color: #A0A0A0; + color: var(--index-separator-color); } dt.alphachar{ @@ -157,7 +479,7 @@ dt.alphachar{ } .alphachar a{ - color: black; + color: var(--index-header-color); } .alphachar a:hover, .alphachar a:visited{ @@ -176,8 +498,12 @@ dt.alphachar{ line-height: 1.15em; } +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + .classindex dl.odd { - background-color: #F8F9FC; + background-color: var(--index-odd-item-bg-color); } @media(min-width: 1120px) { @@ -196,23 +522,19 @@ dt.alphachar{ /* @group Link Styling */ a { - color: #3D578C; + color: var(--page-link-color); font-weight: normal; text-decoration: none; } .contents a:visited { - color: #4665A2; + color: var(--page-visited-link-color); } a:hover { text-decoration: underline; } -.contents a.qindexHL:visited { - color: #FFFFFF; -} - a.el { font-weight: bold; } @@ -221,11 +543,11 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; + color: var(--code-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; + color: var(--code-external-link-color); } a.code.hl_class { /* style for links to class names in code snippets */ } @@ -265,6 +587,16 @@ ul { overflow: visible; } +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + #side-nav ul { overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } @@ -281,27 +613,29 @@ ul { } pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; + border: 1px solid var(--fragment-border-color); + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; - font-family: monospace, fixed; + font-family: var(--font-family-monospace); font-size: 105%; } div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + color: var(--fragment-foreground-color); + background-color: var(--fragment-background-color); + border: 1px solid var(--fragment-border-color); } div.line { - font-family: monospace, fixed; + font-family: var(--font-family-monospace); font-size: 13px; min-height: 13px; line-height: 1.0; @@ -333,8 +667,8 @@ div.line:after { } div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); } @@ -342,16 +676,19 @@ span.lineno { padding-right: 4px; margin-right: 9px; text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); white-space: pre; } -span.lineno a { - background-color: #D8D8D8; +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); } span.lineno a:hover { - background-color: #C8C8C8; + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); } .lineno { @@ -363,24 +700,6 @@ span.lineno a:hover { user-select: none; } -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - div.classindex ul { list-style: none; padding-left: 0; @@ -402,8 +721,7 @@ div.groupText { } body { - background-color: white; - color: black; + color: var(--page-foreground-color); margin: 0; } @@ -413,29 +731,15 @@ div.contents { margin-right: 8px; } -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; +p.formulaDsp { + text-align: center; } -tr.memlist { - background-color: #EEF1F7; +img.dark-mode-visible { + display: none; } - -p.formulaDsp { - text-align: center; +img.light-mode-visible { + display: none; } img.formulaDsp { @@ -465,10 +769,11 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: var(--footer-logo-width); } .compoundTemplParams { - color: #4665A2; + color: var(--memdecl-template-color); font-size: 80%; line-height: 120%; } @@ -476,84 +781,58 @@ img.footer { /* @group Code Colorization */ span.keyword { - color: #008000 + color: var(--code-keyword-color); } span.keywordtype { - color: #604020 + color: var(--code-type-keyword-color); } span.keywordflow { - color: #e08000 + color: var(--code-flow-keyword-color); } span.comment { - color: #800000 + color: var(--code-comment-color); } span.preprocessor { - color: #806020 + color: var(--code-preprocessor-color); } span.stringliteral { - color: #002080 + color: var(--code-string-literal-color); } span.charliteral { - color: #008080 + color: var(--code-char-literal-color); } span.vhdldigit { - color: #ff00ff + color: var(--code-vhdl-digit-color); } span.vhdlchar { - color: #000000 + color: var(--code-vhdl-char-color); } span.vhdlkeyword { - color: #700070 + color: var(--code-vhdl-keyword-color); } span.vhdllogic { - color: #ff0000 + color: var(--code-vhdl-logic-color); } blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); margin: 0 24px 0 4px; padding: 0 12px 0 16px; } -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - /* @end */ -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - td.tiny { font-size: 75%; } @@ -561,18 +840,19 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #A3B4D7; + border: 1px solid var(--table-cell-border-color); } th.dirtab { - background: #EBEFF6; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-weight: bold; } hr { height: 0px; border: none; - border-top: 1px solid #4A6AAA; + border-top: 1px solid var(--separator-color); } hr.footer { @@ -600,14 +880,14 @@ table.memberdecls { } .memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; + background-color: var(--memdecl-background-color); border: none; margin: 4px; padding: 1px 0 0 8px; @@ -615,11 +895,11 @@ table.memberdecls { .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; - color: #555; + color: var(--memdecl-foreground-color); } .memSeparator { - border-bottom: 1px solid #DEE4F0; + border-bottom: 1px solid var(--memdecl-separator-color); line-height: 1px; margin: 0px; padding: 0px; @@ -634,7 +914,7 @@ table.memberdecls { } .memTemplParams { - color: #4665A2; + color: var(--memdecl-template-color); white-space: nowrap; font-size: 80%; } @@ -647,15 +927,15 @@ table.memberdecls { .memtitle { padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat: repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); line-height: 1.25; font-weight: 300; float:left; @@ -670,20 +950,11 @@ table.memberdecls { .memtemplate { font-size: 80%; - color: #4665A2; + color: var(--memdef-template-color); font-weight: normal; margin-left: 9px; } -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - .mempage { width: 100%; } @@ -702,7 +973,7 @@ table.memberdecls { } .memitem.glow { - box-shadow: 0 0 15px cyan; + box-shadow: 0 0 15px var(--glow-color); } .memname { @@ -715,41 +986,32 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 0px 6px 0px; - color: #253555; + color: var(--memdef-proto-text-color); font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - } .overload { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); padding: 6px 10px 2px 10px; - background-color: #FBFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: #FFFFFF; + background-color: var(--memdef-doc-background-color); /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -782,7 +1044,7 @@ dl.reflist dd { } .paramname { - color: #602020; + color: var(--memdef-param-name-color); white-space: nowrap; } .paramname em { @@ -795,20 +1057,20 @@ dl.reflist dd { .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; -} +} .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } - + .params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; -} - +} + .params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; + font-family: var(--font-family-monospace); vertical-align: top; } @@ -832,13 +1094,13 @@ span.mlabels { } span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; - color: white; + color: var(--label-foreground-color); margin-right: 4px; padding: 2px 3px; border-radius: 3px; @@ -855,8 +1117,8 @@ span.mlabel { div.directory { margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); width: 100%; } @@ -892,9 +1154,14 @@ div.directory { border-left: 1px solid rgba(0,0,0,0.05); } +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + .directory tr.even { padding-left: 6px; - background-color: #F7F8FB; + background-color: var(--index-even-item-bg-color); } .directory img { @@ -912,11 +1179,11 @@ div.directory { cursor: pointer; padding-left: 2px; padding-right: 2px; - color: #3D578C; + color: var(--page-link-color); } .arrow { - color: #9CAFD4; + color: var(--nav-arrow-color); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; @@ -930,14 +1197,15 @@ div.directory { } .icon { - font-family: Arial, Helvetica; + font-family: var(--font-family-icon); + line-height: normal; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; - background-color: #728DC1; - color: white; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); text-align: center; border-radius: 4px; margin-left: 2px; @@ -976,17 +1244,13 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('doc.png'); + background-image:var(--icon-doc-image); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } -table.directory { - font: 400 14px Roboto,sans-serif; -} - /* @end */ div.dynheader { @@ -1001,7 +1265,7 @@ div.dynheader { address { font-style: normal; - color: #2A3D61; + color: var(--footer-foreground-color); } table.doxtable caption { @@ -1015,28 +1279,23 @@ table.doxtable { } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ margin-bottom: 10px; - border: 1px solid #A8B8D9; + border: 1px solid var(--memdef-border-color); border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } @@ -1046,8 +1305,8 @@ table.fieldtable { .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); vertical-align: top; } @@ -1056,14 +1315,13 @@ table.fieldtable { } .fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { margin-top: 0px; -} - +} + .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } @@ -1073,22 +1331,18 @@ table.fieldtable { } .fieldtable th { - background-image:url('nav_f.png'); + background-image: var(--memdef-title-gradient-image); background-repeat:repeat-x; - background-color: #E2E8F2; + background-color: var(--memdef-title-background-color); font-size: 90%; - color: #253555; + color: var(--memdef-proto-text-color); padding-bottom: 4px; padding-top: 5px; text-align:left; font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; + border-bottom: 1px solid var(--memdef-border-color); } @@ -1096,7 +1350,7 @@ table.fieldtable { top: 0px; left: 10px; height: 36px; - background-image: url('tab_b.png'); + background-image: var(--nav-gradient-image); z-index: 101; overflow: hidden; font-size: 13px; @@ -1105,13 +1359,13 @@ table.fieldtable { .navpath ul { font-size: 11px; - background-image:url('tab_b.png'); + background-image: var(--nav-gradient-image); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); overflow:hidden; margin:0px; padding:0px; @@ -1123,10 +1377,10 @@ table.fieldtable { float:left; padding-left:10px; padding-right:15px; - background-image:url('bc_s.png'); + background-image:var(--nav-breadcrumb-image); background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--nav-foreground-color); } .navpath li.navelem a @@ -1135,15 +1389,16 @@ table.fieldtable { display:block; text-decoration: none; outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; } .navpath li.navelem a:hover { - color:#6884BD; + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); } .navpath li.footer @@ -1155,7 +1410,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#364D7C; + color: var(--footer-foreground-color); font-size: 8pt; } @@ -1167,7 +1422,7 @@ div.summary padding-right: 5px; width: 50%; text-align: right; -} +} div.summary a { @@ -1182,7 +1437,7 @@ table.classindex margin-right: 3%; width: 94%; border: 0; - border-spacing: 0; + border-spacing: 0; padding: 0; } @@ -1200,11 +1455,11 @@ div.ingroups a div.header { - background-image:url('nav_h.png'); + background-image: var(--header-gradient-image); background-repeat:repeat-x; - background-color: #F9FAFC; + background-color: var(--header-background-color); margin: 0px; - border-bottom: 1px solid #C4CFE5; + border-bottom: 1px solid var(--header-separator-color); } div.headertitle @@ -1227,11 +1482,6 @@ dl.section { padding-left: 0px; } -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - dl.note { margin-left: -7px; padding-left: 3px; @@ -1239,16 +1489,6 @@ dl.note { border-color: #D0C000; } -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - dl.warning, dl.attention { margin-left: -7px; padding-left: 3px; @@ -1256,16 +1496,6 @@ dl.warning, dl.attention { border-color: #FF0000; } -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - dl.pre, dl.post, dl.invariant { margin-left: -7px; padding-left: 3px; @@ -1273,16 +1503,6 @@ dl.pre, dl.post, dl.invariant { border-color: #00D000; } -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - dl.deprecated { margin-left: -7px; padding-left: 3px; @@ -1290,16 +1510,6 @@ dl.deprecated { border-color: #505050; } -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - dl.todo { margin-left: -7px; padding-left: 3px; @@ -1307,16 +1517,6 @@ dl.todo { border-color: #00C0E0; } -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - dl.test { margin-left: -7px; padding-left: 3px; @@ -1324,16 +1524,6 @@ dl.test { border-color: #3030E0; } -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - dl.bug { margin-left: -7px; padding-left: 3px; @@ -1341,16 +1531,6 @@ dl.bug { border-color: #C08050; } -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; -} - dl.section dd { margin-bottom: 6px; } @@ -1381,21 +1561,24 @@ dl.section dd { #projectname { - font: 200% Tahoma, Arial,sans-serif; + font-size: 200%; + font-family: var(--font-family-title); margin: 0px; padding: 2px 0px; } - + #projectbrief { - font: 90% Tahoma, Arial,sans-serif; + font-size: 90%; + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; + font-size: 50%; + font-family: 50% var(--font-family-title); margin: 0px; padding: 0px; } @@ -1405,7 +1588,8 @@ dl.section dd { padding: 0px; margin: 0px; width: 100%; - border-bottom: 1px solid #5373B4; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); } .image @@ -1438,17 +1622,12 @@ dl.section dd { font-weight: bold; } -div.zoom -{ - border: 1px solid #90A5CE; -} - dl.citelist { margin-bottom:50px; } dl.citelist dt { - color:#334975; + color:var(--citation-label-color); float:left; font-weight:bold; margin-right:10px; @@ -1464,8 +1643,8 @@ dl.citelist dd { div.toc { padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); border-radius: 7px 7px 7px 7px; float: right; height: auto; @@ -1473,28 +1652,17 @@ div.toc { width: 200px; } -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + font: 10px/1.2 var(--font-family-toc); margin-top: 5px; padding-left: 10px; padding-top: 2px; } -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); border-bottom: 0 none; margin: 0; } @@ -1503,7 +1671,7 @@ div.toc ul { list-style: none outside none; border: medium none; padding: 0px; -} +} div.toc li.level1 { margin-left: 0px; @@ -1531,29 +1699,9 @@ span.obfuscator { display: none; } -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; -} - .inherit_header { font-weight: bold; - color: gray; + color: var(--inherit-header-color); cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; @@ -1586,10 +1734,11 @@ tr.heading h2 { #powerTip { cursor: default; /*white-space: nowrap;*/ - background-color: white; - border: 1px solid gray; + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; + box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; @@ -1600,7 +1749,7 @@ tr.heading h2 { } #powerTip div.ttdoc { - color: grey; + color: var(--tooltip-doc-color); font-style: italic; } @@ -1608,18 +1757,24 @@ tr.heading h2 { font-weight: bold; } +#powerTip a { + color: var(--tooltip-link-color); +} + #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { - color: #006318; + color: var(--tooltip-declaration-color); } #powerTip div { margin: 0px; padding: 0px; - font: 12px/16px Roboto,sans-serif; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; } #powerTip:before, #powerTip:after { @@ -1664,12 +1819,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; + border-top-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } -#powerTip.n:before { - border-top-color: #808080; +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1692,13 +1847,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; + border-bottom-color: var(--tooltip-background-color); border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; + border-bottom-color: var(--tooltip-border-color); border-width: 11px; margin: 0px -11px; } @@ -1719,13 +1874,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFF; + border-left-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; + border-left-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1735,13 +1890,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFF; + border-right-color: var(--tooltip-border-color); border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; + border-right-color: var(--tooltip-border-color); border-width: 11px; top: 50%; margin-top: -11px; @@ -1775,7 +1930,7 @@ table.markdownTable { } table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; + border: 1px solid var(--table-cell-border-color); padding: 3px 7px 2px; } @@ -1783,8 +1938,8 @@ table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); font-size: 110%; padding-bottom: 4px; padding-top: 5px; @@ -1802,40 +1957,51 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -.DocNodeRTL { - text-align: right; - direction: rtl; +tt, code, kbd, samp +{ + display: inline-block; } +/* @end */ -.DocNodeLTR { - text-align: left; - direction: ltr; +u { + text-decoration: underline; } -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; +details>summary { + list-style-type: none; } -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; +details > summary::-webkit-details-marker { + display: none; } -code.JavaDocCode - direction:ltr; +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; } -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; } -/* @end */ -u { - text-decoration: underline; +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); } diff --git a/docs/doxygen/html/dynsections.js b/docs/doxygen/html/dynsections.js index 3174bd7..f579fbf 100644 --- a/docs/doxygen/html/dynsections.js +++ b/docs/doxygen/html/dynsections.js @@ -47,6 +47,8 @@ function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); } function toggleLevel(level) diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index d0f682a..525718d 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -1,9 +1,9 @@ - + - + pdal-c: File List @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -89,15 +96,15 @@
                                Here is a list of all files with brief descriptions:
                                [detail level 12]
                                - + - + - + - + - +
                                  pdal
                                 pdalc.h
                                 pdalc.h
                                 pdalc_config.hFunctions to retrieve PDAL version and configuration information
                                 pdalc_defines.h
                                 pdalc_defines.h
                                 pdalc_dimtype.hFunctions to inspect PDAL dimension types
                                 pdalc_forward.hForward declarations for the PDAL C API
                                 pdalc_forward.hForward declarations for the PDAL C API
                                 pdalc_pipeline.hFunctions to launch and inspect the results of a PDAL pipeline
                                 pdalc_pointlayout.hFunctions to inspect the contents of a PDAL point layout
                                 pdalc_pointlayout.hFunctions to inspect the contents of a PDAL point layout
                                 pdalc_pointview.hFunctions to inspect the contents of a PDAL point view
                                 pdalc_pointviewiterator.hFunctions to inspect the contents of a PDAL point view iterator
                                 pdalc_pointviewiterator.hFunctions to inspect the contents of a PDAL point view iterator
                                @@ -105,7 +112,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index f7915bf..2919458 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -1,9 +1,9 @@ - + - + pdal-c: Data Fields @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -94,7 +101,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index 0d3516e..28c1961 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -1,9 +1,9 @@ - + - + pdal-c: Data Fields - Variables @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -94,7 +101,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index 550ec3d..63075fa 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -1,9 +1,9 @@ - + - + pdal-c: Globals @@ -25,7 +25,7 @@ -
                                pdal-c v2.1.1 +
                                pdal-c v2.2.0
                                C API for PDAL
                                @@ -34,10 +34,10 @@
                                - + @@ -77,9 +77,16 @@
                                - +
                                +
                                +
                                +
                                +
                                Loading...
                                +
                                Searching...
                                +
                                No Matches
                                +
                                +
                                +
                                @@ -95,6 +102,7 @@

                                - p -

                                • PDALDisposePointView() : pdalc_pointview.h
                                • PDALDisposePointViewIterator() : pdalc_pointviewiterator.h
                                • PDALExecutePipeline() : pdalc_pipeline.h
                                • +
                                • PDALExecutePipelineAsStream() : pdalc_pipeline.h
                                • PDALFindDimType() : pdalc_pointlayout.h
                                • PDALFullVersionString() : pdalc_config.h
                                • PDALGetAllPackedPoints() : pdalc_pointview.h
                                • @@ -129,6 +137,7 @@

                                  - p -

                                  • PDALHasNextPointView() : pdalc_pointviewiterator.h
                                  • PDALIsPointViewEmpty() : pdalc_pointview.h
                                  • PDALMeshPtr : pdalc_forward.h
                                  • +
                                  • PDALPipelineIsStreamable() : pdalc_pipeline.h
                                  • PDALPipelinePtr : pdalc_forward.h
                                  • PDALPluginInstallPath() : pdalc_config.h
                                  • PDALPointId : pdalc_forward.h
                                  • @@ -152,7 +161,7 @@

                                    - p -

                                      diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index 9d60b3f..c823cde 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -1,9 +1,9 @@ - + - + pdal-c: Globals @@ -25,7 +25,7 @@ -
                                      pdal-c v2.1.1 +
                                      pdal-c v2.2.0
                                      C API for PDAL
                                      @@ -34,10 +34,10 @@
                                      - + @@ -77,9 +77,16 @@
                                      - +
                                      +
                                      +
                                      +
                                      +
                                      Loading...
                                      +
                                      Searching...
                                      +
                                      No Matches
                                      +
                                      +
                                      +
                                      @@ -94,6 +101,7 @@

                                      - p -

                                      • PDALDisposePointView() : pdalc_pointview.h
                                      • PDALDisposePointViewIterator() : pdalc_pointviewiterator.h
                                      • PDALExecutePipeline() : pdalc_pipeline.h
                                      • +
                                      • PDALExecutePipelineAsStream() : pdalc_pipeline.h
                                      • PDALFindDimType() : pdalc_pointlayout.h
                                      • PDALFullVersionString() : pdalc_config.h
                                      • PDALGetAllPackedPoints() : pdalc_pointview.h
                                      • @@ -127,6 +135,7 @@

                                        - p -

                                        • PDALGetProj4DataPath() : pdalc_config.h
                                        • PDALHasNextPointView() : pdalc_pointviewiterator.h
                                        • PDALIsPointViewEmpty() : pdalc_pointview.h
                                        • +
                                        • PDALPipelineIsStreamable() : pdalc_pipeline.h
                                        • PDALPluginInstallPath() : pdalc_config.h
                                        • PDALResetPointViewIterator() : pdalc_pointviewiterator.h
                                        • PDALSetGdalDataPath() : pdalc_config.h
                                        • @@ -145,7 +154,7 @@

                                          - p -

                                            diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 56b090d..8b168a4 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -1,9 +1,9 @@ - + - + pdal-c: Globals @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,7 +104,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index 90d6faa..fb655a2 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal-c: PDAL C API @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,36 +77,45 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            pdal-c: PDAL C API
                                            -

                                            -

                                            )

                                            +

                                            +

                                            )

                                            Basics

                                            -

                                            pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                                            -

                                            pdal-c is released under the BSD 3-clause license.

                                            +

                                            pdal-c is a C API for the Point Data Abstraction Library (PDAL) and is compatible with PDAL 1.7 and later.

                                            +

                                            pdal-c is released under the BSD 3-clause license.

                                            Documentation

                                            -

                                            API Documentation

                                            +

                                            API Documentation

                                            Installation

                                            -

                                            The library can be installed as a package on Windows, Mac and Linux using Conda.

                                            +

                                            The library can be installed as a package on Windows, Mac and Linux using Conda.

                                            conda install -c conda-forge pdal-c
                                            -

                                            The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

                                            +

                                            The conda package includes a tool called test_pdalc. Run this to confirm that the API configuration is correct and to report on the version of PDAL that the API is connected to.

                                            +

                                            This interface is suitable for use with C# and with Unity.

                                            +

                                            There is a Unity Package Manager (UPM) package for PDAL based on this library.

                                            Dependencies

                                            -

                                            The library is dependent on PDAL and has currently been tested up to v2.2.0.

                                            +

                                            The library is dependent on PDAL and has currently been tested up to v2.2.0.

                                            Usage

                                            -

                                            An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

                                            -

                                            NOTE - these scripts are provided for information only as examples and are not supported in any way!

                                            +

                                            An example of the use of the API is given in the csharp folder which contains an integration to PDAL in C#.

                                            +

                                            NOTE - these scripts are provided for information only as examples and are not supported in any way!

                                            Example C# Program

                                            using System;
                                            @@ -166,26 +175,26 @@

                                            }
                                            }
                                            }
                                            -

                                            This takes a LAS file, splits the file into tiles and then creates a Delaunay Triangulation (i.e. Mesh) for each one.

                                            -

                                            This code uses the sample bindings as-is and has a dependency on Geometry3Sharp only.

                                            -

                                            Note that BcpData is a custom data structure that holds the Point Cloud in a form suitable to create a Baked PointCloud suitable for rendering as a VFX graph in Unity. This is an efficient way to display point cloud data in VR and I have used it successfully with point clouds of 10 million points.

                                            +

                                            This takes a LAS file, splits the file into tiles and then creates a Delaunay Triangulation (i.e. Mesh) for each one.

                                            +

                                            This code uses the sample bindings as-is and has a dependency on Geometry3Sharp only.

                                            +

                                            Note that BcpData is a custom data structure that holds the Point Cloud in a form suitable to create a Baked PointCloud suitable for rendering as a VFX graph in Unity. This is an efficient way to display point cloud data in VR and I have used it successfully with point clouds of 10 million points.

                                            For Developers

                                            Build on Windows

                                            -

                                            The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                            +

                                            The library can be built on Windows using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                            cd CAPI
                                            make.bat

                                            Build on Linux and Mac

                                            -

                                            The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                            +

                                            The library can be built on Linux and Mac using the following command - which assumes that you are in a conda environment that has the conda-forge pdal package loaded:

                                            cd CAPI
                                            cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCONDA_BUILD=OFF .
                                            make
                                            make install

                                            Code Style

                                            -

                                            This project enforces the PDAL code styles, which can checked as follows :

                                            +

                                            This project enforces the PDAL code styles, which can checked as follows :

                                            • On Windows - as per astylerc
                                            • On Linux by running ./check_all.bash
                                            • @@ -196,7 +205,7 @@

                                              diff --git a/docs/doxygen/html/jquery.js b/docs/doxygen/html/jquery.js index c9ed3d9..1dffb65 100644 --- a/docs/doxygen/html/jquery.js +++ b/docs/doxygen/html/jquery.js @@ -1,12 +1,11 @@ /*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
                                              "],col:[2,"","
                                              "],tr:[2,"","
                                              "],td:[3,"","
                                              "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
                                              ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
                                              ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
                                              "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
                                              ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
                                              "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
                                              "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element -},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(y){"use strict";y.ui=y.ui||{};y.ui.version="1.13.2";var n,i=0,h=Array.prototype.hasOwnProperty,a=Array.prototype.slice;y.cleanData=(n=y.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=y._data(i,"events"))&&e.remove&&y(i).triggerHandler("remove");n(t)}),y.widget=function(t,i,e){var s,n,o,h={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=y.Widget),Array.isArray(e)&&(e=y.extend.apply(null,[{}].concat(e))),y.expr.pseudos[r.toLowerCase()]=function(t){return!!y.data(t,r)},y[a]=y[a]||{},s=y[a][t],n=y[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},y.extend(n,s,{version:e.version,_proto:y.extend({},e),_childConstructors:[]}),(o=new i).options=y.widget.extend({},o.options),y.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}h[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=y.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},h,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(y.each(s._childConstructors,function(t,e){var i=e.prototype;y.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),y.widget.bridge(t,n),n},y.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
                                              "),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
                                              ").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e

                                            ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0'+ + var url; + var link; + link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
                                          • '+ data.children[i].text+''+ makeTree(data.children[i],relPath)+'
                                          • '; } @@ -36,28 +44,26 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { } return result; } - var searchBox; + var searchBoxHtml; if (searchEnabled) { if (serverSide) { - searchBox='
                                            '+ + searchBoxHtml='
                                            '+ '
                                            '+ '
                                            '+ - ' '+ + ''+ + ' onblur="searchBox.OnSearchFieldFocus(false)"/>'+ '
                                            '+ '
                                            '+ '
                                            '+ '
                                            '; } else { - searchBox='
                                            '+ + searchBoxHtml='
                                            '+ ''+ - ''+ - ' '+ + ''+ @@ -65,8 +71,8 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { ''+ '' - '' + 'search/close.svg" alt=""/>'+ + ''+ '
                                            '; } } @@ -79,7 +85,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { '
                                            '); $('#main-nav').append(makeTree(menudata,relPath)); $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchBox) { + if (searchBoxHtml) { $('#main-menu').append('
                                          • '); } var $mainMenuState = $('#main-menu-state'); @@ -108,14 +114,17 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { if (newWidth!=prevWidth) { if ($(window).outerWidth()<768) { $mainMenuState.prop('checked',false); $menu.hide(); - $('#searchBoxPos1').html(searchBox); + $('#searchBoxPos1').html(searchBoxHtml); $('#searchBoxPos2').hide(); } else { $menu.show(); $('#searchBoxPos1').empty(); - $('#searchBoxPos2').html(searchBox); + $('#searchBoxPos2').html(searchBoxHtml); $('#searchBoxPos2').show(); } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } prevWidth = newWidth; } } diff --git a/docs/doxygen/html/navtree.css b/docs/doxygen/html/navtree.css index d8a311a..c8a7766 100644 --- a/docs/doxygen/html/navtree.css +++ b/docs/doxygen/html/navtree.css @@ -22,8 +22,13 @@ #nav-tree .selected { background-image: url('tab_a.png'); background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + color: var(--nav-text-active-color); + text-shadow: var(--nav-text-active-shadow); +} + +#nav-tree .selected .arrow { + color: var(--nav-arrow-selected-color); + text-shadow: none; } #nav-tree img { @@ -43,7 +48,7 @@ #nav-tree .label { margin:0px; padding:0px; - font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + font: 12px var(--font-family-nav); } #nav-tree .label a { @@ -52,7 +57,7 @@ #nav-tree .selected a { text-decoration:none; - color:#fff; + color:var(--nav-text-active-color); } #nav-tree .children_ul { @@ -67,7 +72,6 @@ #nav-tree { padding: 0px 0px; - background-color: #FAFAFF; font-size:14px; overflow:auto; } @@ -86,7 +90,7 @@ display:block; position: absolute; left: 0px; - width: 250px; + width: $width; overflow : hidden; } @@ -95,7 +99,7 @@ } .ui-resizable-e { - background-image:url("splitbar.png"); + background-image:var(--nav-splitbar-image); background-size:100%; background-repeat:repeat-y; background-attachment: scroll; @@ -118,9 +122,8 @@ } #nav-tree { - background-image:url('nav_h.png'); background-repeat:repeat-x; - background-color: #F9FAFC; + background-color: var(--nav-background-color); -webkit-overflow-scrolling : touch; /* iOS 5+ */ } diff --git a/docs/doxygen/html/navtreedata.js b/docs/doxygen/html/navtreedata.js index aed4736..0d3214d 100644 --- a/docs/doxygen/html/navtreedata.js +++ b/docs/doxygen/html/navtreedata.js @@ -25,21 +25,7 @@ var NAVTREE = [ [ "pdal-c", "index.html", [ - [ "pdal-c: PDAL C API", "index.html", [ - [ "Basics", "index.html#autotoc_md0", null ], - [ "Documentation", "index.html#autotoc_md1", null ], - [ "Installation", "index.html#autotoc_md2", [ - [ "Dependencies", "index.html#autotoc_md3", null ] - ] ], - [ "Usage", "index.html#autotoc_md4", [ - [ "Example C# Program", "index.html#autotoc_md5", null ] - ] ], - [ "For Developers", "index.html#autotoc_md6", [ - [ "Build on Windows", "index.html#autotoc_md7", null ], - [ "Build on Linux and Mac", "index.html#autotoc_md8", null ], - [ "Code Style", "index.html#autotoc_md9", null ] - ] ] - ] ], + [ "pdal-c: PDAL C API", "index.html", "index" ], [ "Data Structures", "annotated.html", [ [ "Data Structures", "annotated.html", "annotated_dup" ], [ "Data Structure Index", "classes.html", null ], diff --git a/docs/doxygen/html/navtreeindex0.js b/docs/doxygen/html/navtreeindex0.js index da662f8..d2608f4 100644 --- a/docs/doxygen/html/navtreeindex0.js +++ b/docs/doxygen/html/navtreeindex0.js @@ -64,14 +64,16 @@ var NAVTREEINDEX0 = "pdalc__pipeline_8h.html#a0a9edab4c9d6e56128e2d90532c26de5":[2,0,0,5,1], "pdalc__pipeline_8h.html#a0ca509b43b9679dbb1e8ebb9c8d71037":[2,0,0,5,2], "pdalc__pipeline_8h.html#a1dca09fbeb41f4c716034c86c9b0ade0":[2,0,0,5,0], -"pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1":[2,0,0,5,9], -"pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420":[2,0,0,5,5], -"pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff":[2,0,0,5,7], -"pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf":[2,0,0,5,10], -"pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024":[2,0,0,5,3], -"pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9":[2,0,0,5,4], -"pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc":[2,0,0,5,6], -"pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c":[2,0,0,5,8], +"pdalc__pipeline_8h.html#a63dd7be5712ffc5b1fb2c0e34c217fe6":[2,0,0,5,3], +"pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1":[2,0,0,5,11], +"pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420":[2,0,0,5,6], +"pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff":[2,0,0,5,8], +"pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf":[2,0,0,5,12], +"pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024":[2,0,0,5,4], +"pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9":[2,0,0,5,5], +"pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc":[2,0,0,5,7], +"pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c":[2,0,0,5,9], +"pdalc__pipeline_8h.html#afa97b9631f157ff01e703a80c375b52c":[2,0,0,5,10], "pdalc__pipeline_8h_source.html":[2,0,0,5], "pdalc__pointlayout_8h.html":[2,0,0,6], "pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405":[2,0,0,6,2], diff --git a/docs/doxygen/html/pdalc_8h.html b/docs/doxygen/html/pdalc_8h.html index e1290a8..7a2a0f3 100644 --- a/docs/doxygen/html/pdalc_8h.html +++ b/docs/doxygen/html/pdalc_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -94,7 +101,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index f5436d8..f867d39 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -138,7 +145,7 @@ diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index eacae4f..b6afcd8 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_config.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,50 +104,50 @@

                                            Functions

                                            PDALC_API size_t PDALGetGdalDataPath (char *path, size_t size) - Retrieves the path to the GDAL data directory. More...
                                            + Retrieves the path to the GDAL data directory.
                                              PDALC_API size_t PDALGetProj4DataPath (char *path, size_t size) - Retrieves the path to the proj4 data directory. More...
                                            + Retrieves the path to the proj4 data directory.
                                              PDALC_API void PDALSetGdalDataPath (const char *path) - Sets the path to the GDAL data directory. More...
                                            + Sets the path to the GDAL data directory.
                                              PDALC_API void PDALSetProj4DataPath (const char *path) - Sets the path to the proj4 data directory. More...
                                            + Sets the path to the proj4 data directory.
                                              PDALC_API size_t PDALFullVersionString (char *version, size_t size) - Retrieves the full PDAL version string. More...
                                            + Retrieves the full PDAL version string.
                                              PDALC_API size_t PDALVersionString (char *version, size_t size) - Retrieves the PDAL version string. More...
                                            + Retrieves the PDAL version string.
                                              PDALC_API int PDALVersionInteger () - Returns an integer representation of the PDAL version. More...
                                            + Returns an integer representation of the PDAL version.
                                              PDALC_API size_t PDALSha1 (char *sha1, size_t size) - Retrieves PDAL's Git commit SHA1 as a string. More...
                                            + Retrieves PDAL's Git commit SHA1 as a string.
                                              PDALC_API int PDALVersionMajor () - Returns the PDAL major version number. More...
                                            + Returns the PDAL major version number.
                                              PDALC_API int PDALVersionMinor () - Returns the PDAL minor version number. More...
                                            + Returns the PDAL minor version number.
                                              PDALC_API int PDALVersionPatch () - Returns the PDAL patch version number. More...
                                            + Returns the PDAL patch version number.
                                              PDALC_API size_t PDALDebugInformation (char *info, size_t size) - Retrieves PDAL debugging information. More...
                                            + Retrieves PDAL debugging information.
                                              PDALC_API size_t PDALPluginInstallPath (char *path, size_t size) - Retrieves the path to the PDAL installation. More...
                                            + Retrieves the path to the PDAL installation.
                                             

                                            Detailed Description

                                            -

                                            Functions to retrieve PDAL version and configuration information.

                                            +

                                            Functions to retrieve PDAL version and configuration information.

                                            Function Documentation

                                            -

                                            ◆ PDALDebugInformation()

                                            +

                                            ◆ PDALDebugInformation()

                                            @@ -179,7 +186,7 @@

                                            -

                                            ◆ PDALFullVersionString()

                                            +

                                            ◆ PDALFullVersionString()

                                            @@ -205,7 +212,7 @@

                                            Retrieves the full PDAL version string.

                                            -

                                            The full version string includes the major version number, the minor version number, the patch version number, and the shortened Git commit SHA1.

                                            +

                                            The full version string includes the major version number, the minor version number, the patch version number, and the shortened Git commit SHA1.

                                            See also
                                            pdal::config::fullVersionString
                                            Parameters
                                            @@ -219,7 +226,7 @@

                                            -

                                            ◆ PDALGetGdalDataPath()

                                            +

                                            ◆ PDALGetGdalDataPath()

                                            @@ -257,7 +264,7 @@

                                            -

                                            ◆ PDALGetProj4DataPath()

                                            +

                                            ◆ PDALGetProj4DataPath()

                                            @@ -295,7 +302,7 @@

                                            -

                                            ◆ PDALPluginInstallPath()

                                            +

                                            ◆ PDALPluginInstallPath()

                                            @@ -555,7 +562,7 @@

                                              - +
                                            diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index f8b8102..8872335 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_config.h Source File @@ -25,7 +25,7 @@

                                            @@ -34,10 +34,10 @@
                                            -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL

                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -120,50 +127,51 @@
                                            32
                                            33#include "pdalc_forward.h"
                                            34
                                            -
                                            40#ifdef __cplusplus
                                            -
                                            41
                                            -
                                            42namespace pdal
                                            -
                                            43{
                                            -
                                            44namespace capi
                                            -
                                            45{
                                            -
                                            46extern "C"
                                            -
                                            47{
                                            -
                                            48#else
                                            -
                                            49#include <stddef.h> // for size_t
                                            -
                                            50#endif
                                            -
                                            58PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                                            -
                                            59
                                            -
                                            67PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                                            -
                                            68
                                            -
                                            74PDALC_API void PDALSetGdalDataPath(const char *path);
                                            -
                                            75
                                            -
                                            81PDALC_API void PDALSetProj4DataPath(const char *path);
                                            -
                                            82
                                            -
                                            94PDALC_API size_t PDALFullVersionString(char *version, size_t size);
                                            -
                                            95
                                            -
                                            107PDALC_API size_t PDALVersionString(char *version, size_t size);
                                            -
                                            108
                                            -
                                            119PDALC_API int PDALVersionInteger();
                                            -
                                            120
                                            -
                                            130PDALC_API size_t PDALSha1(char *sha1, size_t size);
                                            -
                                            131
                                            -
                                            139PDALC_API int PDALVersionMajor();
                                            -
                                            140
                                            -
                                            148PDALC_API int PDALVersionMinor();
                                            -
                                            149
                                            -
                                            157PDALC_API int PDALVersionPatch();
                                            -
                                            158
                                            -
                                            168PDALC_API size_t PDALDebugInformation(char *info, size_t size);
                                            -
                                            169
                                            -
                                            179PDALC_API size_t PDALPluginInstallPath(char *path, size_t size);
                                            -
                                            180
                                            -
                                            181#ifdef __cplusplus
                                            -
                                            182}
                                            +
                                            35
                                            +
                                            41#ifdef __cplusplus
                                            +
                                            42
                                            +
                                            43namespace pdal
                                            +
                                            44{
                                            +
                                            45namespace capi
                                            +
                                            46{
                                            +
                                            47extern "C"
                                            +
                                            48{
                                            +
                                            49#else
                                            +
                                            50#include <stddef.h> // for size_t
                                            +
                                            51#endif
                                            +
                                            59PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                                            +
                                            60
                                            +
                                            68PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                                            +
                                            69
                                            +
                                            75PDALC_API void PDALSetGdalDataPath(const char *path);
                                            +
                                            76
                                            +
                                            82PDALC_API void PDALSetProj4DataPath(const char *path);
                                            +
                                            83
                                            +
                                            95PDALC_API size_t PDALFullVersionString(char *version, size_t size);
                                            +
                                            96
                                            +
                                            108PDALC_API size_t PDALVersionString(char *version, size_t size);
                                            +
                                            109
                                            +
                                            120PDALC_API int PDALVersionInteger();
                                            +
                                            121
                                            +
                                            131PDALC_API size_t PDALSha1(char *sha1, size_t size);
                                            +
                                            132
                                            +
                                            140PDALC_API int PDALVersionMajor();
                                            +
                                            141
                                            +
                                            149PDALC_API int PDALVersionMinor();
                                            +
                                            150
                                            +
                                            158PDALC_API int PDALVersionPatch();
                                            +
                                            159
                                            +
                                            169PDALC_API size_t PDALDebugInformation(char *info, size_t size);
                                            +
                                            170
                                            +
                                            180PDALC_API size_t PDALPluginInstallPath(char *path, size_t size);
                                            +
                                            181
                                            +
                                            182#ifdef __cplusplus
                                            183}
                                            184}
                                            -
                                            185#endif
                                            -
                                            186
                                            -
                                            187#endif
                                            +
                                            185}
                                            +
                                            186#endif
                                            +
                                            187
                                            +
                                            188#endif
                                            PDALC_API int PDALVersionMinor()
                                            Returns the PDAL minor version number.
                                            PDALC_API int PDALVersionMajor()
                                            Returns the PDAL major version number.
                                            PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size)
                                            Retrieves the path to the GDAL data directory.
                                            @@ -184,7 +192,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 3a637cf..866411a 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_defines.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -94,7 +101,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 55f02cd..dd57f62 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_defines.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -157,7 +164,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 49b69f7..a9967c3 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_dimtype.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,35 +104,35 @@

                                            Functions

                                            PDALC_API size_t PDALGetDimTypeListSize (PDALDimTypeListPtr types) - Returns the number of elements in a dimension type list. More...
                                            + Returns the number of elements in a dimension type list.
                                              PDALC_API uint64_t PDALGetDimTypeListByteCount (PDALDimTypeListPtr types) - Returns the number of bytes required to store data referenced by a dimension type list. More...
                                            + Returns the number of bytes required to store data referenced by a dimension type list.
                                              PDALC_API PDALDimType PDALGetInvalidDimType () - Returns the invalid dimension type. More...
                                            + Returns the invalid dimension type.
                                              PDALC_API PDALDimType PDALGetDimType (PDALDimTypeListPtr types, size_t index) - Returns the dimension type at the provided index from a dimension type list. More...
                                            + Returns the dimension type at the provided index from a dimension type list.
                                              PDALC_API size_t PDALGetDimTypeIdName (PDALDimType dim, char *name, size_t size) - Retrieves the name of a dimension type's ID. More...
                                            + Retrieves the name of a dimension type's ID.
                                              PDALC_API size_t PDALGetDimTypeInterpretationName (PDALDimType dim, char *name, size_t size) - Retrieves the name of a dimension type's interpretation, i.e., its data type. More...
                                            + Retrieves the name of a dimension type's interpretation, i.e., its data type.
                                              PDALC_API size_t PDALGetDimTypeInterpretationByteCount (PDALDimType dim) - Retrieves the byte count of a dimension type's interpretation, i.e., its data size. More...
                                            + Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                                              PDALC_API void PDALDisposeDimTypeList (PDALDimTypeListPtr types) - Disposes the provided dimension type list. More...
                                            + Disposes the provided dimension type list.
                                             

                                            Detailed Description

                                            -

                                            Functions to inspect PDAL dimension types.

                                            +

                                            Functions to inspect PDAL dimension types.

                                            Function Documentation

                                            -

                                            ◆ PDALDisposeDimTypeList()

                                            +

                                            ◆ PDALDisposeDimTypeList()

                                            @@ -151,7 +158,7 @@

                                            -

                                            ◆ PDALGetDimType()

                                            +

                                            ◆ PDALGetDimType()

                                            @@ -189,7 +196,7 @@

                                            -

                                            ◆ PDALGetDimTypeIdName()

                                            +

                                            ◆ PDALGetDimTypeIdName()

                                            @@ -234,7 +241,7 @@

                                            -

                                            ◆ PDALGetDimTypeInterpretationByteCount()

                                            +

                                            ◆ PDALGetDimTypeInterpretationByteCount()

                                            @@ -261,7 +268,7 @@

                                            -

                                            ◆ PDALGetDimTypeInterpretationName()

                                            +

                                            ◆ PDALGetDimTypeInterpretationName()

                                            @@ -306,7 +313,7 @@

                                            -

                                            ◆ PDALGetDimTypeListByteCount()

                                            +

                                            ◆ PDALGetDimTypeListByteCount()

                                            @@ -333,7 +340,7 @@

                                            -

                                            ◆ PDALGetDimTypeListSize()

                                            +

                                            ◆ PDALGetDimTypeListSize()

                                            @@ -360,7 +367,7 @@

                                            -

                                            ◆ PDALGetInvalidDimType()

                                            +

                                            ◆ PDALGetInvalidDimType()

                                            diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 82aa7b4..9976612 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_dimtype.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -171,7 +178,7 @@ diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index f5aaf18..00e8339 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_forward.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -104,32 +111,32 @@

                                            Typedefs

                                            typedef void * PDALDimTypeListPtr - A pointer to a dimension type list. More...
                                            + A pointer to a dimension type list.
                                              typedef void * PDALPipelinePtr - A pointer to a pipeline. More...
                                            + A pointer to a pipeline.
                                              typedef uint64_t PDALPointId - An index to a point in a list. More...
                                            + An index to a point in a list.
                                              typedef void * PDALPointLayoutPtr - A pointer to a point layout. More...
                                            + A pointer to a point layout.
                                              typedef void * PDALPointViewPtr - A pointer to point view. More...
                                            + A pointer to point view.
                                              typedef void * PDALMeshPtr - A pointer to a Mesh. More...
                                            + A pointer to a Mesh.
                                              typedef void * PDALPointViewIteratorPtr - A pointer to a point view iterator. More...
                                            + A pointer to a point view iterator.
                                             

                                            Detailed Description

                                            -

                                            Forward declarations for the PDAL C API.

                                            +

                                            Forward declarations for the PDAL C API.

                                            Typedef Documentation

                                            -

                                            ◆ PDALDimTypeListPtr

                                            +

                                            ◆ PDALDimTypeListPtr

                                            @@ -145,7 +152,7 @@

                                            -

                                            ◆ PDALMeshPtr

                                            +

                                            ◆ PDALMeshPtr

                                            @@ -161,7 +168,7 @@

                                            -

                                            ◆ PDALPipelinePtr

                                            +

                                            ◆ PDALPipelinePtr

                                            @@ -177,7 +184,7 @@

                                            -

                                            ◆ PDALPointId

                                            +

                                            ◆ PDALPointId

                                            @@ -193,7 +200,7 @@

                                            -

                                            ◆ PDALPointLayoutPtr

                                            +

                                            ◆ PDALPointLayoutPtr

                                            @@ -209,7 +216,7 @@

                                            -

                                            ◆ PDALPointViewIteratorPtr

                                            +

                                            ◆ PDALPointViewIteratorPtr

                                            @@ -225,7 +232,7 @@

                                            -

                                            ◆ PDALPointViewPtr

                                            +

                                            ◆ PDALPointViewPtr

                                            @@ -246,7 +253,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index dbd74c6..0e23c7a 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_forward.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -136,21 +143,21 @@
                                            53namespace pdal
                                            54{
                                            55struct DimType;
                                            -
                                            56class PipelineExecutor;
                                            +
                                            56class PipelineManager;
                                            57class PointView;
                                            58class TriangularMesh;
                                            59
                                            -
                                            60using PointViewPtr = std::shared_ptr<PointView>;
                                            -
                                            61using DimTypeList = std::vector<DimType>;
                                            -
                                            62using MeshPtr = std::shared_ptr<TriangularMesh>;
                                            +
                                            60using PointViewPtr = std::shared_ptr<PointView>;
                                            +
                                            61using DimTypeList = std::vector<DimType>;
                                            +
                                            62using MeshPtr = std::shared_ptr<TriangularMesh>;
                                            63
                                            64namespace capi
                                            65{
                                            66class PointViewIterator;
                                            -
                                            67using Pipeline = std::unique_ptr<pdal::PipelineExecutor>;
                                            -
                                            68using PointView = pdal::PointViewPtr;
                                            -
                                            69using TriangularMesh = pdal::MeshPtr;
                                            -
                                            70using DimTypeList = std::unique_ptr<pdal::DimTypeList>;
                                            +
                                            67using PointView = pdal::PointViewPtr;
                                            +
                                            68using TriangularMesh = pdal::MeshPtr;
                                            +
                                            69using DimTypeList = std::unique_ptr<pdal::DimTypeList>;
                                            +
                                            70
                                            71}
                                            72}
                                            73
                                            @@ -205,7 +212,7 @@ diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index b1db206..20e7183 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,44 +104,50 @@

                                            Functions

                                            PDALC_API PDALPipelinePtr PDALCreatePipeline (const char *json) - Creates a PDAL pipeline from a JSON text string. More...
                                            + Creates a PDAL pipeline from a JSON text string.
                                              PDALC_API void PDALDisposePipeline (PDALPipelinePtr pipeline) - Disposes a PDAL pipeline. More...
                                            + Disposes a PDAL pipeline.
                                              PDALC_API size_t PDALGetPipelineAsString (PDALPipelinePtr pipeline, char *buffer, size_t size) - Retrieves a string representation of a pipeline. More...
                                            + Retrieves a string representation of a pipeline.
                                              PDALC_API size_t PDALGetPipelineMetadata (PDALPipelinePtr pipeline, char *metadata, size_t size) - Retrieves a pipeline's computed metadata. More...
                                            + Retrieves a pipeline's computed metadata.
                                              PDALC_API size_t PDALGetPipelineSchema (PDALPipelinePtr pipeline, char *schema, size_t size) - Retrieves a pipeline's computed schema. More...
                                            + Retrieves a pipeline's computed schema.
                                              PDALC_API size_t PDALGetPipelineLog (PDALPipelinePtr pipeline, char *log, size_t size) - Retrieves a pipeline's execution log. More...
                                            + Retrieves a pipeline's execution log.
                                              PDALC_API void PDALSetPipelineLogLevel (PDALPipelinePtr pipeline, int level) - Sets a pipeline's log level. More...
                                            + Sets a pipeline's log level.
                                              PDALC_API int PDALGetPipelineLogLevel (PDALPipelinePtr pipeline) - Returns a pipeline's log level. More...
                                            + Returns a pipeline's log level.
                                              PDALC_API int64_t PDALExecutePipeline (PDALPipelinePtr pipeline) - Executes a pipeline. More...
                                            + Executes a pipeline.
                                              +PDALC_API bool PDALExecutePipelineAsStream (PDALPipelinePtr pipeline) + Executes a pipeline as a streamable pipeline.
                                            +  +PDALC_API bool PDALPipelineIsStreamable (PDALPipelinePtr pipeline) + Determines if a pipeline is streamable.
                                            +  PDALC_API bool PDALValidatePipeline (PDALPipelinePtr pipeline) - Validates a pipeline. More...
                                            + Validates a pipeline.
                                              PDALC_API PDALPointViewIteratorPtr PDALGetPointViews (PDALPipelinePtr pipeline) - Gets the resulting point views from a pipeline execution. More...
                                            + Gets the resulting point views from a pipeline execution.
                                             

                                            Detailed Description

                                            -

                                            Functions to launch and inspect the results of a PDAL pipeline.

                                            +

                                            Functions to launch and inspect the results of a PDAL pipeline.

                                            Function Documentation

                                            -

                                            ◆ PDALCreatePipeline()

                                            +

                                            ◆ PDALCreatePipeline()

                                            @@ -162,7 +175,7 @@

                                            -

                                            ◆ PDALDisposePipeline()

                                            +

                                            ◆ PDALDisposePipeline()

                                            @@ -188,7 +201,7 @@

                                            -

                                            ◆ PDALExecutePipeline()

                                            +

                                            ◆ PDALExecutePipeline()

                                            + +

                                            ◆ PDALExecutePipelineAsStream()

                                            + +
                                            +
                                            + + + + + + + + +
                                            PDALC_API bool PDALExecutePipelineAsStream (PDALPipelinePtr pipeline)
                                            +
                                            + +

                                            Executes a pipeline as a streamable pipeline.

                                            +

                                            Will run as non-streamed pipeline if the pipeline is not streamable.

                                            +
                                            Parameters
                                            + + +
                                            pipelineThe pipeline
                                            +
                                            +
                                            +
                                            Returns
                                            true for success
                                            +
                                            -

                                            ◆ PDALGetPipelineAsString()

                                            +

                                            ◆ PDALGetPipelineAsString()

                                            @@ -260,7 +301,7 @@

                                            -

                                            ◆ PDALGetPipelineLog()

                                            +

                                            ◆ PDALGetPipelineLog()

                                            @@ -306,7 +347,7 @@

                                            -

                                            ◆ PDALGetPipelineLogLevel()

                                            +

                                            ◆ PDALGetPipelineLogLevel()

                                            @@ -333,7 +374,7 @@

                                            -

                                            ◆ PDALGetPipelineMetadata()

                                            +

                                            ◆ PDALGetPipelineMetadata()

                                            @@ -378,7 +419,7 @@

                                            -

                                            ◆ PDALGetPipelineSchema()

                                            +

                                            ◆ PDALGetPipelineSchema()

                                            @@ -423,7 +464,7 @@

                                            -

                                            ◆ PDALGetPointViews()

                                            +

                                            ◆ PDALGetPointViews()

                                            + +

                                            ◆ PDALPipelineIsStreamable()

                                            + +
                                            +
                                            + + + + + + + + +
                                            PDALC_API bool PDALPipelineIsStreamable (PDALPipelinePtr pipeline)
                                            +
                                            + +

                                            Determines if a pipeline is streamable.

                                            +
                                            Parameters
                                            + + +
                                            pipelineThe pipeline
                                            +
                                            +
                                            +
                                            Returns
                                            Whether the pipeline is streamable
                                            +
                                            -

                                            ◆ PDALSetPipelineLogLevel()

                                            +

                                            ◆ PDALSetPipelineLogLevel()

                                            @@ -488,7 +556,7 @@

                                            -

                                            ◆ PDALValidatePipeline()

                                            +

                                            ◆ PDALValidatePipeline()

                                            @@ -520,7 +588,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pipeline_8h.js b/docs/doxygen/html/pdalc__pipeline_8h.js index 20ad5a4..d4df44a 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.js +++ b/docs/doxygen/html/pdalc__pipeline_8h.js @@ -3,12 +3,14 @@ var pdalc__pipeline_8h = [ "PDALCreatePipeline", "pdalc__pipeline_8h.html#a1dca09fbeb41f4c716034c86c9b0ade0", null ], [ "PDALDisposePipeline", "pdalc__pipeline_8h.html#a0a9edab4c9d6e56128e2d90532c26de5", null ], [ "PDALExecutePipeline", "pdalc__pipeline_8h.html#a0ca509b43b9679dbb1e8ebb9c8d71037", null ], + [ "PDALExecutePipelineAsStream", "pdalc__pipeline_8h.html#a63dd7be5712ffc5b1fb2c0e34c217fe6", null ], [ "PDALGetPipelineAsString", "pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024", null ], [ "PDALGetPipelineLog", "pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9", null ], [ "PDALGetPipelineLogLevel", "pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420", null ], [ "PDALGetPipelineMetadata", "pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc", null ], [ "PDALGetPipelineSchema", "pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff", null ], [ "PDALGetPointViews", "pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c", null ], + [ "PDALPipelineIsStreamable", "pdalc__pipeline_8h.html#afa97b9631f157ff01e703a80c375b52c", null ], [ "PDALSetPipelineLogLevel", "pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1", null ], [ "PDALValidatePipeline", "pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf", null ] ]; \ No newline at end of file diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index da24637..6092b20 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pipeline.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -87,7 +94,7 @@
                                            Go to the documentation of this file.
                                            1/******************************************************************************
                                            -
                                            2 * Copyright (c) 2019, Simverge Software LLC. All rights reserved.
                                            +
                                            2 * Copyright (c) 2019, Simverge Software LLC & Runette Software. All rights reserved.
                                            3 *
                                            4 * Redistribution and use in source and binary forms, with or without
                                            5 * modification, are permitted provided that the following
                                            @@ -120,55 +127,62 @@
                                            32
                                            33#include "pdalc_forward.h"
                                            34
                                            -
                                            40#ifdef __cplusplus
                                            -
                                            41
                                            -
                                            42namespace pdal
                                            -
                                            43{
                                            -
                                            44namespace capi
                                            -
                                            45{
                                            -
                                            46extern "C"
                                            -
                                            47{
                                            -
                                            48#else
                                            -
                                            49#include <stdbool.h> // for bool
                                            -
                                            50#include <stddef.h> // for size_t
                                            -
                                            51#include <stdint.h> // for int64_t
                                            -
                                            52#endif /* __cplusplus */
                                            -
                                            53
                                            -
                                            62PDALC_API PDALPipelinePtr PDALCreatePipeline(const char* json);
                                            -
                                            63
                                            -
                                            69PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline);
                                            -
                                            70
                                            -
                                            79PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size);
                                            -
                                            80
                                            -
                                            89PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size);
                                            -
                                            90
                                            -
                                            99PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size);
                                            -
                                            100
                                            -
                                            111PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size);
                                            -
                                            112
                                            -
                                            119PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level);
                                            -
                                            120
                                            - -
                                            128
                                            -
                                            135PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline);
                                            -
                                            136
                                            -
                                            143PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline);
                                            -
                                            144
                                            - -
                                            156
                                            -
                                            157#ifdef __cplusplus
                                            -
                                            158
                                            -
                                            159}
                                            -
                                            160}
                                            -
                                            161}
                                            -
                                            162#endif /* _cplusplus */
                                            -
                                            163#endif /* PDALC_PIPELINE_H */
                                            +
                                            35
                                            +
                                            41#ifdef __cplusplus
                                            +
                                            42
                                            +
                                            43namespace pdal
                                            +
                                            44{
                                            +
                                            45namespace capi
                                            +
                                            46{
                                            +
                                            47extern "C"
                                            +
                                            48{
                                            +
                                            49
                                            +
                                            50#else
                                            +
                                            51#include <stdbool.h> // for bool
                                            +
                                            52#include <stddef.h> // for size_t
                                            +
                                            53#include <stdint.h> // for int64_t
                                            +
                                            54#endif /* __cplusplus */
                                            +
                                            55
                                            +
                                            64PDALC_API PDALPipelinePtr PDALCreatePipeline(const char* json);
                                            +
                                            65
                                            +
                                            71PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline);
                                            +
                                            72
                                            +
                                            81PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size);
                                            +
                                            82
                                            +
                                            91PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size);
                                            +
                                            92
                                            +
                                            101PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size);
                                            +
                                            102
                                            +
                                            113PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size);
                                            +
                                            114
                                            +
                                            121PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level);
                                            +
                                            122
                                            + +
                                            130
                                            +
                                            137PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline);
                                            +
                                            138
                                            + +
                                            146
                                            + +
                                            154
                                            +
                                            161PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline);
                                            +
                                            162
                                            + +
                                            174
                                            +
                                            175#ifdef __cplusplus
                                            +
                                            176
                                            +
                                            177} /* extern C */
                                            +
                                            178} /* capi*/
                                            +
                                            179} /* pdal*/
                                            +
                                            180#endif /* _cplusplus */
                                            +
                                            181#endif /* PDALC_PIPELINE_H */
                                            Forward declarations for the PDAL C API.
                                            void * PDALPointViewIteratorPtr
                                            A pointer to a point view iterator.
                                            Definition: pdalc_forward.h:115
                                            void * PDALPipelinePtr
                                            A pointer to a pipeline.
                                            Definition: pdalc_forward.h:100
                                            PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline)
                                            Disposes a PDAL pipeline.
                                            PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
                                            Executes a pipeline.
                                            PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
                                            Creates a PDAL pipeline from a JSON text string.
                                            +
                                            PDALC_API bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline)
                                            Executes a pipeline as a streamable pipeline.
                                            PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
                                            Sets a pipeline's log level.
                                            PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                                            Returns a pipeline's log level.
                                            PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
                                            Retrieves a pipeline's computed schema.
                                            @@ -177,13 +191,14 @@
                                            PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                                            Retrieves a pipeline's execution log.
                                            PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                                            Retrieves a pipeline's computed metadata.
                                            PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline)
                                            Gets the resulting point views from a pipeline execution.
                                            +
                                            PDALC_API bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline)
                                            Determines if a pipeline is streamable.
                                            diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index 499a3a7..e265674 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pointlayout.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,26 +104,26 @@

                                            Functions

                                            PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes (PDALPointLayoutPtr layout) - Returns the list of dimension types used by the provided layout. More...
                                            + Returns the list of dimension types used by the provided layout.
                                              PDALC_API PDALDimType PDALFindDimType (PDALPointLayoutPtr layout, const char *name) - Finds the dimension type identified by the provided name in a layout. More...
                                            + Finds the dimension type identified by the provided name in a layout.
                                              PDALC_API size_t PDALGetDimSize (PDALPointLayoutPtr layout, const char *name) - Returns the byte size of a dimension type value within a layout. More...
                                            + Returns the byte size of a dimension type value within a layout.
                                              PDALC_API size_t PDALGetDimPackedOffset (PDALPointLayoutPtr layout, const char *name) - Returns the byte offset of a dimension type within a layout. More...
                                            + Returns the byte offset of a dimension type within a layout.
                                              PDALC_API size_t PDALGetPointSize (PDALPointLayoutPtr layout) - Returns the byte size of a point in the provided layout. More...
                                            + Returns the byte size of a point in the provided layout.
                                             

                                            Detailed Description

                                            -

                                            Functions to inspect the contents of a PDAL point layout.

                                            +

                                            Functions to inspect the contents of a PDAL point layout.

                                            Function Documentation

                                            -

                                            ◆ PDALFindDimType()

                                            +

                                            ◆ PDALFindDimType()

                                            @@ -154,7 +161,7 @@

                                            -

                                            ◆ PDALGetDimPackedOffset()

                                            +

                                            ◆ PDALGetDimPackedOffset()

                                            @@ -192,7 +199,7 @@

                                            -

                                            ◆ PDALGetDimSize()

                                            +

                                            ◆ PDALGetDimSize()

                                            @@ -230,7 +237,7 @@

                                            -

                                            ◆ PDALGetPointLayoutDimTypes()

                                            +

                                            ◆ PDALGetPointLayoutDimTypes()

                                            @@ -258,7 +265,7 @@

                                            -

                                            ◆ PDALGetPointSize()

                                            +

                                            ◆ PDALGetPointSize()

                                            @@ -290,7 +297,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 0555b9a..b1318ae 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pointlayout.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -163,7 +170,7 @@ diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index c278731..7a721ce 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pointview.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,47 +104,47 @@

                                            Functions

                                            PDALC_API void PDALDisposePointView (PDALPointViewPtr view) - Disposes the provided point view. More...
                                            + Disposes the provided point view.
                                              PDALC_API int PDALGetPointViewId (PDALPointViewPtr view) - Returns the ID of the provided point view. More...
                                            + Returns the ID of the provided point view.
                                              PDALC_API uint64_t PDALGetPointViewSize (PDALPointViewPtr view) - Returns the number of points in the provided view. More...
                                            + Returns the number of points in the provided view.
                                              PDALC_API bool PDALIsPointViewEmpty (PDALPointViewPtr view) - Returns whether the provided point view is empty, i.e., has no points. More...
                                            + Returns whether the provided point view is empty, i.e., has no points.
                                              PDALC_API PDALPointViewPtr PDALClonePointView (PDALPointViewPtr view) - Clones the provided point view. More...
                                            + Clones the provided point view.
                                              PDALC_API size_t PDALGetPointViewProj4 (PDALPointViewPtr view, char *proj, size_t size) - Returns the proj4 projection string for the provided point view. More...
                                            + Returns the proj4 projection string for the provided point view.
                                              PDALC_API size_t PDALGetPointViewWkt (PDALPointViewPtr view, char *wkt, size_t size, bool pretty) - Returns the Well-Known Text (WKT) projection string for the provided point view. More...
                                            + Returns the Well-Known Text (WKT) projection string for the provided point view.
                                              PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout (PDALPointViewPtr view) - Returns the point layout for the provided point view. More...
                                            + Returns the point layout for the provided point view.
                                              PDALC_API size_t PDALGetPackedPoint (PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer) - Retrieves data for a point based on the provided dimension list. More...
                                            + Retrieves data for a point based on the provided dimension list.
                                              PDALC_API uint64_t PDALGetAllPackedPoints (PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer) - Retrieves data for all points based on the provided dimension list. More...
                                            + Retrieves data for all points based on the provided dimension list.
                                              PDALC_API uint64_t PDALGetMeshSize (PDALPointViewPtr view) - Returns the number of triangles in the provided view. More...
                                            + Returns the number of triangles in the provided view.
                                              PDALC_API uint64_t PDALGetAllTriangles (PDALPointViewPtr view, char *buffer) - Retrieves the triangles from the PointView. More...
                                            + Retrieves the triangles from the PointView.
                                             

                                            Detailed Description

                                            -

                                            Functions to inspect the contents of a PDAL point view.

                                            +

                                            Functions to inspect the contents of a PDAL point view.

                                            Function Documentation

                                            -

                                            ◆ PDALClonePointView()

                                            +

                                            ◆ PDALClonePointView()

                                            @@ -165,7 +172,7 @@

                                            -

                                            ◆ PDALDisposePointView()

                                            +

                                            ◆ PDALDisposePointView()

                                            @@ -191,7 +198,7 @@

                                            -

                                            ◆ PDALGetAllPackedPoints()

                                            +

                                            ◆ PDALGetAllPackedPoints()

                                            @@ -240,7 +247,7 @@

                                            -

                                            ◆ PDALGetAllTriangles()

                                            +

                                            ◆ PDALGetAllTriangles()

                                            @@ -282,7 +289,7 @@

                                            -

                                            ◆ PDALGetMeshSize()

                                            +

                                            ◆ PDALGetMeshSize()

                                            @@ -310,7 +317,7 @@

                                            -

                                            ◆ PDALGetPackedPoint()

                                            +

                                            ◆ PDALGetPackedPoint()

                                            @@ -363,7 +370,7 @@

                                            -

                                            ◆ PDALGetPointViewId()

                                            +

                                            ◆ PDALGetPointViewId()

                                            @@ -391,7 +398,7 @@

                                            -

                                            ◆ PDALGetPointViewLayout()

                                            +

                                            ◆ PDALGetPointViewLayout()

                                            @@ -419,7 +426,7 @@

                                            -

                                            ◆ PDALGetPointViewProj4()

                                            +

                                            ◆ PDALGetPointViewProj4()

                                            @@ -465,7 +472,7 @@

                                            -

                                            ◆ PDALGetPointViewSize()

                                            +

                                            ◆ PDALGetPointViewSize()

                                            @@ -493,7 +500,7 @@

                                            -

                                            ◆ PDALGetPointViewWkt()

                                            +

                                            ◆ PDALGetPointViewWkt()

                                            @@ -546,7 +553,7 @@

                                            -

                                            ◆ PDALIsPointViewEmpty()

                                            +

                                            ◆ PDALIsPointViewEmpty()

                                            @@ -579,7 +586,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index 152953a..113e772 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pointview.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -187,7 +194,7 @@ diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index bf760c4..56c7976 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pointviewiterator.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,23 +104,23 @@

                                            Functions

                                            PDALC_API bool PDALHasNextPointView (PDALPointViewIteratorPtr itr) - Returns whether another point view is available in the provided iterator. More...
                                            + Returns whether another point view is available in the provided iterator.
                                              PDALC_API PDALPointViewPtr PDALGetNextPointView (PDALPointViewIteratorPtr itr) - Returns the next available point view in the provided iterator. More...
                                            + Returns the next available point view in the provided iterator.
                                              PDALC_API void PDALResetPointViewIterator (PDALPointViewIteratorPtr itr) - Resets the provided point view iterator to its starting position. More...
                                            + Resets the provided point view iterator to its starting position.
                                              PDALC_API void PDALDisposePointViewIterator (PDALPointViewIteratorPtr itr) - Disposes the provided point view iterator. More...
                                            + Disposes the provided point view iterator.
                                             

                                            Detailed Description

                                            -

                                            Functions to inspect the contents of a PDAL point view iterator.

                                            +

                                            Functions to inspect the contents of a PDAL point view iterator.

                                            Function Documentation

                                            -

                                            ◆ PDALDisposePointViewIterator()

                                            +

                                            ◆ PDALDisposePointViewIterator()

                                            @@ -139,7 +146,7 @@

                                            -

                                            ◆ PDALGetNextPointView()

                                            +

                                            ◆ PDALGetNextPointView()

                                            @@ -167,7 +174,7 @@

                                            -

                                            ◆ PDALHasNextPointView()

                                            +

                                            ◆ PDALHasNextPointView()

                                            @@ -194,7 +201,7 @@

                                            -

                                            ◆ PDALResetPointViewIterator()

                                            +

                                            ◆ PDALResetPointViewIterator()

                                            @@ -225,7 +232,7 @@

                                            diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 0110a33..e89b93b 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -1,9 +1,9 @@ - + - + pdal-c: pdal/pdalc_pointviewiterator.h Source File @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -174,7 +181,7 @@ diff --git a/docs/doxygen/html/resize.js b/docs/doxygen/html/resize.js index 7fe30d1..aaeb6fc 100644 --- a/docs/doxygen/html/resize.js +++ b/docs/doxygen/html/resize.js @@ -22,38 +22,45 @@ @licend The above is the entire license notice for the JavaScript code in this file */ +var once=1; function initResizable() { var cookie_namespace = 'doxygen'; - var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + var sidenav,navtree,content,header,barWidth=6,desktop_vp=768,titleHeight; - function readCookie(cookie) + function readSetting(cookie) { - var myCookie = cookie_namespace+"_"+cookie+"="; - if (document.cookie) { - var index = document.cookie.indexOf(myCookie); - if (index != -1) { - var valStart = index + myCookie.length; - var valEnd = document.cookie.indexOf(";", valStart); - if (valEnd == -1) { - valEnd = document.cookie.length; + if (window.chrome) { + var val = localStorage.getItem(cookie_namespace+'_width'); + if (val) return val; + } else { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; } - var val = document.cookie.substring(valStart, valEnd); - return val; } } - return 0; + return 250; } - function writeCookie(cookie, val, expiration) + function writeSetting(cookie, val) { - if (val==undefined) return; - if (expiration == null) { + if (window.chrome) { + localStorage.setItem(cookie_namespace+"_width",val); + } else { var date = new Date(); date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week expiration = date.toGMTString(); + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; } - document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; } function resizeWidth() @@ -61,13 +68,19 @@ function initResizable() var windowWidth = $(window).width() + "px"; var sidenavWidth = $(sidenav).outerWidth(); content.css({marginLeft:parseInt(sidenavWidth)+"px"}); - writeCookie('width',sidenavWidth-barWidth, null); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); + } + writeSetting('width',sidenavWidth-barWidth); } function restoreWidth(navWidth) { var windowWidth = $(window).width() + "px"; content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + } sidenav.css({width:navWidth + "px"}); } @@ -89,19 +102,6 @@ function initResizable() content.css({height:contentHeight + "px"}); navtree.css({height:navtreeHeight + "px"}); sidenav.css({height:sideNavHeight + "px"}); - var width=$(window).width(); - if (width!=collapsedWidth) { - if (width=desktop_vp) { - if (!collapsed) { - collapseExpand(); - } - } else if (width>desktop_vp && collapsedWidth0) { - restoreWidth(0); - collapsed=true; + newWidth=0; } else { - var width = readCookie('width'); - if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } - collapsed=false; + var width = readSetting('width'); + newWidth = (width>250 && width<$(window).width()) ? width : 250; } + restoreWidth(newWidth); + var sidenavWidth = $(sidenav).outerWidth(); + writeSetting('width',sidenavWidth-barWidth); } header = $("#top"); @@ -136,7 +138,7 @@ function initResizable() $('#nav-sync').css({ right:'34px' }); barWidth=20; } - var width = readCookie('width'); + var width = readSetting('width'); if (width) { restoreWidth(width); } else { resizeWidth(); } resizeHeight(); var url = location.href; @@ -144,7 +146,10 @@ function initResizable() if (i>=0) window.location.hash=url.substr(i); var _preventDefault = function(evt) { evt.preventDefault(); }; $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); + if (once) { + $(".ui-resizable-handle").dblclick(collapseExpand); + once=0 + } $(window).on('load',resizeHeight); } /* @license-end */ diff --git a/docs/doxygen/html/search/all_2.js b/docs/doxygen/html/search/all_2.js index 536d0d3..6325c9a 100644 --- a/docs/doxygen/html/search/all_2.js +++ b/docs/doxygen/html/search/all_2.js @@ -20,55 +20,57 @@ var searchData= ['pdaldisposepointview_17',['PDALDisposePointView',['../pdalc__pointview_8h.html#a3e5448e11645779f30328813617ec72d',1,'pdalc_pointview.h']]], ['pdaldisposepointviewiterator_18',['PDALDisposePointViewIterator',['../pdalc__pointviewiterator_8h.html#ae18ac1303f9a6750b63936184ef88a91',1,'pdalc_pointviewiterator.h']]], ['pdalexecutepipeline_19',['PDALExecutePipeline',['../pdalc__pipeline_8h.html#a0ca509b43b9679dbb1e8ebb9c8d71037',1,'pdalc_pipeline.h']]], - ['pdalfinddimtype_20',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], - ['pdalfullversionstring_21',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], - ['pdalgetallpackedpoints_22',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], - ['pdalgetalltriangles_23',['PDALGetAllTriangles',['../pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453',1,'pdalc_pointview.h']]], - ['pdalgetdimpackedoffset_24',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], - ['pdalgetdimsize_25',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], - ['pdalgetdimtype_26',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeidname_27',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationbytecount_28',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationname_29',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistbytecount_30',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistsize_31',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], - ['pdalgetgdaldatapath_32',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], - ['pdalgetinvaliddimtype_33',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], - ['pdalgetmeshsize_34',['PDALGetMeshSize',['../pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b',1,'pdalc_pointview.h']]], - ['pdalgetnextpointview_35',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], - ['pdalgetpackedpoint_36',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], - ['pdalgetpipelineasstring_37',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinelog_38',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineloglevel_39',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinemetadata_40',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineschema_41',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], - ['pdalgetpointlayoutdimtypes_42',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], - ['pdalgetpointsize_43',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], - ['pdalgetpointviewid_44',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], - ['pdalgetpointviewlayout_45',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], - ['pdalgetpointviewproj4_46',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], - ['pdalgetpointviews_47',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], - ['pdalgetpointviewsize_48',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], - ['pdalgetpointviewwkt_49',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], - ['pdalgetproj4datapath_50',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], - ['pdalhasnextpointview_51',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], - ['pdalispointviewempty_52',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], - ['pdalmeshptr_53',['PDALMeshPtr',['../pdalc__forward_8h.html#a8eb80d8bddca362110b60c0fc2c32609',1,'pdalc_forward.h']]], - ['pdalpipelineptr_54',['PDALPipelinePtr',['../pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de',1,'pdalc_forward.h']]], - ['pdalplugininstallpath_55',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], - ['pdalpointid_56',['PDALPointId',['../pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d',1,'pdalc_forward.h']]], - ['pdalpointlayoutptr_57',['PDALPointLayoutPtr',['../pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee',1,'pdalc_forward.h']]], - ['pdalpointviewiteratorptr_58',['PDALPointViewIteratorPtr',['../pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f',1,'pdalc_forward.h']]], - ['pdalpointviewptr_59',['PDALPointViewPtr',['../pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37',1,'pdalc_forward.h']]], - ['pdalresetpointviewiterator_60',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], - ['pdalsetgdaldatapath_61',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], - ['pdalsetpipelineloglevel_62',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], - ['pdalsetproj4datapath_63',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], - ['pdalsha1_64',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], - ['pdalvalidatepipeline_65',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], - ['pdalversioninteger_66',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], - ['pdalversionmajor_67',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], - ['pdalversionminor_68',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], - ['pdalversionpatch_69',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], - ['pdalversionstring_70',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] + ['pdalexecutepipelineasstream_20',['PDALExecutePipelineAsStream',['../pdalc__pipeline_8h.html#a63dd7be5712ffc5b1fb2c0e34c217fe6',1,'pdalc_pipeline.h']]], + ['pdalfinddimtype_21',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], + ['pdalfullversionstring_22',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], + ['pdalgetallpackedpoints_23',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], + ['pdalgetalltriangles_24',['PDALGetAllTriangles',['../pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453',1,'pdalc_pointview.h']]], + ['pdalgetdimpackedoffset_25',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], + ['pdalgetdimsize_26',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], + ['pdalgetdimtype_27',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeidname_28',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationbytecount_29',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationname_30',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistbytecount_31',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistsize_32',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], + ['pdalgetgdaldatapath_33',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], + ['pdalgetinvaliddimtype_34',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], + ['pdalgetmeshsize_35',['PDALGetMeshSize',['../pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b',1,'pdalc_pointview.h']]], + ['pdalgetnextpointview_36',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], + ['pdalgetpackedpoint_37',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], + ['pdalgetpipelineasstring_38',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinelog_39',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineloglevel_40',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinemetadata_41',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineschema_42',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], + ['pdalgetpointlayoutdimtypes_43',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], + ['pdalgetpointsize_44',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], + ['pdalgetpointviewid_45',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], + ['pdalgetpointviewlayout_46',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], + ['pdalgetpointviewproj4_47',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], + ['pdalgetpointviews_48',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], + ['pdalgetpointviewsize_49',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], + ['pdalgetpointviewwkt_50',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], + ['pdalgetproj4datapath_51',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], + ['pdalhasnextpointview_52',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], + ['pdalispointviewempty_53',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], + ['pdalmeshptr_54',['PDALMeshPtr',['../pdalc__forward_8h.html#a8eb80d8bddca362110b60c0fc2c32609',1,'pdalc_forward.h']]], + ['pdalpipelineisstreamable_55',['PDALPipelineIsStreamable',['../pdalc__pipeline_8h.html#afa97b9631f157ff01e703a80c375b52c',1,'pdalc_pipeline.h']]], + ['pdalpipelineptr_56',['PDALPipelinePtr',['../pdalc__forward_8h.html#ab0d791e27bd1d361ba3a43f4751e84de',1,'pdalc_forward.h']]], + ['pdalplugininstallpath_57',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], + ['pdalpointid_58',['PDALPointId',['../pdalc__forward_8h.html#a9ed6aae18801c67e519aa383055c763d',1,'pdalc_forward.h']]], + ['pdalpointlayoutptr_59',['PDALPointLayoutPtr',['../pdalc__forward_8h.html#ac48a709eba8e93afd9300700ee6131ee',1,'pdalc_forward.h']]], + ['pdalpointviewiteratorptr_60',['PDALPointViewIteratorPtr',['../pdalc__forward_8h.html#a7bee17e166fea46b39e6da7567bf1d3f',1,'pdalc_forward.h']]], + ['pdalpointviewptr_61',['PDALPointViewPtr',['../pdalc__forward_8h.html#a5105be19cb6b03c09c6bc55ffee5fd37',1,'pdalc_forward.h']]], + ['pdalresetpointviewiterator_62',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], + ['pdalsetgdaldatapath_63',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], + ['pdalsetpipelineloglevel_64',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], + ['pdalsetproj4datapath_65',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], + ['pdalsha1_66',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], + ['pdalvalidatepipeline_67',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], + ['pdalversioninteger_68',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], + ['pdalversionmajor_69',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], + ['pdalversionminor_70',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], + ['pdalversionpatch_71',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], + ['pdalversionstring_72',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] ]; diff --git a/docs/doxygen/html/search/functions_0.js b/docs/doxygen/html/search/functions_0.js index dcaefa1..5f40796 100644 --- a/docs/doxygen/html/search/functions_0.js +++ b/docs/doxygen/html/search/functions_0.js @@ -8,49 +8,51 @@ var searchData= ['pdaldisposepointview_5',['PDALDisposePointView',['../pdalc__pointview_8h.html#a3e5448e11645779f30328813617ec72d',1,'pdalc_pointview.h']]], ['pdaldisposepointviewiterator_6',['PDALDisposePointViewIterator',['../pdalc__pointviewiterator_8h.html#ae18ac1303f9a6750b63936184ef88a91',1,'pdalc_pointviewiterator.h']]], ['pdalexecutepipeline_7',['PDALExecutePipeline',['../pdalc__pipeline_8h.html#a0ca509b43b9679dbb1e8ebb9c8d71037',1,'pdalc_pipeline.h']]], - ['pdalfinddimtype_8',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], - ['pdalfullversionstring_9',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], - ['pdalgetallpackedpoints_10',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], - ['pdalgetalltriangles_11',['PDALGetAllTriangles',['../pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453',1,'pdalc_pointview.h']]], - ['pdalgetdimpackedoffset_12',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], - ['pdalgetdimsize_13',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], - ['pdalgetdimtype_14',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeidname_15',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationbytecount_16',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypeinterpretationname_17',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistbytecount_18',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], - ['pdalgetdimtypelistsize_19',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], - ['pdalgetgdaldatapath_20',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], - ['pdalgetinvaliddimtype_21',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], - ['pdalgetmeshsize_22',['PDALGetMeshSize',['../pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b',1,'pdalc_pointview.h']]], - ['pdalgetnextpointview_23',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], - ['pdalgetpackedpoint_24',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], - ['pdalgetpipelineasstring_25',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinelog_26',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineloglevel_27',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], - ['pdalgetpipelinemetadata_28',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], - ['pdalgetpipelineschema_29',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], - ['pdalgetpointlayoutdimtypes_30',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], - ['pdalgetpointsize_31',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], - ['pdalgetpointviewid_32',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], - ['pdalgetpointviewlayout_33',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], - ['pdalgetpointviewproj4_34',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], - ['pdalgetpointviews_35',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], - ['pdalgetpointviewsize_36',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], - ['pdalgetpointviewwkt_37',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], - ['pdalgetproj4datapath_38',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], - ['pdalhasnextpointview_39',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], - ['pdalispointviewempty_40',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], - ['pdalplugininstallpath_41',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], - ['pdalresetpointviewiterator_42',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], - ['pdalsetgdaldatapath_43',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], - ['pdalsetpipelineloglevel_44',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], - ['pdalsetproj4datapath_45',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], - ['pdalsha1_46',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], - ['pdalvalidatepipeline_47',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], - ['pdalversioninteger_48',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], - ['pdalversionmajor_49',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], - ['pdalversionminor_50',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], - ['pdalversionpatch_51',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], - ['pdalversionstring_52',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] + ['pdalexecutepipelineasstream_8',['PDALExecutePipelineAsStream',['../pdalc__pipeline_8h.html#a63dd7be5712ffc5b1fb2c0e34c217fe6',1,'pdalc_pipeline.h']]], + ['pdalfinddimtype_9',['PDALFindDimType',['../pdalc__pointlayout_8h.html#a8dcc3dc10fe3c725ca47fb969bb14b3c',1,'pdalc_pointlayout.h']]], + ['pdalfullversionstring_10',['PDALFullVersionString',['../pdalc__config_8h.html#aecba204f8d96bd5a39130e5de6ff79ad',1,'pdalc_config.h']]], + ['pdalgetallpackedpoints_11',['PDALGetAllPackedPoints',['../pdalc__pointview_8h.html#abdb4b70973413a4d4e934cd4c950f822',1,'pdalc_pointview.h']]], + ['pdalgetalltriangles_12',['PDALGetAllTriangles',['../pdalc__pointview_8h.html#a6e97eb9872e3c980152d40e2d5404453',1,'pdalc_pointview.h']]], + ['pdalgetdimpackedoffset_13',['PDALGetDimPackedOffset',['../pdalc__pointlayout_8h.html#a987f9d6a3b0226d5ed524db819b5ae44',1,'pdalc_pointlayout.h']]], + ['pdalgetdimsize_14',['PDALGetDimSize',['../pdalc__pointlayout_8h.html#a1b7031fa6a69e5457eb49848ed6ff405',1,'pdalc_pointlayout.h']]], + ['pdalgetdimtype_15',['PDALGetDimType',['../pdalc__dimtype_8h.html#a6d627f6c2ed3f2cc369de16acdafc4e6',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeidname_16',['PDALGetDimTypeIdName',['../pdalc__dimtype_8h.html#a69fa7df75cbb31765948fca455d9ff4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationbytecount_17',['PDALGetDimTypeInterpretationByteCount',['../pdalc__dimtype_8h.html#ae8e268c77fb295ebfbf3e340582732aa',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypeinterpretationname_18',['PDALGetDimTypeInterpretationName',['../pdalc__dimtype_8h.html#aa53e9455f852e1299de65bb37c09ef4d',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistbytecount_19',['PDALGetDimTypeListByteCount',['../pdalc__dimtype_8h.html#a52d9ebeb733547886c48c2697beb8a0c',1,'pdalc_dimtype.h']]], + ['pdalgetdimtypelistsize_20',['PDALGetDimTypeListSize',['../pdalc__dimtype_8h.html#afcecc558435e7d92335b3e29ad72303b',1,'pdalc_dimtype.h']]], + ['pdalgetgdaldatapath_21',['PDALGetGdalDataPath',['../pdalc__config_8h.html#a2fed3ae914278284473e4959080c85fe',1,'pdalc_config.h']]], + ['pdalgetinvaliddimtype_22',['PDALGetInvalidDimType',['../pdalc__dimtype_8h.html#a1ad01fffaabdce33ef6ab1858323cbfa',1,'pdalc_dimtype.h']]], + ['pdalgetmeshsize_23',['PDALGetMeshSize',['../pdalc__pointview_8h.html#a67c4d1cf5eee41a5a8c26bb995143d6b',1,'pdalc_pointview.h']]], + ['pdalgetnextpointview_24',['PDALGetNextPointView',['../pdalc__pointviewiterator_8h.html#aeacda148029156261da567860a9578a5',1,'pdalc_pointviewiterator.h']]], + ['pdalgetpackedpoint_25',['PDALGetPackedPoint',['../pdalc__pointview_8h.html#a910e0ab9a3306495283d3c0d47676abb',1,'pdalc_pointview.h']]], + ['pdalgetpipelineasstring_26',['PDALGetPipelineAsString',['../pdalc__pipeline_8h.html#ab4090a160b7b31297eb9878a99b98024',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinelog_27',['PDALGetPipelineLog',['../pdalc__pipeline_8h.html#ab6edc0e5752634673987c42fbe543de9',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineloglevel_28',['PDALGetPipelineLogLevel',['../pdalc__pipeline_8h.html#a8469de94ad6e2eb5306218af4505c420',1,'pdalc_pipeline.h']]], + ['pdalgetpipelinemetadata_29',['PDALGetPipelineMetadata',['../pdalc__pipeline_8h.html#ae15df243dba6b2a93b4f58ed585a66dc',1,'pdalc_pipeline.h']]], + ['pdalgetpipelineschema_30',['PDALGetPipelineSchema',['../pdalc__pipeline_8h.html#a935d77076efe7717b1aa52cdbce421ff',1,'pdalc_pipeline.h']]], + ['pdalgetpointlayoutdimtypes_31',['PDALGetPointLayoutDimTypes',['../pdalc__pointlayout_8h.html#a4e2f973f8f19ceea334b8b68ec16331c',1,'pdalc_pointlayout.h']]], + ['pdalgetpointsize_32',['PDALGetPointSize',['../pdalc__pointlayout_8h.html#a81088d0f1f146a3590a59936aa0218a7',1,'pdalc_pointlayout.h']]], + ['pdalgetpointviewid_33',['PDALGetPointViewId',['../pdalc__pointview_8h.html#a2e2fc0e91ecb10d8936d7eb9f1526ad8',1,'pdalc_pointview.h']]], + ['pdalgetpointviewlayout_34',['PDALGetPointViewLayout',['../pdalc__pointview_8h.html#ae67c69d58fd3943ff5ec4e236c1c70d2',1,'pdalc_pointview.h']]], + ['pdalgetpointviewproj4_35',['PDALGetPointViewProj4',['../pdalc__pointview_8h.html#ad91ec0f6e7bcd87aa77deb0db8901425',1,'pdalc_pointview.h']]], + ['pdalgetpointviews_36',['PDALGetPointViews',['../pdalc__pipeline_8h.html#aef03553c2b9d253c001f7f4ce4a0630c',1,'pdalc_pipeline.h']]], + ['pdalgetpointviewsize_37',['PDALGetPointViewSize',['../pdalc__pointview_8h.html#adac0b63f9beab92e7ed9e84e9dc08268',1,'pdalc_pointview.h']]], + ['pdalgetpointviewwkt_38',['PDALGetPointViewWkt',['../pdalc__pointview_8h.html#ac8810ff2334ff244d5db7fb2e1d5416b',1,'pdalc_pointview.h']]], + ['pdalgetproj4datapath_39',['PDALGetProj4DataPath',['../pdalc__config_8h.html#a6197854f130eaa7c7e97d62e98d172a8',1,'pdalc_config.h']]], + ['pdalhasnextpointview_40',['PDALHasNextPointView',['../pdalc__pointviewiterator_8h.html#a0dd9291444e97a1c62fbcdb86274ee72',1,'pdalc_pointviewiterator.h']]], + ['pdalispointviewempty_41',['PDALIsPointViewEmpty',['../pdalc__pointview_8h.html#a7f223f1d553de3ca318294057a597ff8',1,'pdalc_pointview.h']]], + ['pdalpipelineisstreamable_42',['PDALPipelineIsStreamable',['../pdalc__pipeline_8h.html#afa97b9631f157ff01e703a80c375b52c',1,'pdalc_pipeline.h']]], + ['pdalplugininstallpath_43',['PDALPluginInstallPath',['../pdalc__config_8h.html#a4d9ce5516272b24778f59eb0c805f71d',1,'pdalc_config.h']]], + ['pdalresetpointviewiterator_44',['PDALResetPointViewIterator',['../pdalc__pointviewiterator_8h.html#a038be4f6bbf143b884399b596114b634',1,'pdalc_pointviewiterator.h']]], + ['pdalsetgdaldatapath_45',['PDALSetGdalDataPath',['../pdalc__config_8h.html#ada5a8f3949f873e4858ac29f78b70c5f',1,'pdalc_config.h']]], + ['pdalsetpipelineloglevel_46',['PDALSetPipelineLogLevel',['../pdalc__pipeline_8h.html#a6b0b0d442877fb3852cbf820ccdd16e1',1,'pdalc_pipeline.h']]], + ['pdalsetproj4datapath_47',['PDALSetProj4DataPath',['../pdalc__config_8h.html#a934441f3a0296652ebe21f8866d205f1',1,'pdalc_config.h']]], + ['pdalsha1_48',['PDALSha1',['../pdalc__config_8h.html#af0791f855d0340acb8deec17e1da7d67',1,'pdalc_config.h']]], + ['pdalvalidatepipeline_49',['PDALValidatePipeline',['../pdalc__pipeline_8h.html#aa840de84c11f75ea6498d9cccf8e5fcf',1,'pdalc_pipeline.h']]], + ['pdalversioninteger_50',['PDALVersionInteger',['../pdalc__config_8h.html#aa5c109565ee7565bb394acdd081a4969',1,'pdalc_config.h']]], + ['pdalversionmajor_51',['PDALVersionMajor',['../pdalc__config_8h.html#a11bb64631ad2a71120eb5f203d0f1a90',1,'pdalc_config.h']]], + ['pdalversionminor_52',['PDALVersionMinor',['../pdalc__config_8h.html#a0a952a3a279fcc4528bb87f64a6f7193',1,'pdalc_config.h']]], + ['pdalversionpatch_53',['PDALVersionPatch',['../pdalc__config_8h.html#a3cc0c27e481d79d0b902b46703e95fb6',1,'pdalc_config.h']]], + ['pdalversionstring_54',['PDALVersionString',['../pdalc__config_8h.html#ae666065323512305cee01120153f7d5a',1,'pdalc_config.h']]] ]; diff --git a/docs/doxygen/html/search/search.css b/docs/doxygen/html/search/search.css index 648a792..19f76f9 100644 --- a/docs/doxygen/html/search/search.css +++ b/docs/doxygen/html/search/search.css @@ -1,10 +1,33 @@ -/*---------------- Search Box */ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
                                          • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} #MSearchBox { + display: inline-block; white-space : nowrap; - background: white; + background: var(--search-background-color); border-radius: 0.65em; - box-shadow: inset 0.5px 0.5px 3px 0px #555; + box-shadow: var(--search-box-shadow); z-index: 102; } @@ -17,11 +40,24 @@ #MSearchSelect { display: inline-block; vertical-align: middle; + width: 20px; height: 19px; - padding: 0 0 0 0.3em; - margin: 0; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; } +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + #MSearchField { display: inline-block; vertical-align: middle; @@ -31,9 +67,9 @@ padding: 0; line-height: 1em; border:none; - color: #909090; + color: var(--search-foreground-color); outline: none; - font-family: Arial, Verdana, sans-serif; + font-family: var(--font-family-search); -webkit-border-radius: 0px; border-radius: 0px; background: none; @@ -65,23 +101,15 @@ } #MSearchCloseImg { - height: 1.4em; padding: 0.3em; margin: 0; } .MSearchBoxActive #MSearchField { - color: #000000; + color: var(--search-active-color); } -#main-menu > li:last-child { - /* This
                                          • object is the parent of the search bar */ - display: flex; - justify-content: center; - align-items: center; - height: 36px; - margin-right: 1em; -} + /*---------------- Search filter selection */ @@ -89,8 +117,8 @@ display: none; position: absolute; left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); z-index: 10001; padding-top: 4px; padding-bottom: 4px; @@ -103,7 +131,7 @@ } .SelectItem { - font: 8pt Arial, Verdana, sans-serif; + font: 8pt var(--font-family-search); padding-left: 2px; padding-right: 12px; border: 0px; @@ -111,7 +139,7 @@ span.SelectionMark { margin-right: 4px; - font-family: monospace; + font-family: var(--font-family-monospace); outline-style: none; text-decoration: none; } @@ -119,7 +147,7 @@ span.SelectionMark { a.SelectItem { display: block; outline-style: none; - color: #000000; + color: var(--search-filter-foreground-color); text-decoration: none; padding-left: 6px; padding-right: 12px; @@ -127,14 +155,14 @@ a.SelectItem { a.SelectItem:focus, a.SelectItem:active { - color: #000000; + color: var(--search-filter-foreground-color); outline-style: none; text-decoration: none; } a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); outline-style: none; text-decoration: none; cursor: pointer; @@ -152,9 +180,12 @@ iframe#MSearchResults { display: none; position: absolute; left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); z-index:10000; + width: 300px; + height: 400px; + overflow: auto; } /* ----------------------------------- */ @@ -162,7 +193,6 @@ iframe#MSearchResults { #SRIndex { clear:both; - padding-bottom: 15px; } .SREntry { @@ -175,8 +205,9 @@ iframe#MSearchResults { padding: 1px 5px; } -body.SRPage { +div.SRPage { margin: 5px 2px; + background-color: var(--search-results-background-color); } .SRChildren { @@ -188,17 +219,18 @@ body.SRPage { } .SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); text-decoration: none; outline: none; } a.SRScope { display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; text-decoration: none; outline: none; } @@ -210,14 +242,14 @@ a.SRScope:focus, a.SRScope:active { span.SRScope { padding-left: 4px; - font-family: Arial, Verdana, sans-serif; + font-family: var(--font-family-search); } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; - font-family: Arial, Verdana, sans-serif; + font-family: var(--font-family-search); } .SRResult { @@ -231,14 +263,10 @@ div.searchresults { /*---------------- External search page results */ -.searchresult { - background-color: #F0F3F8; -} - .pages b { color: white; padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); + background-image: var(--nav-gradient-active-image-parent); background-repeat: repeat-x; text-shadow: 0 1px 1px #000000; } diff --git a/docs/doxygen/html/search/search.js b/docs/doxygen/html/search/search.js index ac8055d..e103a26 100644 --- a/docs/doxygen/html/search/search.js +++ b/docs/doxygen/html/search/search.js @@ -73,6 +73,8 @@ function getYPos(item) return y; } +var searchResults = new SearchResults("searchResults"); + /* A class handling everything associated with the search panel. Parameters: @@ -80,7 +82,7 @@ function getYPos(item) storing this instance. Is needed to be able to set timeouts. resultPath - path to use for external files */ -function SearchBox(name, resultsPath, label, extension) +function SearchBox(name, resultsPath, extension) { if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } if (!extension || extension == "") { extension = ".html"; } @@ -96,7 +98,6 @@ function SearchBox(name, resultsPath, label, extension) this.hideTimeout = 0; this.searchIndex = 0; this.searchActive = false; - this.searchLabel = label; this.extension = extension; // ----------- DOM Elements @@ -188,7 +189,8 @@ function SearchBox(name, resultsPath, label, extension) } else { - window.frames.MSearchResults.postMessage("take_focus", "*"); + var elem = searchResults.NavNext(0); + if (elem) elem.focus(); } } else if (e.keyCode==27) // Escape out of the search field @@ -324,48 +326,66 @@ function SearchBox(name, resultsPath, label, extension) idxChar = searchValue.substr(0, 2); } - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; + var jsFile; var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); if (idx!=-1) { var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches' + this.extension; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; + + var loadJS = function(url, impl, loc){ + var scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); } - window.frames.MSearchResults.location = resultsPageWithSearch; var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + var domSearchBox = this.DOMSearchBox(); + var domPopupSearchResults = this.DOMPopupSearchResults(); + var domSearchClose = this.DOMSearchClose(); + var resultsPath = this.resultsPath; + + var handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + searchResults.Search(searchValue); - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline-block'; - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - var maxWidth = document.body.clientWidth; - var width = 400; - if (left<10) left=10; - if (width+left+8>maxWidth) width=maxWidth-left-8; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - domPopupSearchResultsWindow.style.width = width + 'px'; + if (domPopupSearchResultsWindow.style.display!='block') + { + domSearchClose.style.display = 'inline-block'; + var left = getXPos(domSearchBox) + 150; + var top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + var maxWidth = document.body.clientWidth; + var maxHeight = document.body.clientHeight; + var width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + var height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); } this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; } // -------- Activation Functions @@ -379,22 +399,15 @@ function SearchBox(name, resultsPath, label, extension) ) { this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } + this.searchActive = true; } else if (!isActive) // directly remove the panel { this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; this.searchActive = false; this.lastSearchValue = '' this.lastResultsPage = ''; + this.DOMSearchField().value = ''; } } } @@ -623,7 +636,7 @@ function SearchResults(name) } else // return focus to search field { - parent.document.getElementById("MSearchField").focus(); + document.getElementById("MSearchField").focus(); } } else if (this.lastKey==40) // Down @@ -653,8 +666,8 @@ function SearchResults(name) } else if (this.lastKey==27) // Escape { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); } else if (this.lastKey==13) // Enter { @@ -696,8 +709,8 @@ function SearchResults(name) } else if (this.lastKey==27) // Escape { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); } else if (this.lastKey==13) // Enter { @@ -720,9 +733,10 @@ function setClassAttr(elem,attr) elem.setAttribute('className',attr); } -function createResults() +function createResults(resultsPath) { var results = document.getElementById("SRResults"); + results.innerHTML = ''; for (var e=0; e - + - + pdal-c: PDALDimType Struct Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.1.1 +
                                            pdal-c v2.2.0
                                            C API for PDAL
                                            @@ -34,10 +34,10 @@
                                            - + @@ -77,9 +77,16 @@
                                            - +
                                            +
                                            +
                                            +
                                            +
                                            Loading...
                                            +
                                            Searching...
                                            +
                                            No Matches
                                            +
                                            +
                                            +
                                            @@ -97,23 +104,23 @@

                                            Data Fields

                                            uint32_t id - The dimension's identifier. More...
                                            + The dimension's identifier.
                                              uint32_t type - The dimension's interpretation type. More...
                                            + The dimension's interpretation type.
                                              double scale - The dimension's scaling factor. More...
                                            + The dimension's scaling factor.
                                              double offset - The dimension's offset value. More...
                                            + The dimension's offset value.
                                             

                                            Detailed Description

                                            -

                                            A dimension type.

                                            +

                                            A dimension type.

                                            Field Documentation

                                            -

                                            ◆ id

                                            +

                                            ◆ id

                                            @@ -129,7 +136,7 @@

                                            -

                                            ◆ offset

                                            +

                                            ◆ offset

                                            @@ -145,7 +152,7 @@

                                            -

                                            ◆ scale

                                            +

                                            ◆ scale

                                            @@ -161,7 +168,7 @@

                                            -

                                            ◆ type

                                            +

                                            ◆ type

                                            @@ -182,7 +189,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/tabs.css b/docs/doxygen/html/tabs.css index 00d1c60..71c8a47 100644 --- a/docs/doxygen/html/tabs.css +++ b/docs/doxygen/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file From d855a806712a0908e7d558324bbb313fb2f718e7 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 6 Nov 2023 14:22:17 +0000 Subject: [PATCH 69/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 8 +- docs/doxygen/html/annotated.html | 8 +- docs/doxygen/html/classes.html | 8 +- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 26 +++---- docs/doxygen/html/doxygen.css | 68 ++++++++++++---- docs/doxygen/html/doxygen.svg | 4 +- docs/doxygen/html/dynsections.js | 69 +++++++++++++++++ docs/doxygen/html/files.html | 8 +- docs/doxygen/html/functions.html | 8 +- docs/doxygen/html/functions_vars.html | 10 +-- docs/doxygen/html/globals.html | 8 +- docs/doxygen/html/globals_func.html | 10 +-- docs/doxygen/html/globals_type.html | 10 +-- docs/doxygen/html/index.html | 13 ++-- docs/doxygen/html/navtree.css | 1 - docs/doxygen/html/navtree.js | 28 ++++--- docs/doxygen/html/pdalc_8h.html | 8 +- docs/doxygen/html/pdalc_8h_source.html | 13 +++- docs/doxygen/html/pdalc__config_8h.html | 34 ++++---- .../doxygen/html/pdalc__config_8h_source.html | 13 +++- docs/doxygen/html/pdalc__defines_8h.html | 8 +- .../html/pdalc__defines_8h_source.html | 19 +++-- docs/doxygen/html/pdalc__dimtype_8h.html | 24 +++--- .../html/pdalc__dimtype_8h_source.html | 17 ++-- docs/doxygen/html/pdalc__forward_8h.html | 22 +++--- .../html/pdalc__forward_8h_source.html | 39 ++++++---- docs/doxygen/html/pdalc__pipeline_8h.html | 34 ++++---- .../html/pdalc__pipeline_8h_source.html | 17 ++-- docs/doxygen/html/pdalc__pointlayout_8h.html | 18 ++--- .../html/pdalc__pointlayout_8h_source.html | 19 +++-- docs/doxygen/html/pdalc__pointview_8h.html | 32 ++++---- .../html/pdalc__pointview_8h_source.html | 21 +++-- .../html/pdalc__pointviewiterator_8h.html | 16 ++-- .../pdalc__pointviewiterator_8h_source.html | 17 ++-- docs/doxygen/html/search/all_0.js | 3 +- docs/doxygen/html/search/all_1.js | 4 +- docs/doxygen/html/search/all_2.js | 77 +------------------ docs/doxygen/html/search/all_3.js | 4 +- docs/doxygen/html/search/all_4.js | 2 +- docs/doxygen/html/search/all_5.js | 2 +- docs/doxygen/html/search/close.svg | 19 +---- docs/doxygen/html/search/mag_sel.svg | 53 ++----------- docs/doxygen/html/search/pages_0.js | 2 +- docs/doxygen/html/search/search.js | 30 +++++++- docs/doxygen/html/search/searchdata.js | 4 +- .../doxygen/html/struct_p_d_a_l_dim_type.html | 16 ++-- 46 files changed, 472 insertions(+), 402 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index dafa445..91f7216 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -3,7 +3,7 @@ - + pdal-c: /github/workspace/README.md File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.2.0 +
                                            pdal-c 2.2.1
                                            C API for PDAL
                                            @@ -34,7 +34,7 @@
                                            - + +
                                            diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index 00e8339..e571caa 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.2.0 +
                                            pdal-c 2.2.1
                                            C API for PDAL
                                            @@ -34,7 +34,7 @@
                                            - + +
                                            diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index 20e7183..83815c6 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.2.0 +
                                            pdal-c 2.2.1
                                            C API for PDAL
                                            @@ -34,7 +34,7 @@
                                            - + +

                                            diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 7a721ce..99f5187 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h File Reference @@ -25,7 +25,7 @@ -
                                            pdal-c v2.2.0 +
                                            pdal-c 2.2.1
                                            C API for PDAL
                                            @@ -34,7 +34,7 @@
                                            - + +
                                            @@ -99,7 +101,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index bac058a..47232a0 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -3,16 +3,18 @@ - + pdal-c: Data Structures + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,7 +105,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 7efef97..54fe626 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -3,16 +3,18 @@ - + pdal-c: Data Structure Index + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -104,7 +106,7 @@ diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index a489ac2..a49942b 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -3,16 +3,18 @@ - + pdal-c: pdal Directory Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -128,7 +130,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index 009a9b5..7b7d851 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.9.8*/ +/* The standard CSS for doxygen 1.10.0*/ html { /* page base colors */ @@ -145,6 +145,7 @@ html { --fragment-lineno-link-bg-color: #D8D8D8; --fragment-lineno-link-hover-fg-color: #4665A2; --fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; --tooltip-foreground-color: black; --tooltip-background-color: white; --tooltip-border-color: gray; @@ -168,6 +169,28 @@ html { --font-family-icon: Arial,Helvetica; --font-family-tooltip: Roboto,sans-serif; +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; } @media (prefers-color-scheme: dark) { @@ -309,7 +332,7 @@ html { --code-link-color: #79C0FF; --code-external-link-color: #79C0FF; --fragment-foreground-color: #C9D1D9; ---fragment-background-color: black; +--fragment-background-color: #090D16; --fragment-border-color: #30363D; --fragment-lineno-border-color: #30363D; --fragment-lineno-background-color: black; @@ -318,6 +341,7 @@ html { --fragment-lineno-link-bg-color: #303030; --fragment-lineno-link-hover-fg-color: #8E96A1; --fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; --tooltip-foreground-color: #C9D1D9; --tooltip-background-color: #202020; --tooltip-border-color: #C9D1D9; @@ -341,6 +365,28 @@ html { --font-family-icon: Arial,Helvetica; --font-family-tooltip: Roboto,sans-serif; +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; }} body { background-color: var(--page-background-color); @@ -357,8 +403,6 @@ body, table, div, p, dl { /* @group Heading Levels */ .title { - font-weight: 400; - font-size: 14px; font-family: var(--font-family-normal); line-height: 28px; font-size: 150%; @@ -556,7 +600,13 @@ a { } a:hover { - text-decoration: underline; + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); +} + +a:hover > span.arrow { + text-decoration: none; + background : var(--nav-background-color); } a.el { @@ -632,30 +682,63 @@ ul.multicol { .fragment { text-align: left; direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-x: auto; overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); } pre.fragment { - border: 1px solid var(--fragment-border-color); - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); - padding: 4px 6px; - margin: 4px 8px 4px 2px; + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: var(--font-family-monospace); - font-size: 105%; + fill: var(--fragment-foreground-color); + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); } -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - color: var(--fragment-foreground-color); - background-color: var(--fragment-background-color); - border: 1px solid var(--fragment-border-color); +.clipboard.success { + border-color: var(--fragment-copy-ok-color); } div.line { @@ -778,10 +861,6 @@ img.light-mode-visible { display: none; } -img.formulaDsp { - -} - img.formulaInl, img.inline { vertical-align: middle; } @@ -1081,17 +1160,25 @@ dl.reflist dd { .paramtype { white-space: nowrap; + padding: 0px; + padding-bottom: 1px; } .paramname { - color: var(--memdef-param-name-color); white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } + .paramname em { + color: var(--memdef-param-name-color); font-style: normal; + margin-right: 1px; } -.paramname code { - line-height: 14px; + +.paramname .paramdefval { + font-family: var(--font-family-monospace); } .params, .retval, .exception, .tparams { @@ -1425,7 +1512,6 @@ table.fieldtable { { height:32px; display:block; - text-decoration: none; outline: none; color: var(--nav-text-normal-color); font-family: var(--font-family-nav); @@ -1514,7 +1600,8 @@ dl { padding: 0 0 0 0; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +/* + dl.section { margin-left: 0px; padding-left: 0px; @@ -1569,8 +1656,101 @@ dl.bug { border-color: #C08050; } +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + dl.section dd { - margin-bottom: 6px; + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); } @@ -1585,12 +1765,12 @@ dl.section dd { vertical-align: bottom; border-collapse: separate; } - + #projectlogo img -{ +{ border: 0px none; } - + #projectalign { vertical-align: middle; diff --git a/docs/doxygen/html/dynsections.js b/docs/doxygen/html/dynsections.js index b73c828..8f49326 100644 --- a/docs/doxygen/html/dynsections.js +++ b/docs/doxygen/html/dynsections.js @@ -22,171 +22,173 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); - $('table.directory tr'). - removeClass('odd').filter(':visible:odd').addClass('odd'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l'); - // add vertical lines to other rows - $('span[class=lineno]').not(':eq(0)').append(''); - // add toggle controls to lines with fold divs - $('div[class=foldopen]').each(function() { - // extract specific id to use - var id = $(this).attr('id').replace('foldopen',''); - // extract start and end foldable fragment attributes - var start = $(this).attr('data-start'); - var end = $(this).attr('data-end'); - // replace normal fold span with controls for the first line of a foldable fragment - $(this).find('span[class=fold]:first').replaceWith(''); - // append div for folded (closed) representation - $(this).after(''); - // extract the first line from the "open" section to represent closed content - var line = $(this).children().first().clone(); - // remove any glow that might still be active on the original line - $(line).removeClass('glow'); - if (start) { - // if line already ends with a start marker (e.g. trailing {), remove it - $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + this.updateStripes(); + }, + + toggleFolder : function(id) { + // the clicked row + const currentRow = $('#row_'+id); + + // all rows after the clicked row + const rows = currentRow.nextAll("tr"); + + const re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub + + // only match elements AFTER this one (can't hide elements before) + const childRows = rows.filter(function() { return this.id.match(re); }); + + // first row is visible we are HIDING + if (childRows.filter(':first').is(':visible')===true) { + // replace down arrow by right arrow for current row + const currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + currentRowSpans.filter(".arrow").html('►'); + rows.filter("[id^=row_"+id+"]").hide(); // hide all children + } else { // we are SHOWING + // replace right arrow by down arrow for current row + const currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen"); + currentRowSpans.filter(".arrow").html('▼'); + // replace down arrows by right arrows for child rows + const childRowsSpans = childRows.find("span"); + childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + childRowsSpans.filter(".arrow").html('►'); + childRows.show(); //show all children } - // replace minus with plus symbol - $(line).find('span[class=fold]').css('background-image',plusImg[relPath]); - // append ellipsis - $(line).append(' '+start+''+end); - // insert constructed line into closed div - $('#foldclosed'+id).html(line); - }); -} - + this.updateStripes(); + }, + + toggleInherit : function(id) { + const rows = $('tr.inherit.'+id); + const img = $('tr.inherit_header.'+id+' img'); + const src = $(img).attr('src'); + if (rows.filter(':first').is(':visible')===true) { + rows.css('display','none'); + $(img).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + rows.css('display','table-row'); // using show() causes jump in firefox + $(img).attr('src',src.substring(0,src.length-10)+'open.png'); + } + }, +}; + +let codefold = { + opened : true, + + // in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes + plusImg: [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ], + minusImg: [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ], + + // toggle all folding blocks + toggle_all : function(relPath) { + if (this.opened) { + $('#fold_all').css('background-image',this.plusImg[relPath]); + $('div[id^=foldopen]').hide(); + $('div[id^=foldclosed]').show(); + } else { + $('#fold_all').css('background-image',this.minusImg[relPath]); + $('div[id^=foldopen]').show(); + $('div[id^=foldclosed]').hide(); + } + this.opened=!this.opened; + }, + + // toggle single folding block + toggle : function(id) { + $('#foldopen'+id).toggle(); + $('#foldclosed'+id).toggle(); + }, + + init : function(relPath) { + $('span[class=lineno]').css({ + 'padding-right':'4px', + 'margin-right':'2px', + 'display':'inline-block', + 'width':'54px', + 'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%' + }); + // add global toggle to first line + $('span[class=lineno]:first').append(''); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; /* @license-end */ diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 192a232..57f7cbd 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -3,16 +3,18 @@ - + pdal-c: File List + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -94,8 +96,8 @@
                                            Here is a list of all files with brief descriptions:
                                            -
                                            [detail level 12]
                                            - +
                                            [detail level 12]
                                              pdal
                                            + @@ -112,7 +114,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index 5d6c5a4..a875482 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -3,16 +3,18 @@ - +pdal-c: Data Fields + + @@ -25,7 +27,7 @@ @@ -34,7 +36,7 @@
                                              pdal
                                             pdalc.h
                                             pdalc_config.hFunctions to retrieve PDAL version and configuration information
                                             pdalc_defines.h
                                            -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            - + @@ -64,7 +66,7 @@
                                            @@ -101,7 +103,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index f9cf4f6..1049d29 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -3,16 +3,18 @@ - + pdal-c: Data Fields - Variables + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -101,7 +103,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index 39d2764..1571046 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -3,16 +3,18 @@ - + pdal-c: Globals + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -161,7 +163,7 @@

                                            - p -

                                              diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index 3db3c37..fc8569e 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -3,16 +3,18 @@ - + pdal-c: Globals + + @@ -25,7 +27,7 @@ -
                                              pdal-c 2.2.1 +
                                              pdal-c v2.2.2
                                              C API for PDAL
                                              @@ -34,7 +36,7 @@
                                              - + @@ -64,7 +66,7 @@
                                            @@ -154,7 +156,7 @@

                                            - p -

                                              diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 4b12bd8..3ba5f50 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -3,16 +3,18 @@ - + pdal-c: Globals + + @@ -25,7 +27,7 @@ -
                                              pdal-c 2.2.1 +
                                              pdal-c v2.2.2
                                              C API for PDAL
                                              @@ -34,7 +36,7 @@
                                              - + @@ -64,7 +66,7 @@
                                            @@ -104,7 +106,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index 6e29c06..4b84fa9 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -3,16 +3,18 @@ - + pdal-c: pdal-c: PDAL C API + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -193,7 +195,8 @@

                                            cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCONDA_BUILD=OFF .
                                            make
                                            make install
                                            -

                                            +

                                            Setting -DBUILD_SHARED_LIBS=OFF enables the generation of a static (.a) library.

                                            +

                                            Code Style

                                            This project enforces the PDAL code styles, which can checked as follows :

                                              @@ -201,12 +204,13 @@

                                            • On Linux by running ./check_all.bash

                                            +

                                            diff --git a/docs/doxygen/html/menu.js b/docs/doxygen/html/menu.js index b0b2693..717761d 100644 --- a/docs/doxygen/html/menu.js +++ b/docs/doxygen/html/menu.js @@ -24,13 +24,12 @@ */ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { function makeTree(data,relPath) { - var result=''; + let result=''; if ('children' in data) { result+='
                                              '; - for (var i in data.children) { - var url; - var link; - link = data.children[i].url; + for (let i in data.children) { + let url; + const link = data.children[i].url; if (link.substring(0,1)=='^') { url = link.substring(1); } else { @@ -44,7 +43,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { } return result; } - var searchBoxHtml; + let searchBoxHtml; if (searchEnabled) { if (serverSide) { searchBoxHtml='
                                              '+ @@ -88,29 +87,28 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { if (searchBoxHtml) { $('#main-menu').append('
                                            • '); } - var $mainMenuState = $('#main-menu-state'); - var prevWidth = 0; + const $mainMenuState = $('#main-menu-state'); + let prevWidth = 0; if ($mainMenuState.length) { - function initResizableIfExists() { + const initResizableIfExists = function() { if (typeof initResizable==='function') initResizable(); } // animate mobile menu - $mainMenuState.change(function(e) { - var $menu = $('#main-menu'); - var options = { duration: 250, step: initResizableIfExists }; + $mainMenuState.change(function() { + const $menu = $('#main-menu'); + let options = { duration: 250, step: initResizableIfExists }; if (this.checked) { - options['complete'] = function() { $menu.css('display', 'block') }; + options['complete'] = () => $menu.css('display', 'block'); $menu.hide().slideDown(options); } else { - options['complete'] = function() { $menu.css('display', 'none') }; + options['complete'] = () => $menu.css('display', 'none'); $menu.show().slideUp(options); } }); // set default menu visibility - function resetState() { - var $menu = $('#main-menu'); - var $mainMenuState = $('#main-menu-state'); - var newWidth = $(window).outerWidth(); + const resetState = function() { + const $menu = $('#main-menu'); + const newWidth = $(window).outerWidth(); if (newWidth!=prevWidth) { if ($(window).outerWidth()<768) { $mainMenuState.prop('checked',false); $menu.hide(); diff --git a/docs/doxygen/html/navtree.js b/docs/doxygen/html/navtree.js index 93dd3d4..884b79b 100644 --- a/docs/doxygen/html/navtree.js +++ b/docs/doxygen/html/navtree.js @@ -22,538 +22,461 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -var navTreeSubIndices = new Array(); -var arrowDown = '▼'; -var arrowRight = '►'; - -function getData(varName) -{ - var i = varName.lastIndexOf('/'); - var n = i>=0 ? varName.substring(i+1) : varName; - return eval(n.replace(/\-/g,'_')); -} -function stripPath(uri) -{ - return uri.substring(uri.lastIndexOf('/')+1); -} +function initNavTree(toroot,relpath) { + let navTreeSubIndices = []; + const ARROW_DOWN = '▼'; + const ARROW_RIGHT = '►'; + const NAVPATH_COOKIE_NAME = ''+'navpath'; -function stripPath2(uri) -{ - var i = uri.lastIndexOf('/'); - var s = uri.substring(i+1); - var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); - return m ? uri.substring(i-6) : s; -} + const getData = function(varName) { + const i = varName.lastIndexOf('/'); + const n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/-/g,'_')); + } -function hashValue() -{ - return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); -} + const stripPath = function(uri) { + return uri.substring(uri.lastIndexOf('/')+1); + } -function hashUrl() -{ - return '#'+hashValue(); -} + const stripPath2 = function(uri) { + const i = uri.lastIndexOf('/'); + const s = uri.substring(i+1); + const m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; + } -function pathName() -{ - return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); -} + const hashValue = function() { + return $(location).attr('hash').substring(1).replace(/[^\w-]/g,''); + } -function localStorageSupported() -{ - try { - return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + const hashUrl = function() { + return '#'+hashValue(); } - catch(e) { - return false; + + const pathName = function() { + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;()]/g, ''); } -} -function storeLink(link) -{ - if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { - window.localStorage.setItem('navpath',link); + const storeLink = function(link) { + if (!$("#nav-sync").hasClass('sync')) { + Cookie.writeSetting(NAVPATH_COOKIE_NAME,link,0); + } } -} -function deleteLink() -{ - if (localStorageSupported()) { - window.localStorage.setItem('navpath',''); + const deleteLink = function() { + Cookie.eraseSetting(NAVPATH_COOKIE_NAME); } -} -function cachedLink() -{ - if (localStorageSupported()) { - return window.localStorage.getItem('navpath'); - } else { - return ''; + const cachedLink = function() { + return Cookie.readSetting(NAVPATH_COOKIE_NAME,''); } -} -function getScript(scriptName,func) -{ - var head = document.getElementsByTagName("head")[0]; - var script = document.createElement('script'); - script.id = scriptName; - script.type = 'text/javascript'; - script.onload = func; - script.src = scriptName+'.js'; - head.appendChild(script); -} + const getScript = function(scriptName,func) { + const head = document.getElementsByTagName("head")[0]; + const script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); + } -function createIndent(o,domNode,node,level) -{ - var level=-1; - var n = node; - while (n.parentNode) { level++; n=n.parentNode; } - if (node.childrenData) { - var imgNode = document.createElement("span"); - imgNode.className = 'arrow'; - imgNode.style.paddingLeft=(16*level).toString()+'px'; - imgNode.innerHTML=arrowRight; - node.plus_img = imgNode; - node.expandToggle = document.createElement("a"); - node.expandToggle.href = "javascript:void(0)"; - node.expandToggle.onclick = function() { - if (node.expanded) { - $(node.getChildrenUL()).slideUp("fast"); - node.plus_img.innerHTML=arrowRight; - node.expanded = false; - } else { - expandNode(o, node, false, true); + const createIndent = function(o,domNode,node) { + let level=-1; + let n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + const imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=ARROW_RIGHT; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=ARROW_RIGHT; + node.expanded = false; + } else { + expandNode(o, node, false, true); + } } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + let span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); } - node.expandToggle.appendChild(imgNode); - domNode.appendChild(node.expandToggle); - } else { - var span = document.createElement("span"); - span.className = 'arrow'; - span.style.width = 16*(level+1)+'px'; - span.innerHTML = ' '; - domNode.appendChild(span); } -} -var animationInProgress = false; - -function gotoAnchor(anchor,aname,updateLocation) -{ - var pos, docContent = $('#doc-content'); - var ancParent = $(anchor.parent()); - if (ancParent.hasClass('memItemLeft') || - ancParent.hasClass('memtitle') || - ancParent.hasClass('fieldname') || - ancParent.hasClass('fieldtype') || - ancParent.is(':header')) - { - pos = ancParent.position().top; - } else if (anchor.position()) { - pos = anchor.position().top; - } - if (pos) { - var dist = Math.abs(Math.min( - pos-docContent.offset().top, - docContent[0].scrollHeight- - docContent.height()-docContent.scrollTop())); - animationInProgress=true; - docContent.animate({ - scrollTop: pos + docContent.scrollTop() - docContent.offset().top - },Math.max(50,Math.min(500,dist)),function(){ - if (updateLocation) window.location.href=aname; - animationInProgress=false; - }); + let animationInProgress = false; + + const gotoAnchor = function(anchor,aname) { + let pos, docContent = $('#doc-content'); + let ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') || + ancParent.is(':header')) { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + const dcOffset = docContent.offset().top; + const dcHeight = docContent.height(); + const dcScrHeight = docContent[0].scrollHeight + const dcScrTop = docContent.scrollTop(); + let dist = Math.abs(Math.min(pos-dcOffset,dcScrHeight-dcHeight-dcScrTop)); + animationInProgress = true; + docContent.animate({ + scrollTop: pos + dcScrTop - dcOffset + },Math.max(50,Math.min(500,dist)),function() { + window.location.href=aname; + animationInProgress=false; + }); + } } -} -function newNode(o, po, text, link, childrenData, lastNode) -{ - var node = new Object(); - node.children = Array(); - node.childrenData = childrenData; - node.depth = po.depth + 1; - node.relpath = po.relpath; - node.isLast = lastNode; - - node.li = document.createElement("li"); - po.getChildrenUL().appendChild(node.li); - node.parentNode = po; - - node.itemDiv = document.createElement("div"); - node.itemDiv.className = "item"; - - node.labelSpan = document.createElement("span"); - node.labelSpan.className = "label"; - - createIndent(o,node.itemDiv,node,0); - node.itemDiv.appendChild(node.labelSpan); - node.li.appendChild(node.itemDiv); - - var a = document.createElement("a"); - node.labelSpan.appendChild(a); - node.label = document.createTextNode(text); - node.expanded = false; - a.appendChild(node.label); - if (link) { - var url; - if (link.substring(0,1)=='^') { - url = link.substring(1); - link = url; - } else { - url = node.relpath+link; - } - a.className = stripPath(link.replace('#',':')); - if (link.indexOf('#')!=-1) { - var aname = '#'+link.split('#')[1]; - var srcPage = stripPath(pathName()); - var targetPage = stripPath(link.split('#')[0]); - a.href = srcPage!=targetPage ? url : "javascript:void(0)"; - a.onclick = function(){ - storeLink(link); - if (!$(a).parent().parent().hasClass('selected')) - { - $('.item').removeClass('selected'); - $('.item').removeAttr('id'); - $(a).parent().parent().addClass('selected'); - $(a).parent().parent().attr('id','selected'); + const newNode = function(o, po, text, link, childrenData, lastNode) { + const node = { + children : [], + childrenData : childrenData, + depth : po.depth + 1, + relpath : po.relpath, + isLast : lastNode, + li : document.createElement("li"), + parentNode : po, + itemDiv : document.createElement("div"), + labelSpan : document.createElement("span"), + label : document.createTextNode(text), + expanded : false, + childrenUL : null, + getChildrenUL : function() { + if (!this.childrenUL) { + this.childrenUL = document.createElement("ul"); + this.childrenUL.className = "children_ul"; + this.childrenUL.style.display = "none"; + this.li.appendChild(node.childrenUL); } - var anchor = $(aname); - gotoAnchor(anchor,aname,true); - }; - } else { - a.href = url; - a.onclick = function() { storeLink(link); } - } - } else { - if (childrenData != null) - { + return node.childrenUL; + }, + }; + + node.itemDiv.className = "item"; + node.labelSpan.className = "label"; + createIndent(o,node.itemDiv,node); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + const a = document.createElement("a"); + node.labelSpan.appendChild(a); + po.getChildrenUL().appendChild(node.li); + a.appendChild(node.label); + if (link) { + let url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + const aname = '#'+link.split('#')[1]; + const srcPage = stripPath(pathName()); + const targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : aname; + a.onclick = function() { + storeLink(link); + aPPar = $(a).parent().parent(); + if (!aPPar.hasClass('selected')) { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + aPPar.addClass('selected'); + aPPar.attr('id','selected'); + } + const anchor = $(aname); + gotoAnchor(anchor,aname); + }; + } else { + a.href = url; + a.onclick = () => storeLink(link); + } + } else if (childrenData != null) { a.className = "nolink"; a.href = "javascript:void(0)"; a.onclick = node.expandToggle.onclick; } + return node; } - node.childrenUL = null; - node.getChildrenUL = function() { - if (!node.childrenUL) { - node.childrenUL = document.createElement("ul"); - node.childrenUL.className = "children_ul"; - node.childrenUL.style.display = "none"; - node.li.appendChild(node.childrenUL); - } - return node.childrenUL; - }; - - return node; -} - -function showRoot() -{ - var headerHeight = $("#top").height(); - var footerHeight = $("#nav-path").height(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - (function (){ // retry until we can scroll to the selected item - try { - var navtree=$('#nav-tree'); - navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); - } catch (err) { - setTimeout(arguments.callee, 0); - } - })(); -} - -function expandNode(o, node, imm, setFocus) -{ - if (node.childrenData && !node.expanded) { - if (typeof(node.childrenData)==='string') { - var varName = node.childrenData; - getScript(node.relpath+varName,function(){ - node.childrenData = getData(varName); - expandNode(o, node, imm, setFocus); - }); - } else { - if (!node.childrenVisited) { - getNode(o, node); + const showRoot = function() { + const headerHeight = $("#top").height(); + const footerHeight = $("#nav-path").height(); + const windowHeight = $(window).height() - headerHeight - footerHeight; + (function() { // retry until we can scroll to the selected item + try { + const navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); } - $(node.getChildrenUL()).slideDown("fast"); - node.plus_img.innerHTML = arrowDown; - node.expanded = true; - if (setFocus) { - $(node.expandToggle).focus(); + })(); + } + + const expandNode = function(o, node, imm, setFocus) { + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + const varName = node.childrenData; + getScript(node.relpath+varName,function() { + node.childrenData = getData(varName); + expandNode(o, node, imm, setFocus); + }); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = ARROW_DOWN; + node.expanded = true; + if (setFocus) { + $(node.expandToggle).focus(); + } } } } -} - -function glowEffect(n,duration) -{ - n.addClass('glow').delay(duration).queue(function(next){ - $(this).removeClass('glow');next(); - }); -} -function highlightAnchor() -{ - var aname = hashUrl(); - var anchor = $(aname); - if (anchor.parent().attr('class')=='memItemLeft'){ - var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); - glowEffect(rows.children(),300); // member without details - } else if (anchor.parent().attr('class')=='fieldname'){ - glowEffect(anchor.parent().parent(),1000); // enum value - } else if (anchor.parent().attr('class')=='fieldtype'){ - glowEffect(anchor.parent().parent(),1000); // struct field - } else if (anchor.parent().is(":header")) { - glowEffect(anchor.parent(),1000); // section header - } else { - glowEffect(anchor.next(),1000); // normal member + const glowEffect = function(n,duration) { + n.addClass('glow').delay(duration).queue(function(next) { + $(this).removeClass('glow');next(); + }); } -} -function selectAndHighlight(hash,n) -{ - var a; - if (hash) { - var link=stripPath(pathName())+':'+hash.substring(1); - a=$('.item a[class$="'+link+'"]'); - } - if (a && a.length) { - a.parent().parent().addClass('selected'); - a.parent().parent().attr('id','selected'); - highlightAnchor(); - } else if (n) { - $(n.itemDiv).addClass('selected'); - $(n.itemDiv).attr('id','selected'); - } - var topOffset=5; - if (typeof page_layout!=='undefined' && page_layout==1) { - topOffset+=$('#top').outerHeight(); + const highlightAnchor = function() { + const aname = hashUrl(); + const anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft') { + let rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname') { + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype') { + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + gotoAnchor(anchor,aname); } - if ($('#nav-tree-contents .item:first').hasClass('selected')) { - topOffset+=25; + + const selectAndHighlight = function(hash,n) { + let a; + if (hash) { + const link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + let topOffset=5; + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + topOffset+=25; + } + $('#nav-sync').css('top',topOffset+'px'); + showRoot(); } - $('#nav-sync').css('top',topOffset+'px'); - showRoot(); -} -function showNode(o, node, index, hash) -{ - if (node && node.childrenData) { - if (typeof(node.childrenData)==='string') { - var varName = node.childrenData; - getScript(node.relpath+varName,function(){ - node.childrenData = getData(varName); - showNode(o,node,index,hash); - }); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } - $(node.getChildrenUL()).css({'display':'block'}); - node.plus_img.innerHTML = arrowDown; - node.expanded = true; - var n = node.children[o.breadcrumbs[index]]; - if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); - else hash=''; + const getNode = function(o, po) { + const insertFunction = removeToInsertLater(po.li); + po.childrenVisited = true; + const l = po.childrenData.length-1; + for (let i in po.childrenData) { + const nodeData = po.childrenData[i]; + po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l); + } + insertFunction(); } - if (hash.match(/^#l\d+$/)) { - var anchor=$('a[name='+hash.substring(1)+']'); - glowEffect(anchor.parent(),1000); // line number - hash=''; // strip line number anchors + + const gotoNode = function(o,subIndex,root,hash,relpath) { + const nti = navTreeSubIndices[subIndex][root+hash]; + o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]); + if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index + navTo(o,NAVTREE[0][1],"",relpath); + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + } + if (o.breadcrumbs) { + o.breadcrumbs.unshift(0); // add 0 for root node + showNode(o, o.node, 0, hash); + } } - var url=root+hash; - var i=-1; - while (NAVTREEINDEX[i+1]<=url) i++; - if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath) - } else { - getScript(relpath+'navtreeindex'+i,function(){ - navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath); - } - }); + + const navTo = function(o,root,hash,relpath) { + const link = cachedLink(); + if (link) { + const parts = link.split('#'); + root = parts[0]; + hash = parts.length>1 ? '#'+parts[1].replace(/[^\w-]/g,'') : ''; + } + if (hash.match(/^#l\d+$/)) { + const anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + const url=root+hash; + let i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function() { + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + }); + } } -} -function showSyncOff(n,relpath) -{ + const showSyncOff = function(n,relpath) { n.html(''); -} + } -function showSyncOn(n,relpath) -{ + const showSyncOn = function(n,relpath) { n.html(''); -} + } -function toggleSyncButton(relpath) -{ - var navSync = $('#nav-sync'); - if (navSync.hasClass('sync')) { - navSync.removeClass('sync'); + const o = { + toroot : toroot, + node : { + childrenData : NAVTREE, + children : [], + childrenUL : document.createElement("ul"), + getChildrenUL : function() { return this.childrenUL }, + li : document.getElementById("nav-tree-contents"), + depth : 0, + relpath : relpath, + expanded : false, + isLast : true, + plus_img : document.createElement("span"), + }, + }; + o.node.li.appendChild(o.node.childrenUL); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = ARROW_RIGHT; + + const navSync = $('#nav-sync'); + if (cachedLink()) { showSyncOff(navSync,relpath); - storeLink(stripPath2(pathName())+hashUrl()); + navSync.removeClass('sync'); } else { - navSync.addClass('sync'); showSyncOn(navSync,relpath); - deleteLink(); } -} -var loadTriggered = false; -var readyTriggered = false; -var loadObject,loadToRoot,loadUrl,loadRelPath; - -$(window).on('load',function(){ - if (readyTriggered) { // ready first - navTo(loadObject,loadToRoot,loadUrl,loadRelPath); - showRoot(); - } - loadTriggered=true; -}); - -function initNavTree(toroot,relpath) -{ - var o = new Object(); - o.toroot = toroot; - o.node = new Object(); - o.node.li = document.getElementById("nav-tree-contents"); - o.node.childrenData = NAVTREE; - o.node.children = new Array(); - o.node.childrenUL = document.createElement("ul"); - o.node.getChildrenUL = function() { return o.node.childrenUL; }; - o.node.li.appendChild(o.node.childrenUL); - o.node.depth = 0; - o.node.relpath = relpath; - o.node.expanded = false; - o.node.isLast = true; - o.node.plus_img = document.createElement("span"); - o.node.plus_img.className = 'arrow'; - o.node.plus_img.innerHTML = arrowRight; - - if (localStorageSupported()) { - var navSync = $('#nav-sync'); - if (cachedLink()) { - showSyncOff(navSync,relpath); + navSync.click(() => { + const navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); } else { + navSync.addClass('sync'); showSyncOn(navSync,relpath); + deleteLink(); } - navSync.click(function(){ toggleSyncButton(relpath); }); - } + }); - if (loadTriggered) { // load before ready - navTo(o,toroot,hashUrl(),relpath); - showRoot(); - } else { // ready before load - loadObject = o; - loadToRoot = toroot; - loadUrl = hashUrl(); - loadRelPath = relpath; - readyTriggered=true; - } + navTo(o,toroot,hashUrl(),relpath); + showRoot(); - $(window).bind('hashchange', function(){ - if (window.location.hash && window.location.hash.length>1){ - var a; - if ($(location).attr('hash')){ - var clslink=stripPath(pathName())+':'+hashValue(); - a=$('.item a[class$="'+clslink.replace(/ { + if (window.location.hash && window.location.hash.length>1) { + let a; + if ($(location).attr('hash')) { + const clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ - + pdal-c: pdal/pdalc.h File Reference + + @@ -25,7 +27,7 @@ -
                                              pdal-c 2.2.1 +
                                              pdal-c v2.2.2
                                              C API for PDAL
                                              @@ -34,7 +36,7 @@
                                              - + @@ -64,7 +66,7 @@
                                              @@ -101,7 +103,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index bf90411..f2ff604 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc.h Source File + + @@ -25,7 +27,7 @@ -
                                              pdal-c 2.2.1 +
                                              pdal-c v2.2.2
                                              C API for PDAL
                                              @@ -34,7 +36,7 @@
                                              - +
                                              @@ -69,7 +71,7 @@
                                            @@ -150,7 +152,7 @@ diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index f77a54a..3435139 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_config.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,43 +105,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + - +

                                            Functions

                                            PDALC_API size_t PDALGetGdalDataPath (char *path, size_t size)
                                            PDALC_API size_t PDALGetGdalDataPath (char *path, size_t size)
                                             Retrieves the path to the GDAL data directory.
                                             
                                            PDALC_API size_t PDALGetProj4DataPath (char *path, size_t size)
                                            PDALC_API size_t PDALGetProj4DataPath (char *path, size_t size)
                                             Retrieves the path to the proj4 data directory.
                                             
                                            PDALC_API void PDALSetGdalDataPath (const char *path)
                                            PDALC_API void PDALSetGdalDataPath (const char *path)
                                             Sets the path to the GDAL data directory.
                                             
                                            PDALC_API void PDALSetProj4DataPath (const char *path)
                                            PDALC_API void PDALSetProj4DataPath (const char *path)
                                             Sets the path to the proj4 data directory.
                                             
                                            PDALC_API size_t PDALFullVersionString (char *version, size_t size)
                                            PDALC_API size_t PDALFullVersionString (char *version, size_t size)
                                             Retrieves the full PDAL version string.
                                             
                                            PDALC_API size_t PDALVersionString (char *version, size_t size)
                                            PDALC_API size_t PDALVersionString (char *version, size_t size)
                                             Retrieves the PDAL version string.
                                             
                                            PDALC_API int PDALVersionInteger ()
                                            PDALC_API int PDALVersionInteger ()
                                             Returns an integer representation of the PDAL version.
                                             
                                            PDALC_API size_t PDALSha1 (char *sha1, size_t size)
                                            PDALC_API size_t PDALSha1 (char *sha1, size_t size)
                                             Retrieves PDAL's Git commit SHA1 as a string.
                                             
                                            PDALC_API int PDALVersionMajor ()
                                            PDALC_API int PDALVersionMajor ()
                                             Returns the PDAL major version number.
                                             
                                            PDALC_API int PDALVersionMinor ()
                                            PDALC_API int PDALVersionMinor ()
                                             Returns the PDAL minor version number.
                                             
                                            PDALC_API int PDALVersionPatch ()
                                            PDALC_API int PDALVersionPatch ()
                                             Returns the PDAL patch version number.
                                             
                                            PDALC_API size_t PDALDebugInformation (char *info, size_t size)
                                            PDALC_API size_t PDALDebugInformation (char *info, size_t size)
                                             Retrieves PDAL debugging information.
                                             
                                            PDALC_API size_t PDALPluginInstallPath (char *path, size_t size)
                                            PDALC_API size_t PDALPluginInstallPath (char *path, size_t size)
                                             Retrieves the path to the PDAL installation.
                                             
                                            @@ -155,19 +157,12 @@

                                            PDALC_API size_t PDALDebugInformation ( - char *  - info, + char * info, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -562,7 +513,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index e2b1cb0..034c122 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_config.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@
                                            @@ -197,7 +199,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 85d53af..2bb8a09 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_defines.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -101,7 +103,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 11a3e0c..6d06c1b 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_defines.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@
                                          • @@ -169,7 +171,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 37d8e5a..59be7ae 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_dimtype.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,28 +105,28 @@ - + - + - + - + - + - + - + - +

                                            Functions

                                            PDALC_API size_t PDALGetDimTypeListSize (PDALDimTypeListPtr types)
                                            PDALC_API size_t PDALGetDimTypeListSize (PDALDimTypeListPtr types)
                                             Returns the number of elements in a dimension type list.
                                             
                                            PDALC_API uint64_t PDALGetDimTypeListByteCount (PDALDimTypeListPtr types)
                                            PDALC_API uint64_t PDALGetDimTypeListByteCount (PDALDimTypeListPtr types)
                                             Returns the number of bytes required to store data referenced by a dimension type list.
                                             
                                            PDALC_API PDALDimType PDALGetInvalidDimType ()
                                            PDALC_API PDALDimType PDALGetInvalidDimType ()
                                             Returns the invalid dimension type.
                                             
                                            PDALC_API PDALDimType PDALGetDimType (PDALDimTypeListPtr types, size_t index)
                                            PDALC_API PDALDimType PDALGetDimType (PDALDimTypeListPtr types, size_t index)
                                             Returns the dimension type at the provided index from a dimension type list.
                                             
                                            PDALC_API size_t PDALGetDimTypeIdName (PDALDimType dim, char *name, size_t size)
                                            PDALC_API size_t PDALGetDimTypeIdName (PDALDimType dim, char *name, size_t size)
                                             Retrieves the name of a dimension type's ID.
                                             
                                            PDALC_API size_t PDALGetDimTypeInterpretationName (PDALDimType dim, char *name, size_t size)
                                            PDALC_API size_t PDALGetDimTypeInterpretationName (PDALDimType dim, char *name, size_t size)
                                             Retrieves the name of a dimension type's interpretation, i.e., its data type.
                                             
                                            PDALC_API size_t PDALGetDimTypeInterpretationByteCount (PDALDimType dim)
                                            PDALC_API size_t PDALGetDimTypeInterpretationByteCount (PDALDimType dim)
                                             Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                                             
                                            PDALC_API void PDALDisposeDimTypeList (PDALDimTypeListPtr types)
                                            PDALC_API void PDALDisposeDimTypeList (PDALDimTypeListPtr types)
                                             Disposes the provided dimension type list.
                                             
                                            @@ -140,8 +142,7 @@

                                            PDALC_API void PDALDisposeDimTypeList ( - PDALDimTypeListPtr  - types) + PDALDimTypeListPtr types) @@ -166,19 +167,12 @@

                                            PDALC_API PDALDimType PDALGetDimType ( - PDALDimTypeListPtr  - types, + PDALDimTypeListPtr types, - size_t  - index  - - - - ) - + size_t index )

                                            @@ -204,25 +198,17 @@

                                            PDALC_API size_t PDALGetDimTypeIdName ( - PDALDimType  - dim, + PDALDimType dim, - char *  - name, + char * name, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -249,8 +235,7 @@

                                            PDALC_API size_t PDALGetDimTypeInterpretationByteCount ( - PDALDimType  - dim) + PDALDimType dim) @@ -276,25 +261,17 @@

                                            PDALC_API size_t PDALGetDimTypeInterpretationName ( - PDALDimType  - dim, + PDALDimType dim, - char *  - name, + char * name, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -321,8 +298,7 @@

                                            PDALC_API uint64_t PDALGetDimTypeListByteCount ( - PDALDimTypeListPtr  - types) + PDALDimTypeListPtr types) @@ -348,8 +324,7 @@

                                            PDALC_API size_t PDALGetDimTypeListSize ( - PDALDimTypeListPtr  - types) + PDALDimTypeListPtr types) @@ -375,7 +350,7 @@

                                            PDALC_API PDALDimType PDALGetInvalidDimType ( - ) + ) @@ -398,7 +373,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index 588508b..c0d5cb5 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_dimtype.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@

                                            @@ -183,7 +185,7 @@ diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index e571caa..94d4942 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_forward.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -110,25 +112,25 @@ - + - + - + - + - + - + - +

                                            Typedefs

                                            typedef void * PDALDimTypeListPtr
                                            typedef void * PDALDimTypeListPtr
                                             A pointer to a dimension type list.
                                             
                                            typedef void * PDALPipelinePtr
                                            typedef void * PDALPipelinePtr
                                             A pointer to a pipeline.
                                             
                                            typedef uint64_t PDALPointId
                                            typedef uint64_t PDALPointId
                                             An index to a point in a list.
                                             
                                            typedef void * PDALPointLayoutPtr
                                            typedef void * PDALPointLayoutPtr
                                             A pointer to a point layout.
                                             
                                            typedef void * PDALPointViewPtr
                                            typedef void * PDALPointViewPtr
                                             A pointer to point view.
                                             
                                            typedef void * PDALMeshPtr
                                            typedef void * PDALMeshPtr
                                             A pointer to a Mesh.
                                             
                                            typedef void * PDALPointViewIteratorPtr
                                            typedef void * PDALPointViewIteratorPtr
                                             A pointer to a point view iterator.
                                             
                                            @@ -142,7 +144,7 @@

                                            - +
                                            typedef void* PDALDimTypeListPtrtypedef void* PDALDimTypeListPtr

                                            @@ -253,7 +255,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 34b6489..40bc159 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_forward.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@

                                            @@ -219,7 +221,7 @@ diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index 83815c6..f2f484b 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pipeline.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,43 +105,43 @@ - + - + - + - + - + - + - + - + - + - + - + - + - +

                                            Functions

                                            PDALC_API PDALPipelinePtr PDALCreatePipeline (const char *json)
                                            PDALC_API PDALPipelinePtr PDALCreatePipeline (const char *json)
                                             Creates a PDAL pipeline from a JSON text string.
                                             
                                            PDALC_API void PDALDisposePipeline (PDALPipelinePtr pipeline)
                                            PDALC_API void PDALDisposePipeline (PDALPipelinePtr pipeline)
                                             Disposes a PDAL pipeline.
                                             
                                            PDALC_API size_t PDALGetPipelineAsString (PDALPipelinePtr pipeline, char *buffer, size_t size)
                                            PDALC_API size_t PDALGetPipelineAsString (PDALPipelinePtr pipeline, char *buffer, size_t size)
                                             Retrieves a string representation of a pipeline.
                                             
                                            PDALC_API size_t PDALGetPipelineMetadata (PDALPipelinePtr pipeline, char *metadata, size_t size)
                                            PDALC_API size_t PDALGetPipelineMetadata (PDALPipelinePtr pipeline, char *metadata, size_t size)
                                             Retrieves a pipeline's computed metadata.
                                             
                                            PDALC_API size_t PDALGetPipelineSchema (PDALPipelinePtr pipeline, char *schema, size_t size)
                                            PDALC_API size_t PDALGetPipelineSchema (PDALPipelinePtr pipeline, char *schema, size_t size)
                                             Retrieves a pipeline's computed schema.
                                             
                                            PDALC_API size_t PDALGetPipelineLog (PDALPipelinePtr pipeline, char *log, size_t size)
                                            PDALC_API size_t PDALGetPipelineLog (PDALPipelinePtr pipeline, char *log, size_t size)
                                             Retrieves a pipeline's execution log.
                                             
                                            PDALC_API void PDALSetPipelineLogLevel (PDALPipelinePtr pipeline, int level)
                                            PDALC_API void PDALSetPipelineLogLevel (PDALPipelinePtr pipeline, int level)
                                             Sets a pipeline's log level.
                                             
                                            PDALC_API int PDALGetPipelineLogLevel (PDALPipelinePtr pipeline)
                                            PDALC_API int PDALGetPipelineLogLevel (PDALPipelinePtr pipeline)
                                             Returns a pipeline's log level.
                                             
                                            PDALC_API int64_t PDALExecutePipeline (PDALPipelinePtr pipeline)
                                            PDALC_API int64_t PDALExecutePipeline (PDALPipelinePtr pipeline)
                                             Executes a pipeline.
                                             
                                            PDALC_API bool PDALExecutePipelineAsStream (PDALPipelinePtr pipeline)
                                            PDALC_API bool PDALExecutePipelineAsStream (PDALPipelinePtr pipeline)
                                             Executes a pipeline as a streamable pipeline.
                                             
                                            PDALC_API bool PDALPipelineIsStreamable (PDALPipelinePtr pipeline)
                                            PDALC_API bool PDALPipelineIsStreamable (PDALPipelinePtr pipeline)
                                             Determines if a pipeline is streamable.
                                             
                                            PDALC_API bool PDALValidatePipeline (PDALPipelinePtr pipeline)
                                            PDALC_API bool PDALValidatePipeline (PDALPipelinePtr pipeline)
                                             Validates a pipeline.
                                             
                                            PDALC_API PDALPointViewIteratorPtr PDALGetPointViews (PDALPipelinePtr pipeline)
                                            PDALC_API PDALPointViewIteratorPtr PDALGetPointViews (PDALPipelinePtr pipeline)
                                             Gets the resulting point views from a pipeline execution.
                                             
                                            @@ -155,8 +157,7 @@

                                            PDALC_API PDALPipelinePtr PDALCreatePipeline ( - const char *  - json) + const char * json) @@ -183,8 +184,7 @@

                                            PDALC_API void PDALDisposePipeline ( - PDALPipelinePtr  - pipeline) + PDALPipelinePtr pipeline) @@ -209,8 +209,7 @@

                                            PDALC_API int64_t PDALExecutePipeline ( - PDALPipelinePtr  - pipeline) + PDALPipelinePtr pipeline) @@ -236,8 +235,7 @@

                                            PDALC_API bool PDALExecutePipelineAsStream ( - PDALPipelinePtr  - pipeline) + PDALPipelinePtr pipeline) @@ -264,25 +262,17 @@

                                            PDALC_API size_t PDALGetPipelineAsString ( - PDALPipelinePtr  - pipeline, + PDALPipelinePtr pipeline, - char *  - buffer, + char * buffer, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -309,31 +299,23 @@

                                            PDALC_API size_t PDALGetPipelineLog ( - PDALPipelinePtr  - pipeline, + PDALPipelinePtr pipeline, - char *  - log, + char * log, - size_t  - size  - - - - ) - + size_t size )

                                            Retrieves a pipeline's execution log.

                                            -
                                            See also
                                            PDALSetPipelineLogLevel to adjust logging verbosity
                                            +
                                            See also
                                            PDALSetPipelineLogLevel to adjust logging verbosity
                                            Parameters
                                            @@ -355,8 +337,7 @@

                                            PDALC_API int PDALGetPipelineLogLevel

                                            - - +
                                            pipelineThe pipeline
                                            (PDALPipelinePtr pipeline)PDALPipelinePtr pipeline)
                                            @@ -382,25 +363,17 @@

                                            PDALC_API size_t PDALGetPipelineMetadata ( - PDALPipelinePtr  - pipeline, + PDALPipelinePtr pipeline, - char *  - metadata, + char * metadata, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -427,25 +400,17 @@

                                            PDALC_API size_t PDALGetPipelineSchema ( - PDALPipelinePtr  - pipeline, + PDALPipelinePtr pipeline, - char *  - schema, + char * schema, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -472,8 +437,7 @@

                                            PDALC_API PDALPointViewIteratorPtr PDALGetPointViews ( - PDALPipelinePtr  - pipeline) + PDALPipelinePtr pipeline) @@ -500,8 +464,7 @@

                                            PDALC_API bool PDALPipelineIsStreamable ( - PDALPipelinePtr  - pipeline) + PDALPipelinePtr pipeline) @@ -527,19 +490,12 @@

                                            PDALC_API void PDALSetPipelineLogLevel ( - PDALPipelinePtr  - pipeline, + PDALPipelinePtr pipeline, - int  - level  - - - - ) - + int level )

                                            @@ -564,8 +520,7 @@

                                            PDALC_API bool PDALValidatePipeline ( - PDALPipelinePtr  - pipeline) + PDALPipelinePtr pipeline) @@ -588,7 +543,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index e15e4fd..7a149cb 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pipeline.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@

                                            @@ -203,7 +205,7 @@ diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index d4555b9..cfaf0b9 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pointlayout.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,19 +105,19 @@ - + - + - + - + - +

                                            Functions

                                            PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes (PDALPointLayoutPtr layout)
                                            PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes (PDALPointLayoutPtr layout)
                                             Returns the list of dimension types used by the provided layout.
                                             
                                            PDALC_API PDALDimType PDALFindDimType (PDALPointLayoutPtr layout, const char *name)
                                            PDALC_API PDALDimType PDALFindDimType (PDALPointLayoutPtr layout, const char *name)
                                             Finds the dimension type identified by the provided name in a layout.
                                             
                                            PDALC_API size_t PDALGetDimSize (PDALPointLayoutPtr layout, const char *name)
                                            PDALC_API size_t PDALGetDimSize (PDALPointLayoutPtr layout, const char *name)
                                             Returns the byte size of a dimension type value within a layout.
                                             
                                            PDALC_API size_t PDALGetDimPackedOffset (PDALPointLayoutPtr layout, const char *name)
                                            PDALC_API size_t PDALGetDimPackedOffset (PDALPointLayoutPtr layout, const char *name)
                                             Returns the byte offset of a dimension type within a layout.
                                             
                                            PDALC_API size_t PDALGetPointSize (PDALPointLayoutPtr layout)
                                            PDALC_API size_t PDALGetPointSize (PDALPointLayoutPtr layout)
                                             Returns the byte size of a point in the provided layout.
                                             
                                            @@ -131,19 +133,12 @@

                                            PDALC_API PDALDimType PDALFindDimType ( - PDALPointLayoutPtr  - layout, + PDALPointLayoutPtr layout, - const char *  - name  - - - - ) - + const char * name )

                                            @@ -169,19 +164,12 @@

                                            PDALC_API size_t PDALGetDimPackedOffset ( - PDALPointLayoutPtr  - layout, + PDALPointLayoutPtr layout, - const char *  - name  - - - - ) - + const char * name )

                                            @@ -207,19 +195,12 @@

                                            PDALC_API size_t PDALGetDimSize ( - PDALPointLayoutPtr  - layout, + PDALPointLayoutPtr layout, - const char *  - name  - - - - ) - + const char * name )

                                            @@ -245,8 +226,7 @@

                                            PDALC_API PDALDimTypeListPtr PDALGetPointLayoutDimTypes ( - PDALPointLayoutPtr  - layout) + PDALPointLayoutPtr layout) @@ -273,8 +253,7 @@

                                            PDALC_API size_t PDALGetPointSize ( - PDALPointLayoutPtr  - layout) + PDALPointLayoutPtr layout) @@ -297,7 +276,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index 25a3137..eb68e0f 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pointlayout.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@
                                            @@ -175,7 +177,7 @@ diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index 99f5187..a685284 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pointview.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,40 +105,40 @@ - + - + - + - + - + - + - + - + - + - + - + - +

                                            Functions

                                            PDALC_API void PDALDisposePointView (PDALPointViewPtr view)
                                            PDALC_API void PDALDisposePointView (PDALPointViewPtr view)
                                             Disposes the provided point view.
                                             
                                            PDALC_API int PDALGetPointViewId (PDALPointViewPtr view)
                                            PDALC_API int PDALGetPointViewId (PDALPointViewPtr view)
                                             Returns the ID of the provided point view.
                                             
                                            PDALC_API uint64_t PDALGetPointViewSize (PDALPointViewPtr view)
                                            PDALC_API uint64_t PDALGetPointViewSize (PDALPointViewPtr view)
                                             Returns the number of points in the provided view.
                                             
                                            PDALC_API bool PDALIsPointViewEmpty (PDALPointViewPtr view)
                                            PDALC_API bool PDALIsPointViewEmpty (PDALPointViewPtr view)
                                             Returns whether the provided point view is empty, i.e., has no points.
                                             
                                            PDALC_API PDALPointViewPtr PDALClonePointView (PDALPointViewPtr view)
                                            PDALC_API PDALPointViewPtr PDALClonePointView (PDALPointViewPtr view)
                                             Clones the provided point view.
                                             
                                            PDALC_API size_t PDALGetPointViewProj4 (PDALPointViewPtr view, char *proj, size_t size)
                                            PDALC_API size_t PDALGetPointViewProj4 (PDALPointViewPtr view, char *proj, size_t size)
                                             Returns the proj4 projection string for the provided point view.
                                             
                                            PDALC_API size_t PDALGetPointViewWkt (PDALPointViewPtr view, char *wkt, size_t size, bool pretty)
                                            PDALC_API size_t PDALGetPointViewWkt (PDALPointViewPtr view, char *wkt, size_t size, bool pretty)
                                             Returns the Well-Known Text (WKT) projection string for the provided point view.
                                             
                                            PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout (PDALPointViewPtr view)
                                            PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout (PDALPointViewPtr view)
                                             Returns the point layout for the provided point view.
                                             
                                            PDALC_API size_t PDALGetPackedPoint (PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer)
                                            PDALC_API size_t PDALGetPackedPoint (PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer)
                                             Retrieves data for a point based on the provided dimension list.
                                             
                                            PDALC_API uint64_t PDALGetAllPackedPoints (PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
                                            PDALC_API uint64_t PDALGetAllPackedPoints (PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer)
                                             Retrieves data for all points based on the provided dimension list.
                                             
                                            PDALC_API uint64_t PDALGetMeshSize (PDALPointViewPtr view)
                                            PDALC_API uint64_t PDALGetMeshSize (PDALPointViewPtr view)
                                             Returns the number of triangles in the provided view.
                                             
                                            PDALC_API uint64_t PDALGetAllTriangles (PDALPointViewPtr view, char *buffer)
                                            PDALC_API uint64_t PDALGetAllTriangles (PDALPointViewPtr view, char *buffer)
                                             Retrieves the triangles from the PointView.
                                             
                                            @@ -152,8 +154,7 @@

                                            PDALC_API PDALPointViewPtr PDALClonePointView ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -180,8 +181,7 @@

                                            PDALC_API void PDALDisposePointView ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -206,32 +206,24 @@

                                            PDALC_API uint64_t PDALGetAllPackedPoints ( - PDALPointViewPtr  - view, + PDALPointViewPtr view, - PDALDimTypeListPtr  - dims, + PDALDimTypeListPtr dims, - char *  - buffer  - - - - ) - + char * buffer )

                                            Retrieves data for all points based on the provided dimension list.

                                            Note
                                            Behavior will be undefined if buffer is not large enough to contain all the packed point data
                                            -
                                            See also
                                            Use the product of the values returned by PDALGetPointViewSize and PDALGetPointSize to obtain the minimum byte size for buffer
                                            +
                                            See also
                                            Use the product of the values returned by PDALGetPointViewSize and PDALGetPointSize to obtain the minimum byte size for buffer
                                            pdal::PointView::getPackedPoint
                                            Parameters
                                            @@ -255,26 +247,19 @@

                                            PDALC_API uint64_t PDALGetAllTriangles ( - PDALPointViewPtr  - view, + PDALPointViewPtr view, - char *  - buffer  - - - - ) - + char * buffer )

                                            Retrieves the triangles from the PointView.

                                            Note
                                            Behavior will be undefined if buffer is not large enough to contain all the packed point data
                                            -
                                            See also
                                            Use the product of the values returned by PDALGetPointViewSize and 12 to obtain the minimum byte size for buffer
                                            +
                                            See also
                                            Use the product of the values returned by PDALGetPointViewSize and 12 to obtain the minimum byte size for buffer
                                            pdal::TriangularMesh
                                            Parameters
                                            @@ -297,8 +282,7 @@

                                            PDALC_API uint64_t PDALGetMeshSize ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -325,31 +309,22 @@

                                            PDALC_API size_t PDALGetPackedPoint ( - PDALPointViewPtr  - view, + PDALPointViewPtr view, - PDALDimTypeListPtr  - dims, + PDALDimTypeListPtr dims, - PDALPointId  - idx, + PDALPointId idx, - char *  - buffer  - - - - ) - + char * buffer )

                                            @@ -378,8 +353,7 @@

                                            PDALC_API int PDALGetPointViewId ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -406,8 +380,7 @@

                                            PDALC_API PDALPointLayoutPtr PDALGetPointViewLayout ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -434,25 +407,17 @@

                                            PDALC_API size_t PDALGetPointViewProj4 ( - PDALPointViewPtr  - view, + PDALPointViewPtr view, - char *  - proj, + char * proj, - size_t  - size  - - - - ) - + size_t size )

                                            @@ -480,8 +445,7 @@

                                            PDALC_API uint64_t PDALGetPointViewSize ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -508,31 +472,22 @@

                                            PDALC_API size_t PDALGetPointViewWkt ( - PDALPointViewPtr  - view, + PDALPointViewPtr view, - char *  - wkt, + char * wkt, - size_t  - size, + size_t size, - bool  - pretty  - - - - ) - + bool pretty )

                                            @@ -561,8 +516,7 @@

                                            PDALC_API bool PDALIsPointViewEmpty ( - PDALPointViewPtr  - view) + PDALPointViewPtr view) @@ -586,7 +540,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index 405b99d..1bbc4b5 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pointview.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@
                                            @@ -199,7 +201,7 @@ diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index 34d1a33..4db4ae1 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h File Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -103,16 +105,16 @@ - + - + - + - +

                                            Functions

                                            PDALC_API bool PDALHasNextPointView (PDALPointViewIteratorPtr itr)
                                            PDALC_API bool PDALHasNextPointView (PDALPointViewIteratorPtr itr)
                                             Returns whether another point view is available in the provided iterator.
                                             
                                            PDALC_API PDALPointViewPtr PDALGetNextPointView (PDALPointViewIteratorPtr itr)
                                            PDALC_API PDALPointViewPtr PDALGetNextPointView (PDALPointViewIteratorPtr itr)
                                             Returns the next available point view in the provided iterator.
                                             
                                            PDALC_API void PDALResetPointViewIterator (PDALPointViewIteratorPtr itr)
                                            PDALC_API void PDALResetPointViewIterator (PDALPointViewIteratorPtr itr)
                                             Resets the provided point view iterator to its starting position.
                                             
                                            PDALC_API void PDALDisposePointViewIterator (PDALPointViewIteratorPtr itr)
                                            PDALC_API void PDALDisposePointViewIterator (PDALPointViewIteratorPtr itr)
                                             Disposes the provided point view iterator.
                                             
                                            @@ -128,8 +130,7 @@

                                            PDALC_API void PDALDisposePointViewIterator ( - PDALPointViewIteratorPtr  - itr) + PDALPointViewIteratorPtr itr) @@ -154,8 +155,7 @@

                                            PDALC_API PDALPointViewPtr PDALGetNextPointView ( - PDALPointViewIteratorPtr  - itr) + PDALPointViewIteratorPtr itr) @@ -182,8 +182,7 @@

                                            PDALC_API bool PDALHasNextPointView ( - PDALPointViewIteratorPtr  - itr) + PDALPointViewIteratorPtr itr) @@ -209,8 +208,7 @@

                                            PDALC_API void PDALResetPointViewIterator ( - PDALPointViewIteratorPtr  - itr) + PDALPointViewIteratorPtr itr) @@ -232,7 +230,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index 65aae09..bae3931 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -3,16 +3,18 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h Source File + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - +
                                            @@ -69,7 +71,7 @@

                                            @@ -186,7 +188,7 @@ diff --git a/docs/doxygen/html/resize.js b/docs/doxygen/html/resize.js index aaeb6fc..6ad2ae8 100644 --- a/docs/doxygen/html/resize.js +++ b/docs/doxygen/html/resize.js @@ -22,61 +22,21 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -var once=1; -function initResizable() -{ - var cookie_namespace = 'doxygen'; - var sidenav,navtree,content,header,barWidth=6,desktop_vp=768,titleHeight; - function readSetting(cookie) - { - if (window.chrome) { - var val = localStorage.getItem(cookie_namespace+'_width'); - if (val) return val; - } else { - var myCookie = cookie_namespace+"_"+cookie+"="; - if (document.cookie) { - var index = document.cookie.indexOf(myCookie); - if (index != -1) { - var valStart = index + myCookie.length; - var valEnd = document.cookie.indexOf(";", valStart); - if (valEnd == -1) { - valEnd = document.cookie.length; - } - var val = document.cookie.substring(valStart, valEnd); - return val; - } - } - } - return 250; - } - - function writeSetting(cookie, val) - { - if (window.chrome) { - localStorage.setItem(cookie_namespace+"_width",val); - } else { - var date = new Date(); - date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week - expiration = date.toGMTString(); - document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; - } - } +function initResizable() { + let sidenav,navtree,content,header,footer,barWidth=6; + const RESIZE_COOKIE_NAME = ''+'width'; - function resizeWidth() - { - var windowWidth = $(window).width() + "px"; - var sidenavWidth = $(sidenav).outerWidth(); + function resizeWidth() { + const sidenavWidth = $(sidenav).outerWidth(); content.css({marginLeft:parseInt(sidenavWidth)+"px"}); if (typeof page_layout!=='undefined' && page_layout==1) { footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); } - writeSetting('width',sidenavWidth-barWidth); + Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); } - function restoreWidth(navWidth) - { - var windowWidth = $(window).width() + "px"; + function restoreWidth(navWidth) { content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); if (typeof page_layout!=='undefined' && page_layout==1) { footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); @@ -84,12 +44,11 @@ function initResizable() sidenav.css({width:navWidth + "px"}); } - function resizeHeight() - { - var headerHeight = header.outerHeight(); - var footerHeight = footer.outerHeight(); - var windowHeight = $(window).height(); - var contentHeight,navtreeHeight,sideNavHeight; + function resizeHeight() { + const headerHeight = header.outerHeight(); + const footerHeight = footer.outerHeight(); + const windowHeight = $(window).height(); + let contentHeight,navtreeHeight,sideNavHeight; if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ contentHeight = windowHeight - headerHeight - footerHeight; navtreeHeight = contentHeight; @@ -107,19 +66,17 @@ function initResizable() } } - function collapseExpand() - { - var newWidth; + function collapseExpand() { + let newWidth; if (sidenav.width()>0) { newWidth=0; - } - else { - var width = readSetting('width'); + } else { + const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); newWidth = (width>250 && width<$(window).width()) ? width : 250; } restoreWidth(newWidth); - var sidenavWidth = $(sidenav).outerWidth(); - writeSetting('width',sidenavWidth-barWidth); + const sidenavWidth = $(sidenav).outerWidth(); + Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); } header = $("#top"); @@ -127,29 +84,26 @@ function initResizable() content = $("#doc-content"); navtree = $("#nav-tree"); footer = $("#nav-path"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(".side-nav-resizable").resizable({resize: () => resizeWidth() }); $(sidenav).resizable({ minWidth: 0 }); - $(window).resize(function() { resizeHeight(); }); - var device = navigator.userAgent.toLowerCase(); - var touch_device = device.match(/(iphone|ipod|ipad|android)/); + $(window).resize(() => resizeHeight()); + const device = navigator.userAgent.toLowerCase(); + const touch_device = device.match(/(iphone|ipod|ipad|android)/); if (touch_device) { /* wider split bar for touch only devices */ $(sidenav).css({ paddingRight:'20px' }); $('.ui-resizable-e').css({ width:'20px' }); $('#nav-sync').css({ right:'34px' }); barWidth=20; } - var width = readSetting('width'); + const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); if (width) { restoreWidth(width); } else { resizeWidth(); } resizeHeight(); - var url = location.href; - var i=url.indexOf("#"); + const url = location.href; + const i=url.indexOf("#"); if (i>=0) window.location.hash=url.substr(i); - var _preventDefault = function(evt) { evt.preventDefault(); }; + const _preventDefault = (evt) => evt.preventDefault(); $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - if (once) { - $(".ui-resizable-handle").dblclick(collapseExpand); - once=0 - } + $(".ui-resizable-handle").dblclick(collapseExpand); $(window).on('load',resizeHeight); } /* @license-end */ diff --git a/docs/doxygen/html/search/search.js b/docs/doxygen/html/search/search.js index 6fd40c6..666af01 100644 --- a/docs/doxygen/html/search/search.js +++ b/docs/doxygen/html/search/search.js @@ -22,58 +22,9 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function convertToId(search) -{ - var result = ''; - for (i=0;i document.getElementById("MSearchField"); + this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); + this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); + this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); + this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); + this.DOMSearchClose = () => document.getElementById("MSearchClose"); + this.DOMSearchBox = () => document.getElementById("MSearchBox"); // ------------ Event Handlers // Called when focus is added or removed from the search field. - this.OnSearchFieldFocus = function(isActive) - { + this.OnSearchFieldFocus = function(isActive) { this.Activate(isActive); } - this.OnSearchSelectShow = function() - { - var searchSelectWindow = this.DOMSearchSelectWindow(); - var searchField = this.DOMSearchSelect(); + this.OnSearchSelectShow = function() { + const searchSelectWindow = this.DOMSearchSelectWindow(); + const searchField = this.DOMSearchSelect(); - var left = getXPos(searchField); - var top = getYPos(searchField); - top += searchField.offsetHeight; + const left = getXPos(searchField); + const top = getYPos(searchField) + searchField.offsetHeight; // show search selection popup searchSelectWindow.style.display='block'; @@ -146,55 +102,43 @@ function SearchBox(name, resultsPath, extension) searchSelectWindow.style.top = top + 'px'; // stop selection hide timer - if (this.hideTimeout) - { + if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout=0; } return false; // to avoid "image drag" default event } - this.OnSearchSelectHide = function() - { + this.OnSearchSelectHide = function() { this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), this.closeSelectionTimeout); } // Called when the content of the search field is changed. - this.OnSearchFieldChange = function(evt) - { - if (this.keyTimeout) // kill running timer - { + this.OnSearchFieldChange = function(evt) { + if (this.keyTimeout) { // kill running timer clearTimeout(this.keyTimeout); this.keyTimeout = 0; } - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 || e.keyCode==13) - { - if (e.shiftKey==1) - { + const e = evt ? evt : window.event; // for IE + if (e.keyCode==40 || e.keyCode==13) { + if (e.shiftKey==1) { this.OnSearchSelectShow(); - var win=this.DOMSearchSelectWindow(); - for (i=0;i do a search - { + const searchValue = this.DOMSearchField().value.replace(/ +/g, ""); + if (searchValue!="" && this.searchActive) { // something was found -> do a search this.Search(); } } - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { + } else if (e.keyCode==38 && this.searchIndex>0) { // Up this.searchIndex--; this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { + } else if (e.keyCode==13 || e.keyCode==27) { e.stopPropagation(); this.OnSelectItem(this.searchIndex); this.CloseSelectionWindow(); @@ -301,82 +239,75 @@ function SearchBox(name, resultsPath, extension) // --------- Actions // Closes the results window. - this.CloseResultsWindow = function() - { + this.CloseResultsWindow = function() { this.DOMPopupSearchResultsWindow().style.display = 'none'; this.DOMSearchClose().style.display = 'none'; this.Activate(false); } - this.CloseSelectionWindow = function() - { + this.CloseSelectionWindow = function() { this.DOMSearchSelectWindow().style.display = 'none'; } // Performs a search. - this.Search = function() - { + this.Search = function() { this.keyTimeout = 0; // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { + const code = searchValue.toLowerCase().charCodeAt(0); + let idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair idxChar = searchValue.substr(0, 2); } - var jsFile; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + let jsFile; + let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) { + const hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; } - var loadJS = function(url, impl, loc){ - var scriptTag = document.createElement('script'); + const loadJS = function(url, impl, loc) { + const scriptTag = document.createElement('script'); scriptTag.src = url; scriptTag.onload = impl; scriptTag.onreadystatechange = impl; loc.appendChild(scriptTag); } - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - var domSearchBox = this.DOMSearchBox(); - var domPopupSearchResults = this.DOMPopupSearchResults(); - var domSearchClose = this.DOMSearchClose(); - var resultsPath = this.resultsPath; + const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + const domSearchBox = this.DOMSearchBox(); + const domPopupSearchResults = this.DOMPopupSearchResults(); + const domSearchClose = this.DOMSearchClose(); + const resultsPath = this.resultsPath; - var handleResults = function() { + const handleResults = function() { document.getElementById("Loading").style.display="none"; if (typeof searchData !== 'undefined') { createResults(resultsPath); document.getElementById("NoMatches").style.display="none"; } - + if (idx!=-1) { searchResults.Search(searchValue); } else { // no file with search results => force empty search results searchResults.Search('===='); } - if (domPopupSearchResultsWindow.style.display!='block') - { + if (domPopupSearchResultsWindow.style.display!='block') { domSearchClose.style.display = 'inline-block'; - var left = getXPos(domSearchBox) + 150; - var top = getYPos(domSearchBox) + 20; + let left = getXPos(domSearchBox) + 150; + let top = getYPos(domSearchBox) + 20; domPopupSearchResultsWindow.style.display = 'block'; left -= domPopupSearchResults.offsetWidth; - var maxWidth = document.body.clientWidth; - var maxHeight = document.body.clientHeight; - var width = 300; + const maxWidth = document.body.clientWidth; + const maxHeight = document.body.clientHeight; + let width = 300; if (left<10) left=10; if (width+left+8>maxWidth) width=maxWidth-left-8; - var height = 400; + let height = 400; if (height+top+8>maxHeight) height=maxHeight-top-8; domPopupSearchResultsWindow.style.top = top + 'px'; domPopupSearchResultsWindow.style.left = left + 'px'; @@ -398,17 +329,13 @@ function SearchBox(name, resultsPath, extension) // Activates or deactivates the search panel, resetting things to // their default values if necessary. - this.Activate = function(isActive) - { + this.Activate = function(isActive) { if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) { this.DOMSearchBox().className = 'MSearchBoxActive'; this.searchActive = true; - } - else if (!isActive) // directly remove the panel - { + } else if (!isActive) { // directly remove the panel this.DOMSearchBox().className = 'MSearchBoxInactive'; this.searchActive = false; this.lastSearchValue = '' @@ -421,409 +348,333 @@ function SearchBox(name, resultsPath, extension) // ----------------------------------------------------------------------- // The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') - { - return element; - } +function SearchResults() { + + function convertToId(search) { + let result = ''; + for (let i=0;i. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) { + const parentElement = document.getElementById(id); + let element = parentElement.firstChild; + + while (element && element!=parentElement) { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { + return element; } - } - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { + element = element.firstChild; + } else if (element.nextSibling) { + element = element.nextSibling; + } else { + do { + element = element.parentNode; } - else - { - element.style.display = 'block'; + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) { + element = element.nextSibling; } } } + } - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; + this.Toggle = function(id) { + const element = this.FindChildElement(id); + if (element) { + if (element.style.display == 'block') { + element.style.display = 'none'; + } else { + element.style.display = 'block'; } - this.lastMatchCount = matches; - return true; } + } - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) { + if (!search) { // get search word from URL + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + const resultRows = document.getElementsByTagName("div"); + let matches = 0; + + let i = 0; + while (i < resultRows.length) { + const row = resultRows.item(i); + if (row.className == "SRResult") { + let rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) { + row.style.display = 'block'; + matches++; + } else { + row.style.display = 'none'; } - focusItem=null; - index++; } - return focusItem; + i++; } + document.getElementById("Searching").style.display='none'; + if (matches == 0) { // no results + document.getElementById("NoMatches").style.display='block'; + } else { // at least one result + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; + // return the first item with index index or higher that is visible + this.NavNext = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; } - return focusItem; + focusItem=null; + index--; } + return focusItem; + } - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; + this.ProcessKeys = function(e) { + if (e.type == "keydown") { + this.repeatOn = false; + this.lastKey = e.keyCode; + } else if (e.type == "keypress") { + if (!this.repeatOn) { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown } - return this.lastKey!=0; + } else if (e.type == "keyup") { + this.lastKey = 0; + this.repeatOn = false; } + return this.lastKey!=0; + } - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; + this.Nav = function(evt,itemIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + const newIndex = itemIndex-1; + let focusItem = this.NavPrev(newIndex); + if (focusItem) { + let child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') { // children visible + let n=0; + let tmpElem; + for (;;) { // search for last child + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) { + focusItem = tmpElem; + } else { // found it! + break; } + n++; } } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; } - else if (this.lastKey==27) // Escape - { - e.stopPropagation(); - searchBox.CloseResultsWindow(); + if (focusItem) { + focusItem.focus(); + } else { // return focus to search field document.getElementById("MSearchField").focus(); } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; + } else if (this.lastKey==40) { // Down + const newIndex = itemIndex+1; + let focusItem; + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') { // children visible + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } else if (this.lastKey==39) { // Right + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } else if (this.lastKey==37) { // Left + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; } + return false; + } - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } + this.NavChild = function(evt,itemIndex,childIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + if (childIndex>0) { + const newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } else { // already at first child, jump to parent + document.getElementById('Item'+itemIndex).focus(); } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } + } else if (this.lastKey==40) { // Down + const newIndex = childIndex+1; + let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) { // last child, jump to parent next parent + elem = this.NavNext(itemIndex+1); } - else if (this.lastKey==27) // Escape - { - e.stopPropagation(); - searchBox.CloseResultsWindow(); - document.getElementById("MSearchField").focus(); + if (elem) { + elem.focus(); } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; } + return false; + } } -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} +function createResults(resultsPath) { -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} + function setKeyActions(elem,action) { + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); + } + + function setClassAttr(elem,attr) { + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); + } -function createResults(resultsPath) -{ - var results = document.getElementById("SRResults"); + const results = document.getElementById("SRResults"); results.innerHTML = ''; - for (var e=0; e { + const id = elem[0]; + const srResult = document.createElement('div'); srResult.setAttribute('id','SR_'+id); setClassAttr(srResult,'SRResult'); - var srEntry = document.createElement('div'); + const srEntry = document.createElement('div'); setClassAttr(srEntry,'SREntry'); - var srLink = document.createElement('a'); - srLink.setAttribute('id','Item'+e); - setKeyActions(srLink,'return searchResults.Nav(event,'+e+')'); + const srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+index); + setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); setClassAttr(srLink,'SRSymbol'); - srLink.innerHTML = searchData[e][1][0]; + srLink.innerHTML = elem[1][0]; srEntry.appendChild(srLink); - if (searchData[e][1].length==2) // single result - { - srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]); + if (elem[1].length==2) { // single result + srLink.setAttribute('href',resultsPath+elem[1][1][0]); srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); - if (searchData[e][1][1][1]) - { + if (elem[1][1][1]) { srLink.setAttribute('target','_parent'); - } - else - { + } else { srLink.setAttribute('target','_blank'); } - var srScope = document.createElement('span'); + const srScope = document.createElement('span'); setClassAttr(srScope,'SRScope'); - srScope.innerHTML = searchData[e][1][1][2]; + srScope.innerHTML = elem[1][1][2]; srEntry.appendChild(srScope); - } - else // multiple results - { + } else { // multiple results srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); - var srChildren = document.createElement('div'); + const srChildren = document.createElement('div'); setClassAttr(srChildren,'SRChildren'); - for (var c=0; c - + pdal-c: PDALDimType Struct Reference + + @@ -25,7 +27,7 @@ -
                                            pdal-c 2.2.1 +
                                            pdal-c v2.2.2
                                            C API for PDAL
                                            @@ -34,7 +36,7 @@
                                            - + @@ -64,7 +66,7 @@
                                            @@ -97,22 +99,22 @@

                                            A dimension type. - More...

                                            + More...

                                            #include <pdal/pdalc_forward.h>

                                            - + - + - + - +

                                            Data Fields

                                            uint32_t id
                                            uint32_t id
                                             The dimension's identifier.
                                             
                                            uint32_t type
                                            uint32_t type
                                             The dimension's interpretation type.
                                             
                                            double scale
                                            double scale
                                             The dimension's scaling factor.
                                             
                                            double offset
                                            double offset
                                             The dimension's offset value.
                                             
                                            @@ -189,7 +191,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/tabs.css b/docs/doxygen/html/tabs.css index 71c8a47..fe4854a 100644 --- a/docs/doxygen/html/tabs.css +++ b/docs/doxygen/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file From 028bc41d37413345d1f7f871a18800f4c05d6841 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sat, 21 Jun 2025 13:20:51 +0000 Subject: [PATCH 73/73] Automatic Documentation Update --- docs/doxygen/html/_r_e_a_d_m_e_8md.html | 19 +- docs/doxygen/html/annotated.html | 19 +- docs/doxygen/html/classes.html | 19 +- .../dir_a542be5b8e919f24a4504a2b5a97aa0f.html | 19 +- docs/doxygen/html/doxygen.css | 70 +++++-- docs/doxygen/html/dynsections.js | 4 + docs/doxygen/html/files.html | 19 +- docs/doxygen/html/functions.html | 19 +- docs/doxygen/html/functions_vars.html | 19 +- docs/doxygen/html/globals.html | 19 +- docs/doxygen/html/globals_func.html | 19 +- docs/doxygen/html/globals_type.html | 19 +- docs/doxygen/html/index.html | 21 +- docs/doxygen/html/jquery.js | 190 +++++++++++++++++- docs/doxygen/html/menu.js | 4 +- docs/doxygen/html/navtree.js | 59 +++--- docs/doxygen/html/navtreedata.js | 4 +- docs/doxygen/html/pdalc_8h.html | 19 +- docs/doxygen/html/pdalc_8h_source.html | 24 +-- docs/doxygen/html/pdalc__config_8h.html | 41 ++-- .../doxygen/html/pdalc__config_8h_source.html | 55 ++--- docs/doxygen/html/pdalc__defines_8h.html | 19 +- .../html/pdalc__defines_8h_source.html | 24 +-- docs/doxygen/html/pdalc__dimtype_8h.html | 31 +-- .../html/pdalc__dimtype_8h_source.html | 49 ++--- docs/doxygen/html/pdalc__forward_8h.html | 19 +- .../html/pdalc__forward_8h_source.html | 57 +++--- docs/doxygen/html/pdalc__pipeline_8h.html | 37 ++-- .../html/pdalc__pipeline_8h_source.html | 63 +++--- docs/doxygen/html/pdalc__pointlayout_8h.html | 25 ++- .../html/pdalc__pointlayout_8h_source.html | 38 ++-- docs/doxygen/html/pdalc__pointview_8h.html | 41 ++-- .../html/pdalc__pointview_8h_source.html | 51 ++--- .../html/pdalc__pointviewiterator_8h.html | 19 +- .../pdalc__pointviewiterator_8h_source.html | 35 ++-- docs/doxygen/html/resize.js | 104 +++++++--- .../doxygen/html/struct_p_d_a_l_dim_type.html | 19 +- docs/doxygen/html/tabs.css | 2 +- 38 files changed, 835 insertions(+), 479 deletions(-) diff --git a/docs/doxygen/html/_r_e_a_d_m_e_8md.html b/docs/doxygen/html/_r_e_a_d_m_e_8md.html index 4258132..beba211 100644 --- a/docs/doxygen/html/_r_e_a_d_m_e_8md.html +++ b/docs/doxygen/html/_r_e_a_d_m_e_8md.html @@ -3,7 +3,7 @@ - + pdal-c: /github/workspace/README.md File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -101,7 +106,7 @@ diff --git a/docs/doxygen/html/annotated.html b/docs/doxygen/html/annotated.html index 47232a0..522da13 100644 --- a/docs/doxygen/html/annotated.html +++ b/docs/doxygen/html/annotated.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structures @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -105,7 +110,7 @@ diff --git a/docs/doxygen/html/classes.html b/docs/doxygen/html/classes.html index 54fe626..7b4a7cf 100644 --- a/docs/doxygen/html/classes.html +++ b/docs/doxygen/html/classes.html @@ -3,7 +3,7 @@ - + pdal-c: Data Structure Index @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -106,7 +111,7 @@ diff --git a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html index a49942b..d34fc0a 100644 --- a/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html +++ b/docs/doxygen/html/dir_a542be5b8e919f24a4504a2b5a97aa0f.html @@ -3,7 +3,7 @@ - + pdal-c: pdal Directory Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -130,7 +135,7 @@ diff --git a/docs/doxygen/html/doxygen.css b/docs/doxygen/html/doxygen.css index 7b7d851..4947e24 100644 --- a/docs/doxygen/html/doxygen.css +++ b/docs/doxygen/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.10.0*/ +/* The standard CSS for doxygen 1.13.2*/ html { /* page base colors */ @@ -657,7 +657,24 @@ dl.el { margin-left: -1cm; } +ul.check { + list-style:none; + text-indent: -16px; + padding-left: 38px; +} +li.unchecked:before { + content: "\2610\A0"; +} +li.checked:before { + content: "\2611\A0"; +} + +ol { + text-indent: 0px; +} + ul { + text-indent: 0px; overflow: visible; } @@ -709,8 +726,7 @@ pre.fragment { opacity: 0; position: absolute; display: inline; - overflow: auto; - fill: var(--fragment-foreground-color); + overflow: hidden; justify-content: center; align-items: center; cursor: pointer; @@ -722,7 +738,7 @@ pre.fragment { } .fragment:hover .clipboard, .clipboard.success { - opacity: .28; + opacity: .4; } .clipboard:hover, .clipboard.success { @@ -1428,7 +1444,7 @@ table.fieldtable { padding: 3px 7px 2px; } -.fieldtable td.fieldtype, .fieldtable td.fieldname { +.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit { white-space: nowrap; border-right: 1px solid var(--memdef-border-color); border-bottom: 1px solid var(--memdef-border-color); @@ -1439,6 +1455,12 @@ table.fieldtable { padding-top: 3px; } +.fieldtable td.fieldinit { + padding-top: 3px; + text-align: right; +} + + .fieldtable td.fielddoc { border-bottom: 1px solid var(--memdef-border-color); } @@ -1614,7 +1636,7 @@ dl.note { border-color: #D0C000; } -dl.warning, dl.attention { +dl.warning, dl.attention, dl.important { margin-left: -7px; padding-left: 3px; border-left: 4px solid; @@ -1662,7 +1684,7 @@ dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { font-weight: bold !important; } -dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { padding: 10px; margin: 10px 0px; @@ -1675,13 +1697,13 @@ dl.section dd { margin-bottom: 2px; } -dl.warning, dl.attention { +dl.warning, dl.attention, dl.important { background: var(--warning-color-bg); border-left: 8px solid var(--warning-color-hl); color: var(--warning-color-text); } -dl.warning dt, dl.attention dt { +dl.warning dt, dl.attention dt, dl.important dt { color: var(--warning-color-hl); } @@ -1739,7 +1761,9 @@ dl.deprecated dt a { color: var(--deprecated-color-hl) !important; } -dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { +dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, +dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, +dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { margin-inline-start: 0px; } @@ -1785,6 +1809,11 @@ dl.invariant dt, dl.pre dt, dl.post dt { padding: 2px 0px; } +#side-nav #projectname +{ + font-size: 130%; +} + #projectbrief { font-size: 90%; @@ -1891,20 +1920,17 @@ div.toc ul { padding: 0px; } -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { +div.toc li[class^='level'] { margin-left: 15px; } -div.toc li.level3 { - margin-left: 15px; +div.toc li.level1 { + margin-left: 0px; } -div.toc li.level4 { - margin-left: 15px; +div.toc li.empty { + background-image: none; + margin-top: 0px; } span.emoji { @@ -2175,10 +2201,14 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -tt, code, kbd, samp +tt, code, kbd { display: inline-block; } +tt, code, kbd +{ + vertical-align: top; +} /* @end */ u { diff --git a/docs/doxygen/html/dynsections.js b/docs/doxygen/html/dynsections.js index 8f49326..b05f4c8 100644 --- a/docs/doxygen/html/dynsections.js +++ b/docs/doxygen/html/dynsections.js @@ -23,6 +23,10 @@ @licend The above is the entire license notice for the JavaScript code in this file */ +function toggleVisibility(linkObj) { + return dynsection.toggleVisibility(linkObj); +} + let dynsection = { // helper function diff --git a/docs/doxygen/html/files.html b/docs/doxygen/html/files.html index 57f7cbd..7377291 100644 --- a/docs/doxygen/html/files.html +++ b/docs/doxygen/html/files.html @@ -3,7 +3,7 @@ - + pdal-c: File List @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -114,7 +119,7 @@ diff --git a/docs/doxygen/html/functions.html b/docs/doxygen/html/functions.html index a875482..3502185 100644 --- a/docs/doxygen/html/functions.html +++ b/docs/doxygen/html/functions.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -103,7 +108,7 @@ diff --git a/docs/doxygen/html/functions_vars.html b/docs/doxygen/html/functions_vars.html index 1049d29..c64b00d 100644 --- a/docs/doxygen/html/functions_vars.html +++ b/docs/doxygen/html/functions_vars.html @@ -3,7 +3,7 @@ - + pdal-c: Data Fields - Variables @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -103,7 +108,7 @@ diff --git a/docs/doxygen/html/globals.html b/docs/doxygen/html/globals.html index 1571046..c227984 100644 --- a/docs/doxygen/html/globals.html +++ b/docs/doxygen/html/globals.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -163,7 +168,7 @@

                                            - p -

                                              diff --git a/docs/doxygen/html/globals_func.html b/docs/doxygen/html/globals_func.html index fc8569e..a406903 100644 --- a/docs/doxygen/html/globals_func.html +++ b/docs/doxygen/html/globals_func.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                              pdal-c v2.2.2 +
                                              pdal-c v2.2.3
                                              C API for PDAL
                                              @@ -36,18 +36,23 @@
                                              - + +
                                              @@ -156,7 +161,7 @@

                                              - p -

                                                diff --git a/docs/doxygen/html/globals_type.html b/docs/doxygen/html/globals_type.html index 3ba5f50..6e7a778 100644 --- a/docs/doxygen/html/globals_type.html +++ b/docs/doxygen/html/globals_type.html @@ -3,7 +3,7 @@ - + pdal-c: Globals @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                                pdal-c v2.2.2 +
                                                pdal-c v2.2.3
                                                C API for PDAL
                                                @@ -36,18 +36,23 @@
                                                - + +
                                                @@ -106,7 +111,7 @@ diff --git a/docs/doxygen/html/index.html b/docs/doxygen/html/index.html index 4b84fa9..6a5df35 100644 --- a/docs/doxygen/html/index.html +++ b/docs/doxygen/html/index.html @@ -3,7 +3,7 @@ - + pdal-c: pdal-c: PDAL C API @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                                pdal-c v2.2.2 +
                                                pdal-c v2.2.3
                                                C API for PDAL
                                                @@ -36,18 +36,23 @@
                                                - + +
                                                @@ -204,13 +209,13 @@

                                              • On Linux by running ./check_all.bash
                                            - +
                                            diff --git a/docs/doxygen/html/jquery.js b/docs/doxygen/html/jquery.js index 1dffb65..875ada7 100644 --- a/docs/doxygen/html/jquery.js +++ b/docs/doxygen/html/jquery.js @@ -1,17 +1,143 @@ /*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
                                            "],col:[2,"","
                                            "],tr:[2,"","
                                            "],td:[3,"","
                                            "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
                                            ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp( +"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType +}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c +)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){ +return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll( +":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id") +)&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push( +"\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test( +a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null, +null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne +).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for( +var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
                                            "],col:[2,"","
                                            "],tr:[2,"","
                                            "],td:[3,"","
                                            "],_default:[0,"",""]};function ve(e,t){var n; +return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0, +r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r] +,C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
                                            ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each( +function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r, +"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})} +),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each( +"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
                                            "),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
                                            ").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
                                            ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t +){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t +]=y.widget.extend({},this.options[t]),n=0;n
                                            "),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i}, +getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within, +s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n
                                            ").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})), +this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t +).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split( +","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add( +this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{ +width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(), +!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){ +this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height +,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
                                            ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e, +i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left +)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e +){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0), +i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth( +)-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e, +function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0 +]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right-1){ +targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se", +"n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if( +session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)} +closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if( +session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE, +function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset); +tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList, +finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight())); +return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")} +function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(), +elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight, +viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + */!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b, +"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery); +/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 * http://www.smartmenus.org/ - * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
                                            ').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)), +mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend( +$.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy( +this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData( +"smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id" +).indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
                                            ').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?( +this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for( +var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){ +return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if(( +!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&( +this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0 +]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass( +"highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){ +t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]" +)||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){ +t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"), +a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i, +downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2) +)&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t +)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0), +canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}}, +rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})} +return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1, +bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); diff --git a/docs/doxygen/html/menu.js b/docs/doxygen/html/menu.js index 717761d..0fd1e99 100644 --- a/docs/doxygen/html/menu.js +++ b/docs/doxygen/html/menu.js @@ -22,7 +22,7 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { +function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { function makeTree(data,relPath) { let result=''; if ('children' in data) { @@ -91,7 +91,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { let prevWidth = 0; if ($mainMenuState.length) { const initResizableIfExists = function() { - if (typeof initResizable==='function') initResizable(); + if (typeof initResizable==='function') initResizable(treeview); } // animate mobile menu $mainMenuState.change(function() { diff --git a/docs/doxygen/html/navtree.js b/docs/doxygen/html/navtree.js index 884b79b..2d4fa84 100644 --- a/docs/doxygen/html/navtree.js +++ b/docs/doxygen/html/navtree.js @@ -122,9 +122,9 @@ function initNavTree(toroot,relpath) { if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') || ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') || ancParent.is(':header')) { - pos = ancParent.position().top; + pos = ancParent.offset().top; } else if (anchor.position()) { - pos = anchor.position().top; + pos = anchor.offset().top; } if (pos) { const dcOffset = docContent.offset().top; @@ -136,8 +136,19 @@ function initNavTree(toroot,relpath) { docContent.animate({ scrollTop: pos + dcScrTop - dcOffset },Math.max(50,Math.min(500,dist)),function() { - window.location.href=aname; animationInProgress=false; + if (anchor.parent().attr('class')=='memItemLeft') { + let rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname') { + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype') { + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } }); } } @@ -260,18 +271,6 @@ function initNavTree(toroot,relpath) { const highlightAnchor = function() { const aname = hashUrl(); const anchor = $(aname); - if (anchor.parent().attr('class')=='memItemLeft') { - let rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); - glowEffect(rows.children(),300); // member without details - } else if (anchor.parent().attr('class')=='fieldname') { - glowEffect(anchor.parent().parent(),1000); // enum value - } else if (anchor.parent().attr('class')=='fieldtype') { - glowEffect(anchor.parent().parent(),1000); // struct field - } else if (anchor.parent().is(":header")) { - glowEffect(anchor.parent(),1000); // section header - } else { - glowEffect(anchor.next(),1000); // normal member - } gotoAnchor(anchor,aname); } @@ -453,23 +452,25 @@ function initNavTree(toroot,relpath) { showRoot(); $(window).bind('hashchange', () => { - if (window.location.hash && window.location.hash.length>1) { - let a; - if ($(location).attr('hash')) { - const clslink=stripPath(pathName())+':'+hashValue(); - a=$('.item a[class$="'+clslink.replace(/1) { + let a; + if ($(location).attr('hash')) { + const clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ - + pdal-c: pdal/pdalc.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -103,7 +108,7 @@ diff --git a/docs/doxygen/html/pdalc_8h_source.html b/docs/doxygen/html/pdalc_8h_source.html index f2ff604..d710cfa 100644 --- a/docs/doxygen/html/pdalc_8h_source.html +++ b/docs/doxygen/html/pdalc_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -152,7 +152,7 @@ diff --git a/docs/doxygen/html/pdalc__config_8h.html b/docs/doxygen/html/pdalc__config_8h.html index 3435139..5d68c83 100644 --- a/docs/doxygen/html/pdalc__config_8h.html +++ b/docs/doxygen/html/pdalc__config_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + + diff --git a/docs/doxygen/html/pdalc__config_8h_source.html b/docs/doxygen/html/pdalc__config_8h_source.html index 034c122..dc2c494 100644 --- a/docs/doxygen/html/pdalc__config_8h_source.html +++ b/docs/doxygen/html/pdalc__config_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_config.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -134,7 +134,8 @@
                                            32
                                            33#include "pdalc_forward.h"
                                            34
                                            -
                                            35
                                            +
                                            35
                                            +
                                            40
                                            41#ifdef __cplusplus
                                            42
                                            43namespace pdal
                                            @@ -145,31 +146,31 @@
                                            48{
                                            49#else
                                            50#include <stddef.h> // for size_t
                                            -
                                            51#endif
                                            +
                                            51#endif
                                            59PDALC_API size_t PDALGetGdalDataPath(char *path, size_t size);
                                            -
                                            60
                                            +
                                            60
                                            68PDALC_API size_t PDALGetProj4DataPath(char *path, size_t size);
                                            -
                                            69
                                            +
                                            69
                                            75PDALC_API void PDALSetGdalDataPath(const char *path);
                                            -
                                            76
                                            +
                                            76
                                            82PDALC_API void PDALSetProj4DataPath(const char *path);
                                            -
                                            83
                                            +
                                            83
                                            95PDALC_API size_t PDALFullVersionString(char *version, size_t size);
                                            -
                                            96
                                            +
                                            96
                                            108PDALC_API size_t PDALVersionString(char *version, size_t size);
                                            -
                                            109
                                            +
                                            109
                                            120PDALC_API int PDALVersionInteger();
                                            -
                                            121
                                            +
                                            121
                                            131PDALC_API size_t PDALSha1(char *sha1, size_t size);
                                            -
                                            132
                                            +
                                            132
                                            140PDALC_API int PDALVersionMajor();
                                            -
                                            141
                                            +
                                            141
                                            149PDALC_API int PDALVersionMinor();
                                            -
                                            150
                                            +
                                            150
                                            158PDALC_API int PDALVersionPatch();
                                            -
                                            159
                                            +
                                            159
                                            169PDALC_API size_t PDALDebugInformation(char *info, size_t size);
                                            -
                                            170
                                            +
                                            170
                                            180PDALC_API size_t PDALPluginInstallPath(char *path, size_t size);
                                            181
                                            182#ifdef __cplusplus
                                            @@ -191,7 +192,7 @@
                                            PDALC_API void PDALSetGdalDataPath(const char *path)
                                            Sets the path to the GDAL data directory.
                                            PDALC_API size_t PDALVersionString(char *version, size_t size)
                                            Retrieves the PDAL version string.
                                            PDALC_API size_t PDALFullVersionString(char *version, size_t size)
                                            Retrieves the full PDAL version string.
                                            -
                                            PDALC_API size_t PDALSha1(char *sha1, size_t size)
                                            Retrieves PDAL's Git commit SHA1 as a string.
                                            +
                                            PDALC_API size_t PDALSha1(char *sha1, size_t size)
                                            Retrieves PDAL's Git commit SHA1 as a string.
                                            Forward declarations for the PDAL C API.
                                            @@ -199,7 +200,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h.html b/docs/doxygen/html/pdalc__defines_8h.html index 2bb8a09..cc808d2 100644 --- a/docs/doxygen/html/pdalc__defines_8h.html +++ b/docs/doxygen/html/pdalc__defines_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -103,7 +108,7 @@ diff --git a/docs/doxygen/html/pdalc__defines_8h_source.html b/docs/doxygen/html/pdalc__defines_8h_source.html index 6d06c1b..86cabcb 100644 --- a/docs/doxygen/html/pdalc__defines_8h_source.html +++ b/docs/doxygen/html/pdalc__defines_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_defines.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -171,7 +171,7 @@ diff --git a/docs/doxygen/html/pdalc__dimtype_8h.html b/docs/doxygen/html/pdalc__dimtype_8h.html index 59be7ae..6be5895 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h.html +++ b/docs/doxygen/html/pdalc__dimtype_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -167,7 +172,7 @@

                                            PDALC_API PDALDimType PDALGetDimType ( - PDALDimTypeListPtr types, + PDALDimTypeListPtr types, @@ -198,12 +203,12 @@

                                            PDALC_API size_t PDALGetDimTypeIdName ( - PDALDimType dim, + PDALDimType dim, - char * name, + char * name, @@ -261,12 +266,12 @@

                                            PDALC_API size_t PDALGetDimTypeInterpretationName ( - PDALDimType dim, + PDALDimType dim, - char * name, + char * name, @@ -350,7 +355,7 @@

                                            PDALC_API PDALDimType PDALGetInvalidDimType ( - ) + ) @@ -373,7 +378,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__dimtype_8h_source.html b/docs/doxygen/html/pdalc__dimtype_8h_source.html index c0d5cb5..17ab75b 100644 --- a/docs/doxygen/html/pdalc__dimtype_8h_source.html +++ b/docs/doxygen/html/pdalc__dimtype_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_dimtype.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -133,7 +133,8 @@
                                            31#define PDALC_DIMTYPE_H
                                            32
                                            33#include "pdalc_forward.h"
                                            -
                                            34
                                            +
                                            34
                                            +
                                            39
                                            40#ifdef __cplusplus
                                            41
                                            42namespace pdal
                                            @@ -144,21 +145,21 @@
                                            47{
                                            48#else
                                            49#include <stddef.h> // for size_t
                                            -
                                            50#endif
                                            +
                                            50#endif
                                            -
                                            58
                                            +
                                            58
                                            -
                                            67
                                            +
                                            67
                                            -
                                            78
                                            +
                                            78
                                            87PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index);
                                            -
                                            88
                                            +
                                            88
                                            98PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size);
                                            -
                                            99
                                            +
                                            99
                                            109PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size);
                                            -
                                            110
                                            +
                                            110
                                            -
                                            118
                                            +
                                            118
                                            125
                                            126#ifdef __cplusplus
                                            @@ -171,10 +172,10 @@
                                            PDALC_API PDALDimType PDALGetInvalidDimType()
                                            Returns the invalid dimension type.
                                            PDALC_API void PDALDisposeDimTypeList(PDALDimTypeListPtr types)
                                            Disposes the provided dimension type list.
                                            PDALC_API uint64_t PDALGetDimTypeListByteCount(PDALDimTypeListPtr types)
                                            Returns the number of bytes required to store data referenced by a dimension type list.
                                            -
                                            PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size)
                                            Retrieves the name of a dimension type's ID.
                                            +
                                            PDALC_API size_t PDALGetDimTypeIdName(PDALDimType dim, char *name, size_t size)
                                            Retrieves the name of a dimension type's ID.
                                            PDALC_API PDALDimType PDALGetDimType(PDALDimTypeListPtr types, size_t index)
                                            Returns the dimension type at the provided index from a dimension type list.
                                            -
                                            PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size)
                                            Retrieves the name of a dimension type's interpretation, i.e., its data type.
                                            -
                                            PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
                                            Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                                            +
                                            PDALC_API size_t PDALGetDimTypeInterpretationName(PDALDimType dim, char *name, size_t size)
                                            Retrieves the name of a dimension type's interpretation, i.e., its data type.
                                            +
                                            PDALC_API size_t PDALGetDimTypeInterpretationByteCount(PDALDimType dim)
                                            Retrieves the byte count of a dimension type's interpretation, i.e., its data size.
                                            PDALC_API size_t PDALGetDimTypeListSize(PDALDimTypeListPtr types)
                                            Returns the number of elements in a dimension type list.
                                            Forward declarations for the PDAL C API.
                                            void * PDALDimTypeListPtr
                                            A pointer to a dimension type list.
                                            Definition pdalc_forward.h:97
                                            @@ -185,7 +186,7 @@ diff --git a/docs/doxygen/html/pdalc__forward_8h.html b/docs/doxygen/html/pdalc__forward_8h.html index 94d4942..8c20862 100644 --- a/docs/doxygen/html/pdalc__forward_8h.html +++ b/docs/doxygen/html/pdalc__forward_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -255,7 +260,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__forward_8h_source.html b/docs/doxygen/html/pdalc__forward_8h_source.html index 40bc159..7193428 100644 --- a/docs/doxygen/html/pdalc__forward_8h_source.html +++ b/docs/doxygen/html/pdalc__forward_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_forward.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -141,7 +141,8 @@
                                            39#else
                                            40#define PDALC_API PDALC_IMPORT_API
                                            41#endif
                                            -
                                            42
                                            +
                                            42
                                            +
                                            47
                                            48#ifdef __cplusplus
                                            49#include <memory>
                                            50#include <set>
                                            @@ -173,32 +174,32 @@
                                            76#endif /* __cplusplus */
                                            77
                                            78typedef struct PDALDimType PDALDimType;
                                            -
                                            79
                                            +
                                            79
                                            82{
                                            84 uint32_t id;
                                            -
                                            85
                                            +
                                            85
                                            87 uint32_t type;
                                            -
                                            88
                                            +
                                            88
                                            90 double scale;
                                            -
                                            91
                                            +
                                            91
                                            93 double offset;
                                            94};
                                            -
                                            95
                                            +
                                            95
                                            97typedef void* PDALDimTypeListPtr;
                                            -
                                            98
                                            +
                                            98
                                            100typedef void* PDALPipelinePtr;
                                            -
                                            101
                                            +
                                            101
                                            103typedef uint64_t PDALPointId;
                                            -
                                            104
                                            +
                                            104
                                            106typedef void* PDALPointLayoutPtr;
                                            -
                                            107
                                            +
                                            107
                                            109typedef void* PDALPointViewPtr;
                                            -
                                            110
                                            +
                                            110
                                            112typedef void* PDALMeshPtr;
                                            -
                                            113
                                            +
                                            113
                                            116
                                            117#endif /* PDALC_FORWARD_H */
                                            @@ -211,17 +212,17 @@
                                            void * PDALDimTypeListPtr
                                            A pointer to a dimension type list.
                                            Definition pdalc_forward.h:97
                                            void * PDALPointLayoutPtr
                                            A pointer to a point layout.
                                            Definition pdalc_forward.h:106
                                            A dimension type.
                                            Definition pdalc_forward.h:82
                                            -
                                            double offset
                                            The dimension's offset value.
                                            Definition pdalc_forward.h:93
                                            -
                                            uint32_t id
                                            The dimension's identifier.
                                            Definition pdalc_forward.h:84
                                            -
                                            double scale
                                            The dimension's scaling factor.
                                            Definition pdalc_forward.h:90
                                            -
                                            uint32_t type
                                            The dimension's interpretation type.
                                            Definition pdalc_forward.h:87
                                            +
                                            double offset
                                            The dimension's offset value.
                                            Definition pdalc_forward.h:93
                                            +
                                            uint32_t id
                                            The dimension's identifier.
                                            Definition pdalc_forward.h:84
                                            +
                                            double scale
                                            The dimension's scaling factor.
                                            Definition pdalc_forward.h:90
                                            +
                                            uint32_t type
                                            The dimension's interpretation type.
                                            Definition pdalc_forward.h:87
                                            diff --git a/docs/doxygen/html/pdalc__pipeline_8h.html b/docs/doxygen/html/pdalc__pipeline_8h.html index f2f484b..02b8ccf 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h.html +++ b/docs/doxygen/html/pdalc__pipeline_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -262,12 +267,12 @@

                                            PDALC_API size_t PDALGetPipelineAsString ( - PDALPipelinePtr pipeline, + PDALPipelinePtr pipeline, - char * buffer, + char * buffer, @@ -299,12 +304,12 @@

                                            PDALC_API size_t PDALGetPipelineLog ( - PDALPipelinePtr pipeline, + PDALPipelinePtr pipeline, - char * log, + char * log, @@ -363,12 +368,12 @@

                                            PDALC_API size_t PDALGetPipelineMetadata ( - PDALPipelinePtr pipeline, + PDALPipelinePtr pipeline, - char * metadata, + char * metadata, @@ -400,12 +405,12 @@

                                            PDALC_API size_t PDALGetPipelineSchema ( - PDALPipelinePtr pipeline, + PDALPipelinePtr pipeline, - char * schema, + char * schema, @@ -490,7 +495,7 @@

                                            PDALC_API void PDALSetPipelineLogLevel ( - PDALPipelinePtr pipeline, + PDALPipelinePtr pipeline, @@ -543,7 +548,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pipeline_8h_source.html b/docs/doxygen/html/pdalc__pipeline_8h_source.html index 7a149cb..17a22e2 100644 --- a/docs/doxygen/html/pdalc__pipeline_8h_source.html +++ b/docs/doxygen/html/pdalc__pipeline_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pipeline.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -134,7 +134,8 @@
                                            32
                                            33#include "pdalc_forward.h"
                                            34
                                            -
                                            35
                                            +
                                            35
                                            +
                                            40
                                            41#ifdef __cplusplus
                                            42
                                            43namespace pdal
                                            @@ -149,31 +150,31 @@
                                            52#include <stddef.h> // for size_t
                                            53#include <stdint.h> // for int64_t
                                            54#endif /* __cplusplus */
                                            -
                                            55
                                            +
                                            55
                                            64PDALC_API PDALPipelinePtr PDALCreatePipeline(const char* json);
                                            -
                                            65
                                            +
                                            65
                                            71PDALC_API void PDALDisposePipeline(PDALPipelinePtr pipeline);
                                            -
                                            72
                                            +
                                            72
                                            81PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size);
                                            -
                                            82
                                            +
                                            82
                                            91PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size);
                                            -
                                            92
                                            +
                                            92
                                            101PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size);
                                            -
                                            102
                                            +
                                            102
                                            113PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size);
                                            -
                                            114
                                            +
                                            114
                                            121PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level);
                                            -
                                            122
                                            +
                                            122
                                            -
                                            130
                                            +
                                            130
                                            137PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline);
                                            -
                                            138
                                            +
                                            138
                                            -
                                            146
                                            +
                                            146
                                            -
                                            154
                                            +
                                            154
                                            161PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline);
                                            -
                                            162
                                            +
                                            162
                                            174
                                            175#ifdef __cplusplus
                                            @@ -190,13 +191,13 @@
                                            PDALC_API int64_t PDALExecutePipeline(PDALPipelinePtr pipeline)
                                            Executes a pipeline.
                                            PDALC_API PDALPipelinePtr PDALCreatePipeline(const char *json)
                                            Creates a PDAL pipeline from a JSON text string.
                                            PDALC_API bool PDALExecutePipelineAsStream(PDALPipelinePtr pipeline)
                                            Executes a pipeline as a streamable pipeline.
                                            -
                                            PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
                                            Sets a pipeline's log level.
                                            -
                                            PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                                            Returns a pipeline's log level.
                                            -
                                            PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
                                            Retrieves a pipeline's computed schema.
                                            +
                                            PDALC_API void PDALSetPipelineLogLevel(PDALPipelinePtr pipeline, int level)
                                            Sets a pipeline's log level.
                                            +
                                            PDALC_API int PDALGetPipelineLogLevel(PDALPipelinePtr pipeline)
                                            Returns a pipeline's log level.
                                            +
                                            PDALC_API size_t PDALGetPipelineSchema(PDALPipelinePtr pipeline, char *schema, size_t size)
                                            Retrieves a pipeline's computed schema.
                                            PDALC_API bool PDALValidatePipeline(PDALPipelinePtr pipeline)
                                            Validates a pipeline.
                                            PDALC_API size_t PDALGetPipelineAsString(PDALPipelinePtr pipeline, char *buffer, size_t size)
                                            Retrieves a string representation of a pipeline.
                                            -
                                            PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                                            Retrieves a pipeline's execution log.
                                            -
                                            PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                                            Retrieves a pipeline's computed metadata.
                                            +
                                            PDALC_API size_t PDALGetPipelineLog(PDALPipelinePtr pipeline, char *log, size_t size)
                                            Retrieves a pipeline's execution log.
                                            +
                                            PDALC_API size_t PDALGetPipelineMetadata(PDALPipelinePtr pipeline, char *metadata, size_t size)
                                            Retrieves a pipeline's computed metadata.
                                            PDALC_API PDALPointViewIteratorPtr PDALGetPointViews(PDALPipelinePtr pipeline)
                                            Gets the resulting point views from a pipeline execution.
                                            PDALC_API bool PDALPipelineIsStreamable(PDALPipelinePtr pipeline)
                                            Determines if a pipeline is streamable.
                                            @@ -205,7 +206,7 @@ diff --git a/docs/doxygen/html/pdalc__pointlayout_8h.html b/docs/doxygen/html/pdalc__pointlayout_8h.html index cfaf0b9..26d5412 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -133,7 +138,7 @@

                                            PDALC_API PDALDimType PDALFindDimType ( - PDALPointLayoutPtr layout, + PDALPointLayoutPtr layout, @@ -164,7 +169,7 @@

                                            PDALC_API size_t PDALGetDimPackedOffset ( - PDALPointLayoutPtr layout, + PDALPointLayoutPtr layout, @@ -195,7 +200,7 @@

                                            PDALC_API size_t PDALGetDimSize ( - PDALPointLayoutPtr layout, + PDALPointLayoutPtr layout, @@ -276,7 +281,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointlayout_8h_source.html b/docs/doxygen/html/pdalc__pointlayout_8h_source.html index eb68e0f..bbbe981 100644 --- a/docs/doxygen/html/pdalc__pointlayout_8h_source.html +++ b/docs/doxygen/html/pdalc__pointlayout_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointlayout.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -133,7 +133,9 @@
                                            31#define PDALC_POINTLAYOUT_H
                                            32
                                            33#include "pdalc_forward.h"
                                            -
                                            34
                                            +
                                            34
                                            +
                                            39
                                            +
                                            40
                                            41#ifdef __cplusplus
                                            42namespace pdal
                                            43{
                                            @@ -144,15 +146,15 @@
                                            48{
                                            49#else
                                            50#include <stddef.h> // for size_t
                                            -
                                            51#endif
                                            +
                                            51#endif
                                            -
                                            62
                                            +
                                            62
                                            71PDALC_API PDALDimType PDALFindDimType(PDALPointLayoutPtr layout, const char *name);
                                            -
                                            72
                                            +
                                            72
                                            81PDALC_API size_t PDALGetDimSize(PDALPointLayoutPtr layout, const char *name);
                                            -
                                            82
                                            +
                                            82
                                            91PDALC_API size_t PDALGetDimPackedOffset(PDALPointLayoutPtr layout, const char *name);
                                            -
                                            92
                                            +
                                            92
                                            99PDALC_API size_t PDALGetPointSize(PDALPointLayoutPtr layout);
                                            100
                                            101#ifdef __cplusplus
                                            @@ -177,7 +179,7 @@ diff --git a/docs/doxygen/html/pdalc__pointview_8h.html b/docs/doxygen/html/pdalc__pointview_8h.html index a685284..7493bf0 100644 --- a/docs/doxygen/html/pdalc__pointview_8h.html +++ b/docs/doxygen/html/pdalc__pointview_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -206,12 +211,12 @@

                                            PDALC_API uint64_t PDALGetAllPackedPoints ( - PDALPointViewPtr view, + PDALPointViewPtr view, - PDALDimTypeListPtr dims, + PDALDimTypeListPtr dims, @@ -247,7 +252,7 @@

                                            PDALC_API uint64_t PDALGetAllTriangles ( - PDALPointViewPtr view, + PDALPointViewPtr view, @@ -309,17 +314,17 @@

                                            PDALC_API size_t PDALGetPackedPoint ( - PDALPointViewPtr view, + PDALPointViewPtr view, - PDALDimTypeListPtr dims, + PDALDimTypeListPtr dims, - PDALPointId idx, + PDALPointId idx, @@ -407,12 +412,12 @@

                                            PDALC_API size_t PDALGetPointViewProj4 ( - PDALPointViewPtr view, + PDALPointViewPtr view, - char * proj, + char * proj, @@ -472,17 +477,17 @@

                                            PDALC_API size_t PDALGetPointViewWkt ( - PDALPointViewPtr view, + PDALPointViewPtr view, - char * wkt, + char * wkt, - size_t size, + size_t size, @@ -540,7 +545,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointview_8h_source.html b/docs/doxygen/html/pdalc__pointview_8h_source.html index 1bbc4b5..d6e56c9 100644 --- a/docs/doxygen/html/pdalc__pointview_8h_source.html +++ b/docs/doxygen/html/pdalc__pointview_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointview.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -133,7 +133,8 @@
                                            31#define PDALC_POINTVIEW_H
                                            32
                                            33#include "pdalc_forward.h"
                                            -
                                            34
                                            +
                                            34
                                            +
                                            39
                                            40#ifdef __cplusplus /* __cplusplus */
                                            41
                                            42namespace pdal
                                            @@ -146,29 +147,29 @@
                                            49#include <stdbool.h> // for bool
                                            50#include <stddef.h> // for size_t
                                            51#include <stdint.h> // for uint64_t
                                            -
                                            52#endif
                                            +
                                            52#endif
                                            -
                                            59
                                            +
                                            59
                                            -
                                            69
                                            +
                                            69
                                            78PDALC_API uint64_t PDALGetPointViewSize(PDALPointViewPtr view);
                                            -
                                            79
                                            +
                                            79
                                            -
                                            89
                                            +
                                            89
                                            -
                                            99
                                            +
                                            99
                                            111PDALC_API size_t PDALGetPointViewProj4(PDALPointViewPtr view, char *proj, size_t size);
                                            -
                                            112
                                            +
                                            112
                                            124PDALC_API size_t PDALGetPointViewWkt(PDALPointViewPtr view, char *wkt, size_t size, bool pretty);
                                            -
                                            125
                                            +
                                            125
                                            -
                                            136
                                            +
                                            136
                                            149PDALC_API size_t PDALGetPackedPoint(PDALPointViewPtr view, PDALDimTypeListPtr dims, PDALPointId idx, char *buffer);
                                            -
                                            150
                                            +
                                            150
                                            168PDALC_API uint64_t PDALGetAllPackedPoints(PDALPointViewPtr view, PDALDimTypeListPtr dims, char *buffer);
                                            -
                                            169
                                            +
                                            169
                                            178PDALC_API uint64_t PDALGetMeshSize(PDALPointViewPtr view);
                                            -
                                            179
                                            +
                                            179
                                            196PDALC_API uint64_t PDALGetAllTriangles(PDALPointViewPtr view, char *buffer);
                                            197
                                            198#ifdef __cplusplus
                                            @@ -201,7 +202,7 @@ diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h.html b/docs/doxygen/html/pdalc__pointviewiterator_8h.html index 4db4ae1..72449aa 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h File Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -230,7 +235,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html index bae3931..626048a 100644 --- a/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html +++ b/docs/doxygen/html/pdalc__pointviewiterator_8h_source.html @@ -3,7 +3,7 @@ - + pdal-c: pdal/pdalc_pointviewiterator.h Source File @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,28 +36,28 @@
                                            - + + -
                                            @@ -133,7 +133,8 @@
                                            31#define PDALC_POINTVIEWITERATOR_H
                                            32
                                            33#include "pdalc_forward.h"
                                            -
                                            34
                                            +
                                            34
                                            +
                                            39
                                            40#ifdef __cplusplus
                                            41#include <pdal/PointView.hpp>
                                            42
                                            @@ -159,13 +160,13 @@
                                            62#else
                                            63#include <stdbool.h> // for bool
                                            64#endif /* __cplusplus */
                                            -
                                            65
                                            +
                                            65
                                            -
                                            73
                                            +
                                            73
                                            -
                                            84
                                            +
                                            84
                                            -
                                            91
                                            +
                                            91
                                            98
                                            99#ifdef __cplusplus
                                            @@ -188,7 +189,7 @@ diff --git a/docs/doxygen/html/resize.js b/docs/doxygen/html/resize.js index 6ad2ae8..178d03b 100644 --- a/docs/doxygen/html/resize.js +++ b/docs/doxygen/html/resize.js @@ -23,7 +23,7 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function initResizable() { +function initResizable(treeview) { let sidenav,navtree,content,header,footer,barWidth=6; const RESIZE_COOKIE_NAME = ''+'width'; @@ -44,23 +44,31 @@ function initResizable() { sidenav.css({width:navWidth + "px"}); } - function resizeHeight() { + function resizeHeight(treeview) { const headerHeight = header.outerHeight(); - const footerHeight = footer.outerHeight(); const windowHeight = $(window).height(); - let contentHeight,navtreeHeight,sideNavHeight; - if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ - contentHeight = windowHeight - headerHeight - footerHeight; - navtreeHeight = contentHeight; - sideNavHeight = contentHeight; - } else if (page_layout==1) { /* DISABLE_INDEX=YES */ - contentHeight = windowHeight - footerHeight; - navtreeHeight = windowHeight - headerHeight; - sideNavHeight = windowHeight; + let contentHeight; + if (treeview) + { + const footerHeight = footer.outerHeight(); + let navtreeHeight,sideNavHeight; + if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ + contentHeight = windowHeight - headerHeight - footerHeight; + navtreeHeight = contentHeight; + sideNavHeight = contentHeight; + } else if (page_layout==1) { /* DISABLE_INDEX=YES */ + contentHeight = windowHeight - footerHeight; + navtreeHeight = windowHeight - headerHeight; + sideNavHeight = windowHeight; + } + navtree.css({height:navtreeHeight + "px"}); + sidenav.css({height:sideNavHeight + "px"}); + } + else + { + contentHeight = windowHeight - headerHeight; } content.css({height:contentHeight + "px"}); - navtree.css({height:navtreeHeight + "px"}); - sidenav.css({height:sideNavHeight + "px"}); if (location.hash.slice(1)) { (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); } @@ -80,30 +88,60 @@ function initResizable() { } header = $("#top"); - sidenav = $("#side-nav"); content = $("#doc-content"); - navtree = $("#nav-tree"); footer = $("#nav-path"); - $(".side-nav-resizable").resizable({resize: () => resizeWidth() }); - $(sidenav).resizable({ minWidth: 0 }); - $(window).resize(() => resizeHeight()); - const device = navigator.userAgent.toLowerCase(); - const touch_device = device.match(/(iphone|ipod|ipad|android)/); - if (touch_device) { /* wider split bar for touch only devices */ - $(sidenav).css({ paddingRight:'20px' }); - $('.ui-resizable-e').css({ width:'20px' }); - $('#nav-sync').css({ right:'34px' }); - barWidth=20; + sidenav = $("#side-nav"); + if (!treeview) { +// title = $("#titlearea"); +// titleH = $(title).height(); +// let animating = false; +// content.on("scroll", function() { +// slideOpts = { duration: 200, +// step: function() { +// contentHeight = $(window).height() - header.outerHeight(); +// content.css({ height : contentHeight + "px" }); +// }, +// done: function() { animating=false; } +// }; +// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) { +// title.slideUp(slideOpts); +// animating=true; +// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) { +// title.slideDown(slideOpts); +// animating=true; +// } +// }); + } else { + navtree = $("#nav-tree"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); } - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - if (width) { restoreWidth(width); } else { resizeWidth(); } - resizeHeight(); + $(window).resize(function() { resizeHeight(treeview); }); + if (treeview) + { + const device = navigator.userAgent.toLowerCase(); + const touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); + if (width) { restoreWidth(width); } else { resizeWidth(); } + } + resizeHeight(treeview); const url = location.href; const i=url.indexOf("#"); if (i>=0) window.location.hash=url.substr(i); - const _preventDefault = (evt) => evt.preventDefault(); - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); - $(window).on('load',resizeHeight); + const _preventDefault = function(evt) { evt.preventDefault(); }; + if (treeview) + { + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + // workaround for firefox + $("body").css({overflow: "hidden"}); + } + $(window).on('load',function() { resizeHeight(treeview); }); } /* @license-end */ diff --git a/docs/doxygen/html/struct_p_d_a_l_dim_type.html b/docs/doxygen/html/struct_p_d_a_l_dim_type.html index 5eed7f7..8ece048 100644 --- a/docs/doxygen/html/struct_p_d_a_l_dim_type.html +++ b/docs/doxygen/html/struct_p_d_a_l_dim_type.html @@ -3,7 +3,7 @@ - + pdal-c: PDALDimType Struct Reference @@ -11,9 +11,9 @@ - + @@ -27,7 +27,7 @@ -
                                            pdal-c v2.2.2 +
                                            pdal-c v2.2.3
                                            C API for PDAL
                                            @@ -36,18 +36,23 @@
                                            - + +
                                            @@ -191,7 +196,7 @@

                                              - +

                                            diff --git a/docs/doxygen/html/tabs.css b/docs/doxygen/html/tabs.css index fe4854a..7fa4268 100644 --- a/docs/doxygen/html/tabs.css +++ b/docs/doxygen/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}