[pdal-commits] [PDAL/PDAL] ab011c: Plugin framework refactoring
GitHub
noreply at github.com
Thu Feb 12 12:21:53 PST 2015
Branch: refs/heads/plugin-manager
Home: https://github.com/PDAL/PDAL
Commit: ab011cfdc6531b844dc38e14ed01c250cd11d262
https://github.com/PDAL/PDAL/commit/ab011cfdc6531b844dc38e14ed01c250cd11d262
Author: Bradley J Chambers <brad.chambers at gmail.com>
Date: 2015-02-12 (Thu, 12 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).
More information about the pdal-commits
mailing list