[pdal-commits] [PDAL/PDAL] fefe6b: Plugin framework refactoring
GitHub
noreply at github.com
Thu Feb 26 08:14:00 PST 2015
Branch: refs/heads/plugin-manager
Home: https://github.com/PDAL/PDAL
Commit: fefe6b82cca59b41383401593476909c2029ad41
https://github.com/PDAL/PDAL/commit/fefe6b82cca59b41383401593476909c2029ad41
Author: Bradley J Chambers <brad.chambers at gmail.com>
Date: 2015-02-26 (Thu, 26 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: cb4ea8c945650fc680faa9844bc0b24a2d66b50c
https://github.com/PDAL/PDAL/commit/cb4ea8c945650fc680faa9844bc0b24a2d66b50c
Author: Bradley J Chambers <brad.chambers at gmail.com>
Date: 2015-02-26 (Thu, 26 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/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
Commit: ecc885ab8b99f342aeec3c7154f0b5b2ebe62308
https://github.com/PDAL/PDAL/commit/ecc885ab8b99f342aeec3c7154f0b5b2ebe62308
Author: Bradley J Chambers <brad.chambers at gmail.com>
Date: 2015-02-26 (Thu, 26 Feb 2015)
Changed paths:
M apps/pdal.cpp
M include/pdal/Kernel.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 plugins/cpd/kernel/Cpd.cpp
M plugins/cpd/kernel/Cpd.hpp
M plugins/nitf/test/NitfReaderTest.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/rxp/test/RxpReaderTest.cpp
M src/Kernel.cpp
M test/unit/MetadataTest.cpp
M test/unit/PointBufferTest.cpp
M test/unit/io/las/LasWriterTest.cpp
Log Message:
-----------
remove getDescription, provide getName for kernel
Commit: 232f72b08151c64e81db3e40cc4c28328490b5ec
https://github.com/PDAL/PDAL/commit/232f72b08151c64e81db3e40cc4c28328490b5ec
Author: Bradley J Chambers <brad.chambers at gmail.com>
Date: 2015-02-26 (Thu, 26 Feb 2015)
Changed paths:
M filters/merge/CMakeLists.txt
M filters/sort/CMakeLists.txt
M kernels/random/RandomKernel.cpp
M kernels/random/RandomKernel.hpp
M src/PipelineReader.cpp
M test/unit/MetadataTest.cpp
M test/unit/PipelineManagerTest.cpp
Log Message:
-----------
cleanup, more naked Stage pointers in commented code
Commit: 6a90b62517eba3144b2a70f42c6a1adbbba00f20
https://github.com/PDAL/PDAL/commit/6a90b62517eba3144b2a70f42c6a1adbbba00f20
Author: Bradley J Chambers <brad.chambers at gmail.com>
Date: 2015-02-26 (Thu, 26 Feb 2015)
Changed paths:
M filters/chipper/ChipperFilter.cpp
M filters/colorization/ColorizationFilter.cpp
M filters/crop/CropFilter.cpp
M filters/decimation/DecimationFilter.cpp
M filters/ferry/FerryFilter.cpp
M filters/merge/MergeFilter.cpp
M filters/mortonorder/MortonOrderFilter.cpp
M filters/range/RangeFilter.cpp
M filters/reprojection/ReprojectionFilter.cpp
M filters/sort/SortFilter.cpp
M filters/splitter/SplitterFilter.cpp
M filters/stats/StatsFilter.cpp
M filters/transformation/TransformationFilter.cpp
M include/pdal/PluginManager.hpp
M include/pdal/pdal_macros.hpp
M include/pdal/plugin.h
M io/bpf/BpfReader.cpp
M io/bpf/BpfWriter.cpp
M io/faux/FauxReader.cpp
M io/las/LasReader.cpp
M io/las/LasWriter.cpp
M io/qfit/QfitReader.cpp
M io/sbet/SbetReader.cpp
M io/sbet/SbetWriter.cpp
M io/terrasolid/TerrasolidReader.cpp
M io/text/TextWriter.cpp
M kernels/delta/DeltaKernel.cpp
M kernels/diff/DiffKernel.cpp
M kernels/info/InfoKernel.cpp
M kernels/pipeline/PipelineKernel.cpp
M kernels/random/RandomKernel.cpp
M kernels/sort/SortKernel.cpp
M kernels/translate/TranslateKernel.cpp
M plugins/attribute/filters/AttributeFilter.cpp
M plugins/cpd/kernel/Cpd.cpp
M plugins/greyhound/io/GreyhoundReader.cpp
M plugins/hexbin/filters/HexBin.cpp
M plugins/icebridge/io/IcebridgeReader.cpp
M plugins/mrsid/io/MrsidReader.cpp
M plugins/nitf/io/NitfReader.cpp
M plugins/nitf/io/NitfWriter.cpp
M plugins/oci/io/OciReader.cpp
M plugins/oci/io/OciWriter.cpp
M plugins/p2g/io/P2gWriter.cpp
M plugins/pcl/filters/GroundFilter.cpp
M plugins/pcl/filters/PCLBlock.cpp
M plugins/pcl/io/PCLVisualizer.cpp
M plugins/pcl/io/PcdReader.cpp
M plugins/pcl/io/PcdWriter.cpp
M plugins/pcl/kernel/GroundKernel.cpp
M plugins/pcl/kernel/PCLKernel.cpp
M plugins/pcl/kernel/SmoothKernel.cpp
M plugins/pcl/kernel/ViewKernel.cpp
M plugins/pgpointcloud/io/PgReader.cpp
M plugins/pgpointcloud/io/PgWriter.cpp
M plugins/python/filters/PredicateFilter.cpp
M plugins/python/filters/ProgrammableFilter.cpp
M plugins/rxp/io/RxpReader.cpp
M plugins/sqlite/io/SQLiteReader.cpp
M plugins/sqlite/io/SQLiteWriter.cpp
M src/PluginManager.cpp
Log Message:
-----------
each plugin registers and API version it is built against to check for compatibility
Compare: https://github.com/PDAL/PDAL/compare/329cc80d7ac8...6a90b62517eb
More information about the pdal-commits
mailing list