Skip to content

Commit

Permalink
Streamlined example.
Browse files Browse the repository at this point in the history
  • Loading branch information
abellgithub committed Nov 19, 2015
1 parent 7531a17 commit cbce0be
Showing 1 changed file with 23 additions and 45 deletions.
68 changes: 23 additions & 45 deletions examples/writing/tutorial.cpp
@@ -1,43 +1,32 @@
#include <pdal/PointView.hpp>
#include <pdal/BufferReader.hpp>
#include <pdal/PointTable.hpp>
#include <pdal/Dimension.hpp>
#include <pdal/Options.hpp>
#include <pdal/StageFactory.hpp>

#include <vector>

struct Point
MyReader : public pdal::Reader
{
double x;
double y;
double z;
};
public:
std::string getName() const
{ return "MyReader"; }

std::vector<Point> getMyData()
{
std::vector<Point> output;
Point p;

for (int i = 0; i < 1000; ++i)
virtual void addDimensions(PointLayoutPtr layout)
{
p.x = -93.0 + i*0.001;
p.y = 42.0 + i*0.001;
p.z = 106.0 + i;
output.push_back(p);
layout->registerDim(Dimension::Id::X);
layout->registerDim(Dimension::Id::Y);
layout->registerDim(Dimension::Id::Z);
}
return output;
}


void fillView(pdal::PointViewPtr view, std::vector<Point> const& data)
{
for (int i = 0; i < data.size(); ++i)
virtual point_count_t read(PointViewPtr view, point_count_t count)
{
Point const& pt = data[i];
view->setField<double>(pdal::Dimension::Id::X, i, pt.x);
view->setField<double>(pdal::Dimension::Id::Y, i, pt.y);
view->setField<double>(pdal::Dimension::Id::Z, i, pt.z);
for (PointId i = 0; i < 1000 && i < count; ++i)
{
view->setField(Dimension::Id::X, i, -93.0 + i*0.001)
view->setField(Dimension::Id::Y, i, 42.0 + i*0.001);
view->setField(Dimension::Id::Z, i, 106.0 + i);
}
}
}

Expand All @@ -50,25 +39,14 @@ int main(int argc, char* argv[])
options.add("filename", "myfile.las");

PointTable table;
table.layout()->registerDim(Dimension::Id::X);
table.layout()->registerDim(Dimension::Id::Y);
table.layout()->registerDim(Dimension::Id::Z);

{
PointViewPtr view(new PointView(table));

std::vector<Point> data = getMyData();
fillView(view, data);

BufferReader *reader = new BufferReader();
reader->addView(view);
MyReader reader;

StageFactory factory;
Stage *writer = factory.createStage("writers.las");

StageFactory factory;
Stage *writer = factory.createStage("writers.las");

writer->setInput(*reader);
writer->setOptions(options);
writer->prepare(table);
writer->execute(table);
}
writer->setInput(reader);
writer->setOptions(options);
writer->prepare(table);
writer->execute(table);
}

0 comments on commit cbce0be

Please sign in to comment.