[Liblas-commits] hg: use const& instead of * for list of transforms/filters

liblas-commits at liblas.org liblas-commits at liblas.org
Wed Aug 18 11:10:12 EDT 2010


changeset 34937ecb87e8 in /Volumes/Data/www/liblas.org/hg
details: http://hg.liblas.orghg?cmd=changeset;node=34937ecb87e8
summary: use const& instead of * for list of transforms/filters

diffstat:

 apps/las2las2.cpp            |   4 +-
 apps/las2oci.cpp             |  16 +++------
 include/liblas/lasreader.hpp |   8 ++--
 src/lasreader.cpp            |  72 +++++++++++++++----------------------------
 4 files changed, 38 insertions(+), 62 deletions(-)

diffs (227 lines):

diff -r edde2eddfca5 -r 34937ecb87e8 apps/las2las2.cpp
--- a/apps/las2las2.cpp	Wed Aug 18 15:23:02 2010 +0100
+++ b/apps/las2las2.cpp	Wed Aug 18 10:10:03 2010 -0500
@@ -113,8 +113,8 @@
     }
     liblas::Reader reader(ifs);
     
-    reader.SetFilters(&filters);
-    reader.SetTransforms(&transforms);
+    reader.SetFilters(filters);
+    reader.SetTransforms(transforms);
 
     std::ofstream* ofs = new std::ofstream;
     std::string out = output;
diff -r edde2eddfca5 -r 34937ecb87e8 apps/las2oci.cpp
--- a/apps/las2oci.cpp	Wed Aug 18 15:23:02 2010 +0100
+++ b/apps/las2oci.cpp	Wed Aug 18 10:10:03 2010 -0500
@@ -297,7 +297,7 @@
 {
     ResultsVector::iterator i;
 
-    long commit_interval = 1000;
+
     blocks* b = CreateBlock(nCommitInterval);
 
     ostringstream oss;
@@ -313,12 +313,7 @@
     long j = 0;
     bool inserted = false;
     ResultsVector& results = summary->GetResults();
-    
-    long total_blocks = results.size();
-    long blocks_written = 0;
-    long blocks_left= 0;
-    long to_fill = 0;
-    
+        
 
 
     for (i=results.begin(); i!=results.end(); i++)
@@ -1020,7 +1015,7 @@
         }
         if (vm.count("cached")) 
         {
-            bool bCachedReader = vm["cached"].as< bool >();
+            bCachedReader = vm["cached"].as< bool >();
             if (verbose)
                 std::cout << "Caching entire file... " << std::endl;
         }
@@ -1125,8 +1120,9 @@
             reader2 = new liblas::Reader(*istrm2,0, header);
         else
             reader2 = new liblas::Reader(*istrm2, header);
-        reader2->SetFilters(&filters);
-        reader2->SetTransforms(&transforms);
+
+        reader2->SetFilters(filters);
+        reader2->SetTransforms(transforms);
 
         std::vector<uint8_t> header_data = GetHeaderData(input, reader2->GetHeader().GetDataOffset());
 
diff -r edde2eddfca5 -r 34937ecb87e8 include/liblas/lasreader.hpp
--- a/include/liblas/lasreader.hpp	Wed Aug 18 15:23:02 2010 +0100
+++ b/include/liblas/lasreader.hpp	Wed Aug 18 10:10:03 2010 -0500
@@ -145,7 +145,7 @@
     /// effect for reading data at specific locations in the file.  
     /// They only affect reading ReadNextPoint-style operations
     /// Filters are applied *before* transforms.
-    void SetFilters(std::vector<liblas::FilterI*>* filters) {m_filters = filters;}
+    void SetFilters(std::vector<liblas::FilterI*> const& filters) {m_filters = filters;}
 
     /// Sets transforms to apply to points.  Points are transformed in 
     /// place *in the order* of the transform list.
@@ -155,7 +155,7 @@
     /// special case.  You can define your own reprojection transforms and add 
     /// it to the list, but be sure to not issue a SetOutputSRS to trigger 
     /// the internal transform creation
-    void SetTransforms(std::vector<liblas::TransformI*>* transforms) {m_transforms = transforms;}
+    void SetTransforms(std::vector<liblas::TransformI*> const& transforms) {m_transforms = transforms;}
 
 private:
 
@@ -177,8 +177,8 @@
     // read from the istream
     bool bCustomHeader;
     
-    std::vector<liblas::FilterI*>* m_filters;
-    std::vector<liblas::TransformI*>* m_transforms;
+    std::vector<liblas::FilterI*> m_filters;
+    std::vector<liblas::TransformI*> m_transforms;
 
     TransformPtr m_reprojection_transform;
 
diff -r edde2eddfca5 -r 34937ecb87e8 src/lasreader.cpp
--- a/src/lasreader.cpp	Wed Aug 18 15:23:02 2010 +0100
+++ b/src/lasreader.cpp	Wed Aug 18 10:10:03 2010 -0500
@@ -157,11 +157,11 @@
     
     // If there's no filters on this reader, we keep 
     // the point no matter what.
-    if (m_filters == 0 ) {
+    if (m_filters.empty() ) {
         return true;
     }
 
-    for (fi = m_filters->begin(); fi != m_filters->end(); ++fi) {
+    for (fi = m_filters.begin(); fi != m_filters.end(); ++fi) {
         liblas::FilterI* filter = *fi;
         if (!filter->filter(p)){
             return false;
@@ -173,11 +173,6 @@
 bool Reader::ReadNextPoint()
 {
     std::vector<liblas::TransformI*>::const_iterator ti;
-    bool bHaveTransforms = false;
-    
-    if (m_transforms != 0 ) {
-        bHaveTransforms = true;
-    }
   
     try {
         // m_point = m_pimpl->ReadNextPoint(m_header).get();
@@ -192,16 +187,15 @@
             }
         }
         
-        if (bHaveTransforms) {
-            if (!m_transforms->empty()) {
-                // Apply the transforms to each point
+        if (!m_transforms.empty()) {
+            // Apply the transforms to each point
 
-                for (ti = m_transforms->begin(); ti != m_transforms->end(); ++ti) {
-                    liblas::TransformI* transform = *ti;
-                    transform->transform(*m_point);
-                }            
-            }
+            for (ti = m_transforms.begin(); ti != m_transforms.end(); ++ti) {
+                liblas::TransformI* transform = *ti;
+                transform->transform(*m_point);
+            }            
         }
+
         return true;
     } catch (std::out_of_range) {
         m_point = 0;
@@ -212,27 +206,20 @@
 bool Reader::ReadPointAt(std::size_t n)
 {
     std::vector<liblas::TransformI*>::const_iterator ti;
-    bool bHaveTransforms = false;
 
     if (m_header->GetPointRecordsCount() <= n)
     {
         throw std::out_of_range("point subscript out of range");
     }
-        
-    if (m_transforms != 0 ) {
-        bHaveTransforms = true;
-    }
     
     try {
         m_point = const_cast<Point*>(&(m_pimpl->ReadPointAt(n, m_header)));
-        if (bHaveTransforms) {
-            if (!m_transforms->empty()) {
-                for (ti = m_transforms->begin(); ti != m_transforms->end(); ++ti) {
-                    liblas::TransformI* transform = *ti;
-                    transform->transform(*m_point);
-                }            
+        if (!m_transforms.empty()) {
+            for (ti = m_transforms.begin(); ti != m_transforms.end(); ++ti) {
+                liblas::TransformI* transform = *ti;
+                transform->transform(*m_point);
+            }            
             }
-        }
         return true;
     } catch (std::out_of_range) {
         m_point = 0;
@@ -344,35 +331,28 @@
     // list if *that* isn't there).
     TransformI* possible_reprojection_transform = 0;
     
-   if (m_transforms != 0 && !m_transforms->empty()) {
-        possible_reprojection_transform = m_transforms->at(0);
+   if (!m_transforms.empty()) {
+        possible_reprojection_transform = m_transforms.at(0);
     }
     
     if (m_reprojection_transform.get() == possible_reprojection_transform && m_reprojection_transform.get() != 0) {
         // remove it from the transforms list
-        std::vector<TransformI*>::iterator i = m_transforms->begin();
-        m_transforms->erase(i);
+        std::vector<TransformI*>::iterator i = m_transforms.begin();
+        m_transforms.erase(i);
     }
     
     // overwrite our reprojection transform
     m_reprojection_transform = TransformPtr(new ReprojectionTransform(m_in_srs, m_out_srs));
     
-    if (m_transforms != 0) {
-        if (!m_transforms->empty()) {
-            // Insert the new reprojection transform to the beginning of the 
-            // vector there are already transforms there.
-            m_transforms->insert(m_transforms->begin(), m_reprojection_transform.get());
-            
-        } else {
-            // List exists, but its size is 0
-            m_transforms->push_back(m_reprojection_transform.get());
-        }
+    if (!m_transforms.empty()) {
+        // Insert the new reprojection transform to the beginning of the 
+        // vector there are already transforms there.
+        m_transforms.insert(m_transforms.begin(), m_reprojection_transform.get());
+        
     } else {
-        // transforms don't exist yet, make a new one and put our 
-        // reprojection transform on it.
-        m_transforms = new std::vector<liblas::TransformI*>;
-        m_transforms->push_back(m_reprojection_transform.get());
-    }
+        // List exists, but its size is 0
+        m_transforms.push_back(m_reprojection_transform.get());
+    } 
     return true;
 }
 


More information about the Liblas-commits mailing list