[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