Skip to content

Commit

Permalink
toMetadata should be on PointLayout, forward PointTable::toMetadata
Browse files Browse the repository at this point in the history
  • Loading branch information
hobu committed Jan 6, 2017
1 parent 0c05216 commit 8e342d8
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 15 deletions.
2 changes: 1 addition & 1 deletion pdal/PipelineExecutor.cpp
Expand Up @@ -76,7 +76,7 @@ std::string PipelineExecutor::getSchema() const
throw pdal_error("Pipeline has not been executed!");

std::stringstream strm;
MetadataNode root = m_manager.pointTable().toMetadata().clone("schema");
MetadataNode root = m_manager.pointTable().layout()->toMetadata().clone("schema");
pdal::Utils::toJSON(root, strm);
return strm.str();
}
Expand Down
19 changes: 19 additions & 0 deletions pdal/PointLayout.cpp
Expand Up @@ -318,5 +318,24 @@ Dimension::Type PointLayout::resolveType(Dimension::Type t1,
}
}

MetadataNode PointLayout::toMetadata() const
{

MetadataNode root;

for (const auto& id : dims())
{
MetadataNode dim("dimensions");
dim.add("name", dimName(id));
Dimension::Type t = dimType(id);
dim.add("type", Dimension::toName(Dimension::base(t)));
dim.add("size", dimSize(id));
root.addList(dim);
}

return root;
}

} // namespace pdal


4 changes: 4 additions & 0 deletions pdal/PointLayout.hpp
Expand Up @@ -41,6 +41,7 @@

#include <pdal/DimDetail.hpp>
#include <pdal/DimType.hpp>
#include <pdal/Metadata.hpp>

namespace pdal
{
Expand Down Expand Up @@ -225,6 +226,9 @@ class PointLayout
*/
PDAL_DLL const Dimension::Detail *dimDetail(Dimension::Id id) const;


PDAL_DLL MetadataNode toMetadata() const;

private:
PDAL_DLL virtual bool update(Dimension::Detail dd, const std::string& name);

Expand Down
15 changes: 1 addition & 14 deletions pdal/PointTable.cpp
Expand Up @@ -108,20 +108,7 @@ char *PointTable::getPoint(PointId idx)

MetadataNode BasePointTable::toMetadata() const
{
const PointLayoutPtr l(layout());
MetadataNode root;

for (const auto& id : l->dims())
{
MetadataNode dim("dimensions");
dim.add("name", l->dimName(id));
Dimension::Type t = l->dimType(id);
dim.add("type", Dimension::toName(Dimension::base(t)));
dim.add("size", l->dimSize(id));
root.addList(dim);
}

return root;
return layout()->toMetadata();
}

} // namespace pdal
Expand Down

0 comments on commit 8e342d8

Please sign in to comment.