[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