diff options
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r-- | source/blender/freestyle/intern/view_map/AutoPtrHelper.h | 4 | ||||
-rw-r--r-- | source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp | 16 |
2 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/freestyle/intern/view_map/AutoPtrHelper.h b/source/blender/freestyle/intern/view_map/AutoPtrHelper.h index 94fd80bc0fb..cfcfa5e651b 100644 --- a/source/blender/freestyle/intern/view_map/AutoPtrHelper.h +++ b/source/blender/freestyle/intern/view_map/AutoPtrHelper.h @@ -27,6 +27,8 @@ namespace Freestyle { template<typename T> class AutoPtr : public std::unique_ptr<T> { public: + using std::unique_ptr<T>::unique_ptr; + AutoPtr() : std::unique_ptr<T>() { } @@ -42,6 +44,8 @@ template<typename T> class AutoPtr : public std::unique_ptr<T> { other.release(); } + using std::unique_ptr<T>::operator=; + template<typename X> AutoPtr &operator=(AutoPtr<X> &other) = delete; }; diff --git a/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp b/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp index e7d4ec6aa6e..91f3aeac184 100644 --- a/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp +++ b/source/blender/freestyle/intern/view_map/ViewMapBuilder.cpp @@ -1381,17 +1381,17 @@ void ViewMapBuilder::ComputeCumulativeVisibility(ViewMap *ioViewMap, AutoPtr<OccluderSource> source; if (_orthographicProjection) { - transform.reset(new BoxGrid::Transform); + transform = std::make_unique<BoxGrid::Transform>(); } else { - transform.reset(new SphericalGrid::Transform); + transform = std::make_unique<SphericalGrid::Transform>(); } if (cull) { - source.reset(new CulledOccluderSource(*transform, we, *ioViewMap, true)); + source = std::make_unique<CulledOccluderSource>(*transform, we, *ioViewMap, true); } else { - source.reset(new OccluderSource(*transform, we)); + source = std::make_unique<OccluderSource>(*transform, we); } AutoPtr<GridDensityProvider> density(factory.newGridDensityProvider(*source, bbox, *transform)); @@ -1419,17 +1419,17 @@ void ViewMapBuilder::ComputeDetailedVisibility(ViewMap *ioViewMap, AutoPtr<OccluderSource> source; if (_orthographicProjection) { - transform.reset(new BoxGrid::Transform); + transform = std::make_unique<BoxGrid::Transform>(); } else { - transform.reset(new SphericalGrid::Transform); + transform = std::make_unique<SphericalGrid::Transform>(); } if (cull) { - source.reset(new CulledOccluderSource(*transform, we, *ioViewMap, true)); + source = std::make_unique<CulledOccluderSource>(*transform, we, *ioViewMap, true); } else { - source.reset(new OccluderSource(*transform, we)); + source = std::make_unique<OccluderSource>(*transform, we); } AutoPtr<GridDensityProvider> density(factory.newGridDensityProvider(*source, bbox, *transform)); |