[pdal] Linking with PCL

pidgeon13 at googlemail.com pidgeon13 at googlemail.com
Mon Dec 18 04:50:01 PST 2017


Hi Andrew,

You’re totally right, I had put the .dll in the same folder as the executable rather than in one of the specified locations.

Many thanks for your help,
Stephen

Sent from Mail for Windows 10

From: Andrew Bell
Sent: 18 December 2017 12:37
To: Stephen Pidgeon
Cc: pdal at lists.osgeo.org
Subject: Re: [pdal] Linking with PCL

Stephen,

If I understand, you're building your own executable using the code that you referenced.  The executable you created must be able to find the PCL plugin in one of these directories: “.”, “./lib”, “../lib”, “./bin”, “../bin” relative to your executable path.  You can also explicitly set PDAL_DRIVER_PATH to the location of the driver.

On Mon, Dec 18, 2017 at 5:17 AM, <pidgeon13 at googlemail.com> wrote:
When I run pdal –drivers in the command prompt it does list the filter as being found. My configuration script sets PCL to build and libpdal_plugin_filter_voxelgrid.dll has been created in the bin folder.
 
Sent from Mail for Windows 10
 
From: Andrew Bell
Sent: 15 December 2017 12:57
To: Stephen Pidgeon
Cc: pdal at lists.osgeo.org
Subject: Re: [pdal] Linking with PCL
 
The StageFactory must be able to locate the plugin.  See the second question in the FAQ: https://www.pdal.io/faq.html
 
On Fri, Dec 15, 2017 at 4:44 AM, <pidgeon13 at googlemail.com> wrote:
Hi,
 
I am trying to use the voxelgrid filter in some c++ code I am writing (and would also like to be able to read and write .pcd files). I believe I have linked in PCL correctly, and my solution builds the plugin .dll files. However, although there is plenty of information on the PDAL website about using PCL in pipelines, I have not managed to find anything to help me use the API. I currently have a function I am playing around with to try and get the filter to work:
 
bool ReadFilterWrite(const std::string& inputfilename, const std::string& readerdriver, const std::string& outputfilename)
{
                bool bFilterWorks=false;
               pdal::StageFactory factory;
                pdal::PointTable table;
                pdal::Stage *pReader = factory.createStage(readerdriver);
                pdal::Options readerOptions;
                readerOptions.add("filename", inputfilename);
                if (pReader)
                {
                                pReader->setOptions(readerOptions);
                }
                else
                {
                                return false;
                }
                pdal::Options writerOptions;
                writerOptions.add("filename", outputfilename);
                pdal::Stage *pWriter = factory.createStage("writers.text");
                if (pWriter)
                {
                                pdal::Stage *pFilter = factory.createStage("filters.voxelgrid");
                                if (pFilter)
                                {
                                                bFilterWorks = true;
                                                pFilter->setInput(*pReader);
                                                pWriter->setInput(*pFilter);
                                }
                                else
                                {
                                               //Currently commented out so that files are only written if the filter works.
                                                //pWriter->setInput(*pReader);
                                                return false; //Temporary, currently where the function exits.
                                }
                                pWriter->setOptions(writerOptions);
                                pWriter->prepare(table);
                                pWriter->execute(table);
                }
                return bFilterWorks;
}
 
The function reads the data in from a .las file (for example) fine, but then doesn’t create the filter stage. Am I going about this in the right way?
 
Best regards,
 
Stephen
 
Sent from Mail for Windows 10
 

_______________________________________________
pdal mailing list
pdal at lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/pdal



 
-- 
Andrew Bell
andrew.bell.ia at gmail.com
 




-- 
Andrew Bell
andrew.bell.ia at gmail.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20171218/07afe731/attachment.html>


More information about the pdal mailing list