Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] jet_smooth_point_set and jet_estimate_normals

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] jet_smooth_point_set and jet_estimate_normals


Chronological Thread 
  • From: Laurent Saboret <>
  • To:
  • Subject: Re: [cgal-discuss] jet_smooth_point_set and jet_estimate_normals
  • Date: Thu, 03 Dec 2009 10:22:38 +0100
  • Organization: INFOTERRA

Hi Yuri,

jet_smooth_point_set and jet_estimate_normals methods use Lapack library. Your crash occurs in Lapack call dgelss.

CGAL includes a fairly complex system to link with Lapack (and Blas) on each platform. This code is based on CMake, thus I recommend you to use CMake. See demo/Surface_reconstruction_points_3/Point_set_demo for an example using CMake, Qt, and jet_smooth_point_set and jet_estimate_normals methods.

If you really wish to use qmake, you will be on your own.
You will have to mimick the behavior of FindLAPACK.cmake, CGAL_UseLAPACK.cmake, FindBLAS.cmake, CGAL_UseBLAS.cmake and FindF2C.cmake (in cmake/modules).
On Mac, this means basically:
- link with the Accelerate framework
- #define CGAL_USE_F2C

Best regards,
Laurent Saboret


Yuri wrote:
hi, I have a problem with these 2 jet functions in my QT Project: jet_smooth_point_set and jet_estimate_normals
My operating system is Mac OS X snow leopard. I am using the QT Creator IDE.

examples/Point_set_processing_3/jet_smoothing_example.cpp
If I 'make' and run the example in the CGAL-build-dir it works.

When I include it in my QMAKE project file it does compile without error (only some unused parameter warnings from 'work', 'lwork' and 'kernel'
But then it crashes when run. 
I think that I didn't include some libraries or similar. I don't understand CMAKE and the created makefile so well.

The other functions from the point set processing section and also the poisson surface reconstruction function works.
Another question is. Can I use static and dynamic libraries in my project?

Here are the debugger errrors:

Depth | Function
0 dgelss_
1 CGAL::Lapack_svd::solve
2 CGAL::Monge_via_jet_fitting<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> >, CGAL::Cartesian<double>, CGAL::Lapack_svd>::solve_linear_system
3 CGAL::Monge_via_jet_fitting<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> >, CGAL::Cartesian<double>, CGAL::Lapack_svd>::operator()<__gnu_cxx::__normal_iterator<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >*, std::vector<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >, std::allocator<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > > > > > >
4 CGAL::CGALi::jet_smooth_point<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> >, CGAL::Kd_tree<CGAL::Search_traits_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >, CGAL::Sliding_midpoint<CGAL::Search_traits_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >, CGAL::Plane_separator<double> >, CGAL::Boolean_tag<true> > >
5 CGAL::jet_smooth_point_set<__gnu_cxx::__normal_iterator<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >*, std::vector<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >, std::allocator<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > > > > >, CGAL::Dereference_property_map<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > > >, CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >
6 CGAL::jet_smooth_point_set<__gnu_cxx::__normal_iterator<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >*, std::vector<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > >, std::allocator<CGAL::Point_3<CGAL::Filtered_kernel<CGAL::Simple_cartesian<double> > > > > > >
7 main

This is my .pro file:

# -------------------------------------------------
# Project created by QtCreator 2009-11-12T16:56:37
# -------------------------------------------------
QT += opengl
QT -= core \
gui
TARGET = test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
HEADERS +=

# CGAL
QMAKE_CXXFLAGS += -frounding-math
INCLUDEPATH += /usr/local/include
LIBS += /usr/local/lib64/libtaucs.a
LIBS += /usr/local/lib64/libf2c.a
LIBS += /usr/local/lib64/libmetis.a
INCLUDEPATH += /opt/local/include
LIBS += /opt/local/lib/libmpfr.a
LIBS += /opt/local/lib/libgmp.a
LIBS += /opt/local/lib/libgmpxx.a
INCLUDEPATH += /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers
LIBS += /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LIBS += /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib

INCLUDEPATH += /Developer/CGAL-3.5/install/include/
LIBS += /Developer/CGAL-3.5/install/lib/libCGAL.a
LIBS += /Developer/CGAL-3.5/install/lib/libCGAL_Core.a
LIBS += /Developer/CGAL-3.5/install/lib/libCGAL_ImageIO.a
LIBS += /Developer/CGAL-3.5/install/lib/libCGAL_PDB.a
LIBS += /Developer/CGAL-3.5/install/lib/libCGAL_Qt4.a 

thanks,
Yuri



Ce courrier électronique et toutes les pièces éventuellement jointes qu’il
contient sont CONFIDENTIELS et destinés exclusivement à l’usage de leur
destinataire. Si une erreur de transmission ou une adresse erronée a mal
dirigée ce courrier, merci d’en informer l’expéditeur en lui faisant une
réponse par courrier électronique dès réception. Si vous n’êtes pas le
destinataire de ce courrier, vous ne devez pas l’utiliser, le conserver, en
faire état, le distribuer, le copier, l’imprimer ou en révéler le contenu à
une tierce partie.
Ce courrier électronique est à usage strictement informatif et ne saurait
engager de quelque manière que ce soit INFOTERRA France SAS, ni ses filiales.

This e-mail and any attachments hereto are CONFIDENTIAL and intended solely
for the use of the addressee. If you have received this e-mail in error
please send it back to the person that sent it to you.
If you have received it in error, please notify the sender by return email.
If you are not the addressee of this email, you must not use, keep,
disseminate, copy, print or otherwise deal with it.
This email is for information only and will not bind INFOTERRA France SAS in
any contract or obligation, nor its subsidiaries.



Archive powered by MHonArc 2.6.16.

Top of Page