Skip to content

Commit

Permalink
decruft filters.selector
Browse files Browse the repository at this point in the history
  • Loading branch information
hobu committed Sep 10, 2012
1 parent c0f4a16 commit 8f8e6a4
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 33 deletions.
2 changes: 0 additions & 2 deletions include/pdal/filters/Selector.hpp
Expand Up @@ -75,8 +75,6 @@ class PDAL_DLL Selector: public Filter
{
return NULL;
}

void processBuffer(const PointBuffer& srcData, PointBuffer& dstData) const;

inline std::map<std::string, bool> const& getIgnoredMap() const { return m_ignoredMap; }

Expand Down
37 changes: 6 additions & 31 deletions src/filters/Selector.cpp
Expand Up @@ -179,13 +179,6 @@ void Selector::checkImpedance()
return;
}


void Selector::processBuffer(const PointBuffer& /*srcData*/, PointBuffer& /*dstData*/) const
{
return;
}


pdal::StageSequentialIterator* Selector::createSequentialIterator(PointBuffer& buffer) const
{
return new pdal::filters::iterators::sequential::Selector(*this, buffer);
Expand All @@ -211,33 +204,18 @@ Selector::Selector(const pdal::filters::Selector& filter, PointBuffer& buffer)
, m_selectorFilter(filter)
{
alterSchema(buffer);
m_selectorFilter.log()->get(logDEBUG4) << "iterators::sequential alterSchema! " << std::endl;
m_selectorFilter.log()->get(logDEBUG4) << "iterator has modified schema" << std::endl;

return;
}

void Selector::alterSchema(PointBuffer& buffer)
{
Schema const& original_schema = buffer.getSchema();

Schema new_schema = buffer.getSchema();

std::map<std::string, bool> const& ignoredMap = m_selectorFilter.getIgnoredMap();
// for (std::map<std::string, bool>::const_iterator i = ignoredMap.begin();
// i != ignoredMap.end(); ++i)
// {
// boost::optional<Dimension const&> d = original_schema.getDimensionOptional(i->first);
// if (d)
// {
// Dimension d2(*d);
// boost::uint32_t flags = d2.getFlags();
// if (i->second)
// d2.setFlags(flags | dimension::IsIgnored);
// new_schema.setDimension(d2);
// }
// }
//

// Add new dimensions to the schema first in case we wanted to ignore them
// or something silly like that.
Schema new_schema = buffer.getSchema();
std::vector<Dimension> const& new_dimensions = m_selectorFilter.getCreatedDimensions();
if (new_dimensions.size())
{
Expand All @@ -247,6 +225,7 @@ void Selector::alterSchema(PointBuffer& buffer)
}
}

std::map<std::string, bool> const& ignoredMap = m_selectorFilter.getIgnoredMap();
schema::Map dimensions = original_schema.getDimensions();
schema::index_by_index const& dims = dimensions.get<schema::index>();
for (schema::index_by_index::const_iterator t = dims.begin();
Expand All @@ -265,9 +244,7 @@ void Selector::alterSchema(PointBuffer& buffer)
d2.setFlags(flags | dimension::IsIgnored);
new_schema.setDimension(d2);
}
}

else { // didn't find it in our map of specified dimensions
} else { // didn't find it in our map of specified dimensions

if (m_selectorFilter.doIgnoreUnspecifiedDimensions())
{
Expand All @@ -280,15 +257,13 @@ void Selector::alterSchema(PointBuffer& buffer)
}

}

buffer = PointBuffer(new_schema, buffer.getCapacity());
}


boost::uint32_t Selector::readBufferImpl(PointBuffer& buffer)
{
const boost::uint32_t numRead = getPrevIterator().read(buffer);

return numRead;
}

Expand Down

0 comments on commit 8f8e6a4

Please sign in to comment.