[pdal-commits] [PDAL/PDAL] c69912: Plugin framework refactoring

GitHub noreply at github.com
Tue Feb 24 13:30:13 PST 2015


  Branch: refs/heads/plugin-manager
  Home:   https://github.com/PDAL/PDAL
  Commit: c69912b00b4f92a59b66c47e8c758a51f1369c2e
      https://github.com/PDAL/PDAL/commit/c69912b00b4f92a59b66c47e8c758a51f1369c2e
  Author: Bradley J Chambers <brad.chambers at gmail.com>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M apps/pdal.cpp
    M cmake/compiler_options.cmake
    M doc/tutorial/writing.rst
    M examples/writing/tutorial.cpp
    M filters/chipper/ChipperFilter.cpp
    M filters/chipper/ChipperFilter.hpp
    M filters/colorization/ColorizationFilter.cpp
    M filters/colorization/ColorizationFilter.hpp
    M filters/crop/CropFilter.cpp
    M filters/crop/CropFilter.hpp
    M filters/decimation/DecimationFilter.cpp
    M filters/decimation/DecimationFilter.hpp
    M filters/ferry/FerryFilter.cpp
    M filters/ferry/FerryFilter.hpp
    M filters/merge/CMakeLists.txt
    A filters/merge/MergeFilter.cpp
    M filters/merge/MergeFilter.hpp
    M filters/mortonorder/MortonOrderFilter.cpp
    M filters/mortonorder/MortonOrderFilter.hpp
    M filters/range/RangeFilter.cpp
    M filters/range/RangeFilter.hpp
    M filters/reprojection/ReprojectionFilter.cpp
    M filters/reprojection/ReprojectionFilter.hpp
    M filters/sort/CMakeLists.txt
    A filters/sort/SortFilter.cpp
    M filters/sort/SortFilter.hpp
    M filters/splitter/SplitterFilter.cpp
    M filters/splitter/SplitterFilter.hpp
    M filters/stats/StatsFilter.cpp
    M filters/stats/StatsFilter.hpp
    M filters/transformation/TransformationFilter.cpp
    M filters/transformation/TransformationFilter.hpp
    M include/pdal/BufferReader.hpp
    R include/pdal/Drivers.hpp
    M include/pdal/Filter.hpp
    R include/pdal/Filters.hpp
    M include/pdal/Kernel.hpp
    M include/pdal/KernelFactory.hpp
    R include/pdal/KernelInfo.hpp
    M include/pdal/KernelSupport.hpp
    R include/pdal/Kernels.hpp
    M include/pdal/PipelineManager.hpp
    M include/pdal/PipelineReader.hpp
    A include/pdal/PluginManager.hpp
    M include/pdal/Reader.hpp
    M include/pdal/Stage.hpp
    M include/pdal/StageFactory.hpp
    R include/pdal/StageInfo.hpp
    M include/pdal/Writer.hpp
    M include/pdal/pdal_macros.hpp
    A include/pdal/plugin.h
    M io/bpf/BpfReader.cpp
    M io/bpf/BpfReader.hpp
    M io/bpf/BpfWriter.cpp
    M io/bpf/BpfWriter.hpp
    M io/faux/FauxReader.cpp
    M io/faux/FauxReader.hpp
    M io/las/LasReader.cpp
    M io/las/LasReader.hpp
    M io/las/LasWriter.cpp
    M io/las/LasWriter.hpp
    M io/qfit/QfitReader.cpp
    M io/qfit/QfitReader.hpp
    M io/sbet/SbetReader.cpp
    M io/sbet/SbetReader.hpp
    M io/sbet/SbetWriter.cpp
    M io/sbet/SbetWriter.hpp
    M io/terrasolid/TerrasolidReader.cpp
    M io/terrasolid/TerrasolidReader.hpp
    M io/text/TextWriter.cpp
    M io/text/TextWriter.hpp
    M kernels/delta/DeltaKernel.cpp
    M kernels/delta/DeltaKernel.hpp
    M kernels/diff/DiffKernel.cpp
    M kernels/diff/DiffKernel.hpp
    M kernels/info/InfoKernel.cpp
    M kernels/info/InfoKernel.hpp
    M kernels/pipeline/PipelineKernel.cpp
    M kernels/pipeline/PipelineKernel.hpp
    M kernels/random/RandomKernel.cpp
    M kernels/random/RandomKernel.hpp
    M kernels/sort/SortKernel.cpp
    M kernels/sort/SortKernel.hpp
    M kernels/translate/TranslateKernel.cpp
    M kernels/translate/TranslateKernel.hpp
    M pdal_defines.h.in
    M plugins/CMakeLists.txt
    M plugins/attribute/filters/AttributeFilter.cpp
    M plugins/attribute/filters/AttributeFilter.hpp
    M plugins/cpd/kernel/Cpd.cpp
    M plugins/cpd/kernel/Cpd.hpp
    M plugins/cpd/test/CpdKernelTest.cpp
    M plugins/greyhound/io/GreyhoundReader.cpp
    M plugins/greyhound/io/GreyhoundReader.hpp
    M plugins/hexbin/filters/HexBin.cpp
    M plugins/hexbin/filters/HexBin.hpp
    M plugins/hexbin/test/HexbinFilterTest.cpp
    M plugins/icebridge/io/IcebridgeReader.cpp
    M plugins/icebridge/io/IcebridgeReader.hpp
    M plugins/icebridge/test/IcebridgeReaderTest.cpp
    M plugins/mrsid/io/MrsidReader.cpp
    M plugins/mrsid/io/MrsidReader.hpp
    M plugins/nitf/io/NitfReader.cpp
    M plugins/nitf/io/NitfReader.hpp
    M plugins/nitf/io/NitfWriter.cpp
    M plugins/nitf/io/NitfWriter.hpp
    M plugins/nitf/test/NitfReaderTest.cpp
    M plugins/nitf/test/NitfWriterTest.cpp
    M plugins/oci/io/OciReader.cpp
    M plugins/oci/io/OciReader.hpp
    M plugins/oci/io/OciWriter.cpp
    M plugins/oci/io/OciWriter.hpp
    M plugins/oci/test/OCITest.cpp
    M plugins/p2g/io/P2gWriter.cpp
    M plugins/p2g/io/P2gWriter.hpp
    M plugins/pcl/CMakeLists.txt
    M plugins/pcl/filters/GroundFilter.cpp
    M plugins/pcl/filters/GroundFilter.hpp
    M plugins/pcl/filters/PCLBlock.cpp
    M plugins/pcl/filters/PCLBlock.hpp
    M plugins/pcl/io/PCLVisualizer.cpp
    M plugins/pcl/io/PCLVisualizer.hpp
    M plugins/pcl/io/PcdReader.cpp
    M plugins/pcl/io/PcdReader.hpp
    M plugins/pcl/io/PcdWriter.cpp
    M plugins/pcl/io/PcdWriter.hpp
    M plugins/pcl/kernel/GroundKernel.cpp
    M plugins/pcl/kernel/GroundKernel.hpp
    M plugins/pcl/kernel/PCLKernel.cpp
    M plugins/pcl/kernel/PCLKernel.hpp
    M plugins/pcl/kernel/SmoothKernel.cpp
    M plugins/pcl/kernel/SmoothKernel.hpp
    M plugins/pcl/kernel/ViewKernel.cpp
    M plugins/pcl/kernel/ViewKernel.hpp
    M plugins/pcl/test/PCLBlockFilterTest.cpp
    M plugins/pgpointcloud/io/PgReader.cpp
    M plugins/pgpointcloud/io/PgReader.hpp
    M plugins/pgpointcloud/io/PgWriter.cpp
    M plugins/pgpointcloud/io/PgWriter.hpp
    M plugins/pgpointcloud/test/PgpointcloudWriterTest.cpp
    M plugins/python/filters/PredicateFilter.cpp
    M plugins/python/filters/PredicateFilter.hpp
    M plugins/python/filters/ProgrammableFilter.cpp
    M plugins/python/filters/ProgrammableFilter.hpp
    M plugins/python/test/PredicateFilterTest.cpp
    M plugins/python/test/ProgrammableFilterTest.cpp
    M plugins/rxp/io/RxpReader.cpp
    M plugins/rxp/io/RxpReader.hpp
    M plugins/sqlite/io/SQLiteReader.cpp
    M plugins/sqlite/io/SQLiteReader.hpp
    M plugins/sqlite/io/SQLiteWriter.cpp
    M plugins/sqlite/io/SQLiteWriter.hpp
    M plugins/sqlite/test/SQLiteTest.cpp
    M src/CMakeLists.txt
    A src/DynamicLibrary.cpp
    A src/DynamicLibrary.h
    M src/Kernel.cpp
    M src/KernelFactory.cpp
    R src/KernelInfo.cpp
    M src/KernelSupport.cpp
    M src/PipelineManager.cpp
    M src/PipelineReader.cpp
    A src/PluginManager.cpp
    M src/Stage.cpp
    M src/StageFactory.cpp
    R src/StageInfo.cpp
    M test/unit/LogTest.cpp
    M test/unit/OptionsTest.cpp
    M test/unit/PipelineManagerTest.cpp
    M test/unit/filters/CropFilterTest.cpp
    M test/unit/filters/DecimationFilterTest.cpp
    M test/unit/filters/FerryFilterTest.cpp
    M test/unit/filters/RangeFilterTest.cpp
    M test/unit/filters/SplitterTest.cpp
    M test/unit/filters/StatsFilterTest.cpp
    M test/unit/filters/TransformationFilterTest.cpp
    M test/unit/io/faux/FauxReaderTest.cpp
    M test/unit/io/qfit/QFITReaderTest.cpp
    M test/unit/io/sbet/SbetWriterTest.cpp

  Log Message:
  -----------
  Plugin framework refactoring

This commit adds a new PluginManager that controls loading of all plugins,
regardless of type (kernel vs. stage, static vs. shared). Subsequently, the
StageFactory and KernelFactory classes are greatly simplified as there was
significant redundant code. Macros are provided to simplify creation of each
type of plugin, but are not explicitly required. Each plugin registers it's
name, description, link, type, and will soon include a version.

Dropped program_options in pdal.cpp and added ability to selectively load
plugin types (or none at all).


  Commit: 329cc80d7ac8c1b548ac823a9c42baa41330bd53
      https://github.com/PDAL/PDAL/commit/329cc80d7ac8c1b548ac823a9c42baa41330bd53
  Author: Bradley J Chambers <brad.chambers at gmail.com>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M apps/pdal.cpp
    M include/pdal/KernelSupport.hpp
    M include/pdal/PipelineManager.hpp
    M include/pdal/PipelineReader.hpp
    M include/pdal/Stage.hpp
    M include/pdal/StageFactory.hpp
    M include/pdal/StageRunner.hpp
    M include/pdal/Writer.hpp
    M kernels/delta/DeltaKernel.cpp
    M kernels/diff/DiffKernel.cpp
    M kernels/info/InfoKernel.cpp
    M kernels/info/InfoKernel.hpp
    M kernels/pipeline/PipelineKernel.cpp
    M kernels/random/RandomKernel.cpp
    M kernels/sort/SortKernel.cpp
    M kernels/sort/SortKernel.hpp
    M kernels/translate/TranslateKernel.cpp
    M kernels/translate/TranslateKernel.hpp
    M plugins/cpd/kernel/Cpd.cpp
    M plugins/cpd/test/CpdKernelTest.cpp
    M plugins/hexbin/test/HexbinFilterTest.cpp
    M plugins/nitf/test/NitfReaderTest.cpp
    M plugins/nitf/test/NitfWriterTest.cpp
    M plugins/pcl/kernel/GroundKernel.cpp
    M plugins/pcl/kernel/GroundKernel.hpp
    M plugins/pcl/kernel/PCLKernel.cpp
    M plugins/pcl/kernel/PCLKernel.hpp
    M plugins/pcl/kernel/SmoothKernel.cpp
    M plugins/pcl/kernel/SmoothKernel.hpp
    M plugins/pcl/kernel/ViewKernel.cpp
    M plugins/pcl/kernel/ViewKernel.hpp
    M plugins/pcl/test/PCLBlockFilterTest.cpp
    M plugins/python/test/PredicateFilterTest.cpp
    M plugins/python/test/ProgrammableFilterTest.cpp
    M src/Kernel.cpp
    M src/KernelSupport.cpp
    M src/PipelineManager.cpp
    M src/PipelineReader.cpp
    M src/PipelineWriter.cpp
    M src/Stage.cpp
    M src/StageFactory.cpp
    M test/unit/LogTest.cpp
    M test/unit/OptionsTest.cpp
    M test/unit/PipelineManagerTest.cpp
    M test/unit/SpatialReferenceTest.cpp
    M test/unit/StageTester.hpp
    M test/unit/apps/pc2pcTest.cpp
    M test/unit/filters/ChipperTest.cpp
    M test/unit/filters/ColorizationFilterTest.cpp
    M test/unit/filters/CropFilterTest.cpp
    M test/unit/filters/DecimationFilterTest.cpp
    M test/unit/filters/FerryFilterTest.cpp
    M test/unit/filters/RangeFilterTest.cpp
    M test/unit/filters/SortFilterTest.cpp
    M test/unit/filters/SplitterTest.cpp
    M test/unit/filters/StatsFilterTest.cpp
    M test/unit/filters/TransformationFilterTest.cpp
    M test/unit/io/bpf/BPFTest.cpp
    M test/unit/io/buffer/BufferTest.cpp
    M test/unit/io/faux/FauxReaderTest.cpp
    M test/unit/io/las/LasReaderTest.cpp
    M test/unit/io/las/LasWriterTest.cpp
    M test/unit/io/qfit/QFITReaderTest.cpp
    M test/unit/io/sbet/SbetReaderTest.cpp
    M test/unit/io/sbet/SbetWriterTest.cpp

  Log Message:
  -----------
  move from naked Stage pointers to shared_ptr


Compare: https://github.com/PDAL/PDAL/compare/1dff16fec4d5...329cc80d7ac8


More information about the pdal-commits mailing list