[pdal-commits] [PDAL/PDAL] 3208d3: Make StageFactory a sole owner of any created stag...

GitHub noreply at github.com
Fri Feb 26 04:12:21 PST 2016


  Branch: refs/heads/master
  Home:   https://github.com/PDAL/PDAL
  Commit: 3208d3c039d8174fee250fff991b8648e63378fb
      https://github.com/PDAL/PDAL/commit/3208d3c039d8174fee250fff991b8648e63378fb
  Author: Mateusz Łoskot <mateusz at loskot.net>
  Date:   2016-02-26 (Fri, 26 Feb 2016)

  Changed paths:
    M apps/pdal.cpp
    M examples/writing/tutorial.cpp
    M include/pdal/Kernel.hpp
    M include/pdal/PipelineManager.hpp
    M include/pdal/StageFactory.hpp
    M include/pdal/StageWrapper.hpp
    M io/tindex/TIndexReader.cpp
    M kernels/random/RandomKernel.cpp
    M kernels/sort/SortKernel.cpp
    M kernels/split/SplitKernel.cpp
    M kernels/tindex/TIndexKernel.cpp
    M plugins/attribute/test/AttributeFilterTest.cpp
    M plugins/hexbin/test/HexbinFilterTest.cpp
    M plugins/icebridge/test/IcebridgeReaderTest.cpp
    M plugins/matlab/test/MatlabWriterTest.cpp
    M plugins/mrsid/test/MrsidTest.cpp
    M plugins/nitf/test/NitfReaderTest.cpp
    M plugins/nitf/test/NitfWriterTest.cpp
    M plugins/oci/test/OCITest.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.hpp
    M plugins/pcl/test/PCLBlockFilterTest.cpp
    M plugins/pgpointcloud/test/PgpointcloudWriterTest.cpp
    M plugins/python/test/PLangTest.cpp
    M plugins/python/test/PredicateFilterTest.cpp
    M plugins/python/test/ProgrammableFilterTest.cpp
    M plugins/sqlite/test/SQLiteTest.cpp
    M src/Kernel.cpp
    M src/PipelineManager.cpp
    M src/StageFactory.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/StatsFilterTest.cpp
    M test/unit/filters/TransformationFilterTest.cpp
    M test/unit/io/las/LasReaderTest.cpp
    M test/unit/io/optech/OptechReaderTest.cpp
    M test/unit/io/ply/PlyReaderTest.cpp
    M test/unit/io/ply/PlyWriterTest.cpp
    M test/unit/io/terrasolid/TerrasolidReaderTest.cpp

  Log Message:
  -----------
  Make StageFactory a sole owner of any created stages.

Remove Kernel::ownStage and m_stages, cache factory as stage owner.
Remove uses of smart pointers capturing StageFactory::createStage result.
Make StageFactory the only place where std::xxx_ptr<Stage> is allowed.

This introduces a very simple contract:
* always create stage with StageFactory::createStage
* interact with stages as an observer
* never become an owner of any stages
* if you need to extend lifetime stages, just extend lifetime of StageFactory.
Since there is no point in controling lifetime of individual stages,
especially if used with pipeline, this change should simplify PDAL interface.


  Commit: bf0bda834b46bbf44867a144613b6942826a8277
      https://github.com/PDAL/PDAL/commit/bf0bda834b46bbf44867a144613b6942826a8277
  Author: Andrew Bell <andrew.bell.ia at gmail.com>
  Date:   2016-02-26 (Fri, 26 Feb 2016)

  Changed paths:
    M apps/pdal.cpp
    M examples/writing/tutorial.cpp
    M include/pdal/Kernel.hpp
    M include/pdal/PipelineManager.hpp
    M include/pdal/StageFactory.hpp
    M include/pdal/StageWrapper.hpp
    M io/tindex/TIndexReader.cpp
    M kernels/random/RandomKernel.cpp
    M kernels/sort/SortKernel.cpp
    M kernels/split/SplitKernel.cpp
    M kernels/tindex/TIndexKernel.cpp
    M plugins/attribute/test/AttributeFilterTest.cpp
    M plugins/hexbin/test/HexbinFilterTest.cpp
    M plugins/icebridge/test/IcebridgeReaderTest.cpp
    M plugins/matlab/test/MatlabWriterTest.cpp
    M plugins/mrsid/test/MrsidTest.cpp
    M plugins/nitf/test/NitfReaderTest.cpp
    M plugins/nitf/test/NitfWriterTest.cpp
    M plugins/oci/test/OCITest.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.hpp
    M plugins/pcl/test/PCLBlockFilterTest.cpp
    M plugins/pgpointcloud/test/PgpointcloudWriterTest.cpp
    M plugins/python/test/PLangTest.cpp
    M plugins/python/test/PredicateFilterTest.cpp
    M plugins/python/test/ProgrammableFilterTest.cpp
    M plugins/sqlite/test/SQLiteTest.cpp
    M src/Kernel.cpp
    M src/PipelineManager.cpp
    M src/StageFactory.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/StatsFilterTest.cpp
    M test/unit/filters/TransformationFilterTest.cpp
    M test/unit/io/las/LasReaderTest.cpp
    M test/unit/io/optech/OptechReaderTest.cpp
    M test/unit/io/ply/PlyReaderTest.cpp
    M test/unit/io/ply/PlyWriterTest.cpp
    M test/unit/io/terrasolid/TerrasolidReaderTest.cpp

  Log Message:
  -----------
  Merge pull request #1161 from mloskot/ml/stage-ownership

Make StageFactory a sole owner of any created stages.


Compare: https://github.com/PDAL/PDAL/compare/e6a9a3a3c01d...bf0bda834b46


More information about the pdal-commits mailing list