Git Product home page Git Product logo

cloudcompare's Introduction

CloudCompare

Homepage: https://cloudcompare.org

GitHub release

Build

Introduction

CloudCompare is a 3D point cloud (and triangular mesh) processing software. It was originally designed to perform comparison between two 3D points clouds (such as the ones obtained with a laser scanner) or between a point cloud and a triangular mesh. It relies on an octree structure that is highly optimized for this particular use-case. It was also meant to deal with huge point clouds (typically more than 10 million points, and up to 120 million with 2 GB of memory).

More on CloudCompare here

License

This project is under the GPL license: https://www.gnu.org/licenses/gpl-3.0.html

This means that you can use it as is for any purpose. But if you want to distribute it, or if you want to reuse its code or part of its code in a project you distribute, you have to comply with the GPL license. In effect, all the code you mix or link with CloudCompare's code must be made public as well. This code cannot be used in in a closed source software.

Installation

Linux:

Compilation

Supports: Windows, Linux, and macOS

Refer to the BUILD.md file for up-to-date information.

Basically, you have to:

  • clone this repository
  • install mandatory dependencies (OpenGL, etc.) and optional ones if you really need them (mainly to support particular file formats, or for some plugins)
  • launch CMake (from the trunk root)
  • enjoy!

Contributing to CloudCompare

If you want to help us improve CloudCompare or create a new plugin you can start by reading this guide

Supporting the project

If you want to help us in another way, you can make donations via donorbox

Thanks!

cloudcompare's People

Contributors

alexmyczko avatar ao2 avatar asmaloney avatar davidcaron avatar dgirardeau avatar epicwink avatar eric-haines avatar erwi avatar harrysummer avatar headlesshun avatar hroncok avatar jianboqi avatar jsmorard avatar loris-l avatar luca-penasa avatar mankoff avatar neroburner avatar norbertwenzel avatar p-leroy avatar peterjcc avatar prascle avatar rjanvier avatar saldiangelus avatar samthiele avatar smortvedt avatar tmontaigu avatar tomcrowder avatar tpwrules avatar wargodhernandez avatar wpqjbzwm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudcompare's Issues

Icon for new plugin

Please add qDummyPlugin.qrc
and any png file as icon.

It was very hard to gues what is missing, as adding only png file and modifying getIcon() was not enough.

Over-writing file appears to created invalid file

Open Foo.bin
Save as Foo.bin
CC points out that file exists. Overwrite? Select yes.
Open Foo.bin

Dialog: "Hum, do you really expect 1245859619 point clouds?"

No option to cancel, just (OK) button. Press it. CC shows new dialog with title, "Open Bin file (old style)" and hangs indefinitely. Have to kill from command line (linux)

Saved Preferences

I have to toggle "Display > Centered Perspective" and lighting options each time I launch qCC.

These, and other options, should be preferences that can be saved and auto-loaded each time qCC is launched.

Slow point picking

On some laptops (my new one, a Dell XPS with Windows 7 pro) OpenGL based point picking is veeeeeeeeeeeeerrrrrrrrrrrryyyyyyyyyyyy slow....

Problem building QHPR_PLUGIN_DLL

Building CloudCompare on Ubuntu 12.04.1 x64 and gcc. Cloned the git repo on March 8 (today). Added the QHPR plugin to the build, but it claims it cannot find ccGLWindow.h, however, the file does appear to exist

Scanning dependencies of target QHPR_PLUGIN_DLL
[ 62%] Building CXX object qCC/plugins/qHPR/CMakeFiles/QHPR_PLUGIN_DLL.dir/ccHprDlg.cpp.o
[ 62%] Building CXX object qCC/plugins/qHPR/CMakeFiles/QHPR_PLUGIN_DLL.dir/qHPR.cpp.o
/home/jkua/projects/cloudcompare/qCC/plugins/qHPR/qHPR.cpp:31:24: fatal error: ccGLWindow.h: No such file or directory

Segmentation fault after loading any data

I have successfully compiled qCC on Ubuntu 12.04 64bit. After loading any data it is not shown and clicking on one entity in the "DB Tree" leads to an immediate crash.

I know - this is few information to debug.

Andreas

Bildschirmfoto vom 2013-03-20 12:23:45

template friends - fun, fun, fun

The 3D Vector template has the following:

    friend Vector3Tpl operator * (Type s, const Vector3Tpl &v);
...

    inline Vector3Tpl<float> operator * (float s, const Vector3Tpl<float> &v) {return v*s;}
    inline Vector3Tpl<double> operator * (double s, const Vector3Tpl<double> &v) {return v*s;}

This fails to compile with GCC:

CCGeom.h:103: warning: friend declaration ‘Vector3Tpl operator*(Type, const Vector3Tpl&)’ declares a non-template function
CCGeom.h:103: warning: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning

I'm not a template guru, but from what I understand, the code as it stands would evaluate to:

    Vector3Tpl operator * (float s, const Vector3Tpl &v)

which isn't defined.

Can it not just be inlined like the rest?

    friend Vector3Tpl<Type> operator * (Type s, const Vector3Tpl<Type> &v) {return v*s;}
or
    inline Vector3Tpl<Type> operator * (Type s, const Vector3Tpl<Type> &v) {return v*s;}

Is there a reason this operator needs to be a friend?

qCC/ccPrimitiveFactoryDlg.cpp:28:24: fatal error: MainWindow.h: No such file or directory

Hi,
I got an error compiling CloudCompare from the git repository,
I'm using Ubuntu 12.04.
I realised it's simply because of an include MainWindow.h which should be including mainwindow.h... git diff follows :)

diff --git a/qCC/ccPrimitiveFactoryDlg.cpp b/qCC/ccPrimitiveFactoryDlg.cpp
index 2e3a2f3..3d77075 100644
--- a/qCC/ccPrimitiveFactoryDlg.cpp
+++ b/qCC/ccPrimitiveFactoryDlg.cpp
@@ -25,7 +25,7 @@
#include "ccPrimitiveFactoryDlg.h"

//qCC
-#include <MainWindow.h>
+#include <mainwindow.h>

//qCC_db
#include <ccGenericPrimitive.h>

static const var issue

A recent change highlights a problem with decalring static consts in classes.

DgmOctree has the following in the class declaration:

   static const int MAX_OCTREE_LEVEL = 10;

Compilers usually treat this as a constant compile-time expression and just inlines the value. But this means that you can't pass MAX_OCTREE_LEVEL to any function that takes a reference, such as this:

   std::min<int>(7,CCLib::DgmOctree::MAX_OCTREE_LEVEL)

because the var isn't actually defined anywhere. This may result in a link error (as it does with GCC).

In general, the solutions are to either (1) declare it in the header:

   static const int MAX_OCTREE_LEVEL;

and define it in the cpp:

#ifdef OCTREE_CODES_64_BITS
    const int CCLib::DgmOctree::MAX_OCTREE_LEVEL = 21;
#else
    const int CCLib::DgmOctree::MAX_OCTREE_LEVEL = 10;
#endif

(This won't work for DgmOctree since it uses it to declare arrays later in the class:

   //! Cell dimensions for all subdivision levels
   PointCoordinateType m_cellSize[MAX_OCTREE_LEVEL+2];

)

(2) Add a definition in the cpp, but leave the initialization with the declaration:

  const int CCLib::DgmOctree::MAX_OCTREE_LEVEL;

Or (3) simply use an enum:

#ifdef OCTREE_CODES_64_BITS
  enum { MAX_OCTREE_LEVEL = 21 };
#else
  enum { MAX_OCTREE_LEVEL = 10 };
#endif

Daniel: I know you have an aversion to using enums like that, so I assume you'd prefer solution (2)? :-)

Points with custom names not saved in bin file

On Linux (perhaps on other OS too)

Pick a point or vector.
Save.
Double-click in left DB Tree pane and rename
Save file as a ".bin" file.
Re-load.

Re-named point is no longer named. Only the default name (point # or vector #) is restored.

Primitive factory accessibility

Primitive factory action should be accessible also when no object is selected within the dbtree.

This depends by the fact that the whole Tools menu is disabled when no object is selected.

Primitive Factory action in toolbar works correctly!

Angle calculation

I might be doing my triangle maths wrong, but I'm confused by the angle calculations.

Using the following simple .xyz file to play around, sometimes it reports 45 when I think it should report 90, and vice versa. Or if I select point 2 then 5 then 0, I think the angle should be close to 0, but it reports ~82.

0 0 0
0 0 10
1 0 0
0 1 0
10 0 0
0 10 0

RGBConversion Branch

Added the possibility to convert RGB colors of point clouds to scalar fields, exporting R, G and/or B or the average as scalar fields.

also vice-versa would be a nice feature. SF to RGB yet exists but could be extended for being able to do false color visualization of point clouds selecting several SFs. Another nice feature would be to select a set of SF for a given cloud, compute the Principal components and use the first 3 PCs for false color RGB (Here only as a note for when I'll have time)

compiling problem on linux...gcc 4.7.3

I was trying to build the last git revision but I am getting this:

[ 8%] Building CXX object libs/qCC_db/CMakeFiles/QCC_DB_DLL.dir/ccPointCloud.cpp.o
In file included from /home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.cpp:31:0:
/home/luca/Code/CC_git_clean/libs/qCC_db/ccKdTree.h:31:14: warning: declaration ‘class CCLib::GenericProgressCallback’ does not declare anything [enabled by default]
/home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.cpp:43:40: error: declaration of ‘ccPointCloud::ccPointCloud(QString)’ has a different exception specifier
In file included from /home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.cpp:21:0:
/home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.h:74:5: error: from previous declaration ‘ccPointCloud::ccPointCloud(QString) throw ()’
/home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.cpp:293:25: error: declaration of ‘void ccPointCloud::init()’ has a different exception specifier
In file included from /home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.cpp:21:0:
/home/luca/Code/CC_git_clean/libs/qCC_db/ccPointCloud.h:496:7: error: from previous declaration ‘void ccPointCloud::init() throw ()’
make[2]: *** [libs/qCC_db/CMakeFiles/QCC_DB_DLL.dir/ccPointCloud.cpp.o] Error 1
make[1]: *** [libs/qCC_db/CMakeFiles/QCC_DB_DLL.dir/all] Error 2
make: *** [all] Error 2

I'v never faced with this error... and a fast google search did not help...
Any idea?

Wrong color displaying when in centered perspective mode

I noticed that on my laptop (latest trunk on linux with official nvidia drivers - NVS 5400M card) the colors appear to be wrong when in centered perspective mode. See the two images.
bug_ortho
bug_perspective

Any idea? Anybody else have this problem?

OS X compile error

Latest commit, and previous ones, including latest "release", do not compile on OS X.

I'm currently at 6e15335

[ 23%] Building CXX object qCC/CMakeFiles/qCC.dir/fileIO/STLFilter.cpp.o
/Users/mankoff/local/src/CloudCompare/qCC/fileIO/STLFilter.cpp: In member function ‘CC_FILE_ERROR STLFilter::loadBinaryFile(QFile&, ccMesh*, ccPointCloud*, bool, bool*, double*)’:
/Users/mankoff/local/src/CloudCompare/qCC/fileIO/STLFilter.cpp:691: error: ‘__int32’ was not declared in this scope
/Users/mankoff/local/src/CloudCompare/qCC/fileIO/STLFilter.cpp:691: error: expected `;' before ‘tmpInt32’
/Users/mankoff/local/src/CloudCompare/qCC/fileIO/STLFilter.cpp:692: error: ‘tmpInt32’ was not declared in this scope
/Users/mankoff/local/src/CloudCompare/qCC/fileIO/STLFilter.cpp:694: error: ‘tmpInt32’ was not declared in this scope
make[2]: *** [qCC/CMakeFiles/qCC.dir/fileIO/STLFilter.cpp.o] Error 1
make[1]: *** [qCC/CMakeFiles/qCC.dir/all] Error 2
make: *** [all] Error 2

[Mac] Colour ramp shader fails to build

On Mac OS X, the colour ramp fragment fails to load. The log reads:

Log: ERROR: 0:29: '' : wrong operand types no operation '' exists that takes a left-hand operand of type 'float' and a right operand of type 'uniform int' (or there is no acceptable conversion)

Not being a shader guy, it seems odd it can't multiply an int and a float...

Problem linking CloudCompare with Qt4 and Boost 1.48

Building CloudCompare on Ubuntu 12.04.1 x64 and gcc. Cloned the git repo today (3/8). When linking CloudCompare I get an error about BOOST_JOIN. This link: https://bugreports.qt-project.org/browse/QTBUG-22829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel suggests this is an issue with QT4 and Boost versions >= 1.48. There seems to be a workaround, but I'm not sure where it goes.

Disabling the PCL plugin makes this problem go away, but that is something I'd like to use.

Linking CXX executable CloudCompare
[ 64%] Built target CloudCompare
[ 65%] Generating ui_NormalEstimationDlg.h
[ 65%] Generating qtHelper/moc_qtHelper.cxx
[ 65%] Generating filters/moc_NormalEstimation.cxx
[ 65%] Generating filters/moc_StatisticalOutliersRemover.cxx
[ 66%] Generating filters/moc_SavePCD.cxx
[ 66%] Generating filters/moc_LoadPCD.cxx
[ 66%] Generating filters/moc_testfilter.cxx
[ 66%] Generating filters/dialogs/moc_SIFTExtractDlg.cxx
[ 67%] Generating filters/dialogs/moc_NormalEstimationDlg.cxx
[ 67%] Generating filters/dialogs/moc_MLSDialog.cxx
usr/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
make[2]: *** [qCC/plugins/qPCL/PclUtils/filters/dialogs/moc_MLSDialog.cxx] Error 1
make[1]: *** [qCC/plugins/qPCL/PclUtils/CMakeFiles/PclUtils.dir/all] Error 2
make: *** [all] Error 2

lost coordinates when saving!

Possible bug?

I have experienced that when I use the sample mesh function I loose the correct coordinates upon saving. That is that the "local coordinates" coordinates is saved instead of the real world coordinates. Is this a bug or intended?

Cheers,

Missing QToolButton.h

On ubuntu 12.04, when compiling from source with the makefile generated by cmake, you get the following error:

cloud_compare/qCC/db_tree/ccPropertiesTreeDelegate.cpp:55:25: fatal error: QToolButton.h: No such file or directory

This problem is solved by removing the ".h" at the end of line 55 in file cloud_compare/qCC/db_tree/ccPropertiesTreeDelegate.cpp

Adding possibility to free scale parameters during ICP registration

How much is feasible to modify/add the code for being able to free also the scale parameter during ICP registration? This would be needed when dealing with photogrammetric models without scale vs lidar models.
One could:

  1. initial registering with 3 points
  2. Standard ICP for fine registration
  3. Scale-free ICP for minor scale adjustment

I was looking at the registration code. And probably I would need to modify code in CClib. In particular everything needed should be in RegistrationTools.cpp, isn't?
the class ICPRegistrationTools should contain everything needed for this.

I think I should declare a new type of PointProjectionTools::Transformation with scale, and then pass the scale also to RegistrationTools::RegistrationProcedure (line 300) - it seems like this method yet support scaling.
I would also need to define/extend PointProjectionTools::applyTransformation for being able to support scaling.

Also SimpleCloud::applyTransformation would need to be extended with a scale parameter.

And... Also choosing the right center of scale is not trivial. Probably centering the scale operation on a point that yet shows great correspondence could be nice. But seems to be a pretty complex matter. Maybe also using center of mass could be good.

This should be all. Any idea?

If it is not more complex than that I could try :-)

EDIT: it seems like also RegistrationProcedure would need not trivial changes... ??

C++ standard (98 vs. 11)

Some recent changes introduced some code incompatible with C++98 - was this intentional?

The code has to do with std::set<>::erase() in ccRenderingTools.cpp:

it = keyValues.erase(it);

Using the older C++ standard (98), erase() does not return an iterator, whereas in the 2011 standard it does.

If this was intentional, then I'll have to fix the CMake stuff to compile with C++11 on Mac OS X. If not, then this should be fixed...

Higher resolution icons for ccViewer et qCC

I'm packaging cc suite for Debian/Archeos. For now, I'm adding these icons to the build:

  • qCC/images/menu/cc_main.png
  • ccViewer/images/cc.png

The ccViewer icon is 16x16 and the qCC one is 32x32. It would be nice if you could include higher resolution icons or even svg ones in the upstream repo.

Thx in advance.
R.

__int64 breaks Mac OS X build

A recent change breaks the Mac OS X build since __int64 is not defined. Since CloudCompare is using Qt, using "qint64" instead will do the right thing. Defining __int64 as a "long long" on Mac OS X somewhere appropriate would work too.

Edit and Tools menu sub-items are disabled.

On OS X, most of the time all of the sub-menu items are all gray. I cannot select any Edit or Tools items. I should be able to, but I cannot. Sometimes I do something, not sure what, and the menu items become selectable. One way I have found to fix this bug is if I start to save the project, then hit cancel. This should have zero side-effects. All I do is bring up the save dialog, then dismiss it. I do not actually save the project. However, all of the appropriate menu items are now selectable, and I can do work...

Floating Overlay Windows do not appear.

On OS X, when I bring up a floating overlay dialog (for example, the little ones for Pick Points, or Segment, the window does not appear anywhere. I can't quit CC because it complains that I need to dismiss the dialog first. If I move the main CC window (grab the titlebar, move it a pixel, let go) then the floating overlay appears and everything seems to work just fine.

CloudCompare : function Colorize bugs

Hi,
I am a Version: 2.3.Qt/MinGW - 09/19/2011 user of CloudCompare.
As I try to Colorize a mesh (from a *.ply file), the logiciel bugs.
Thanks in advance for your advice.

Possible oversight in ccPointCloud.cpp

I ran across this in ccPointCloud.cpp (line 2506):

int32_t displayedScalarFieldIndex = 0;(int32_t)m_currentDisplayedScalarFieldIndex;

Is displayedScalarFieldIndex supposed to be 0 or m_currentDisplayedScalarFieldIndex? It looks like something used to debug or test different paths that was checked in by accident.

Ideas from an archaeologist

Hi,

I would like to congrats you for your very powerful software.

I am an archaeologist and I must say that your software could be one of my better tool if only there could be added some more new functionalities.

In fact, in my work, I use photogrammetric data to study undergrounds and mines.
Up to now I had to use commercial software to extract the informations I need from point clouds and 3D meshed models.
Up to now I have not found open source softwares to do the work.
And now, I would like use more open source software.

Archaeologists just need simple things.
So, may I suggest to you some ideas and let me know if you think that could be interesting to be implemented in your software.

Maybe the most important thing needed by archaeologists is the possibility to extract cross sections from a point cloud or a mesh.
With these sections we can produce maps presented in our reports.

Another job I have to do, is to study the tool marks (it helps to understand a digging process).
For this kind of study, a 3D model of a surface a fantastic.
Back to the office you can study the surface as you want : changing the light to enhance the marks thanks to the shadows.
So, I wonder if the possibility to change the light position will be implemented some day ?
I have also seen that you plan to implement shaders.
For the study of tool marks (micro relief) the radiance scaling shader could be a very powerful tool (http://iparla.inria.fr/publications/2010/VPBGS10/).
And finally, the export of ortho-photography could allow to easily survey the marks.

If you want, you can consult my first report of the use of photogrammetry to study underground mines, here :

http://halshs.archives-ouvertes.fr/halshs-00656130

You could see the kind of tools I use and data I extract.

So, if I sum up :

  • cross section extraction
  • changing the light position
  • use radiance scaling shader
  • orthophotography export

I am available to discuss about these ideas.

Adrien Arles
Mining archaeologist

Drag & drop does not works to all items in db tree

Planes, meshes - could be moved around in db tree.
But "picked points" (2d labels) could not be moved - then trying to move it - other items are selected, but nothing is moved.

Does it have to be so?

Help/About dialog box on Windows

Hi,

CloudCompare has been a great app for me.

My tiny problem with Version: 2.4.Qt/MSVC - 03/10/2013, the latest version, is that when the Help/About dialog box was opened, by clicking the OK button, the program will crash.
By clicking on the small 'X' button at upper right corner provided by windows, it will close just fine.

Affe

Picked points representation by custom shape

Now picked points are shown as rectangles
and
On "curved" surface only some part is shown (in front of surface)

Possiblity of small "sphere" would be great.
And "point" it self should also ignore Z order and be visible as label is always visible.
Maybe some shading/blurring if point behind surface.

Saving layout (toolbars, console, etc.)

Notice for future (low priority)

Saving layout (toolbars, console, etc.) would be great.
Now after restarting application everything is in its original positions.

And posibility to arrange plugin icons.

OS X Crash

Hi,

I'll try to get OS X working in my fork and submit patches, but I'll post some crash logs here in the hope that you might recognize the reason, provide some hints, etc. As when we did this last year in the forums, your expertise will of course help, but I'm not expecting much as I know you don't officially support OS X.

Currently, this is the issue. Does not appear to be with plugins. As far as I can tell this is standard Qt stuff (I'm not experienced with Qt though).

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x00000001000f960e in ccPropertiesTreeDelegate::sizeHint (this=0x102090790, option=@0x7fff5fbf9260, index=@0x7fff5fbf91b0) at /Users/mankoff/local/src/CloudCompare/qCC/db_tree/ccPropertiesTreeDelegate.cpp:89
89      if (item->data().isValid())

And code in context:

QSize ccPropertiesTreeDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
{
    assert(m_model);

    QStandardItem* item = m_model->itemFromIndex(index);

    if (item->data().isValid())
    {

View for selected primitives (eg. planes)

Option to disable "box" drawing arround selected priimitive.
And enable to highlight it istead of drawing box.

additional methods something like
ccPlane::setBoundingBoxVisible(false)
and
ccPlane::setHighlightSelected(true)

Crash on file load

CC crashes about one out of five times when loading the OBJ file located here:http://dl.getdropbox.com/u/12453163/A09_A10.zip

Crashes with the error in gdb:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000118880000
0x0000000116833d0a in glTexCoord3fv_Exec ()

And the trace is:

(gdb) bt
#0  0x0000000116833d0a in glTexCoord3fv_Exec ()
#1  0x0000000101605fff in ccMesh::drawMeOnly (this=0x117bf3290, context=@0x7fff5fbfe1a0) at /Users/mankoff/local/src/CloudCompare/libs/qCC_db/ccMesh.cpp:1064
#2  0x00000001015f4eef in ccHObject::draw (this=0x117bf3298, context=@0x7fff5fbfe1a0) at /Users/mankoff/local/src/CloudCompare/libs/qCC_db/ccHObject.cpp:394
#3  0x00000001015f4f23 in ccHObject::draw (this=0x117b411f0, context=@0x7fff5fbfe1a0) at /Users/mankoff/local/src/CloudCompare/libs/qCC_db/ccHObject.cpp:399
#4  0x00000001015f4f23 in ccHObject::draw (this=0x10217b150, context=@0x7fff5fbfe1a0) at /Users/mankoff/local/src/CloudCompare/libs/qCC_db/ccHObject.cpp:399
#5  0x00000001000490c3 in ccGLWindow::draw3D (this=0x116776000, context=@0x7fff5fbfe1a0, doDrawCross=false, fbo=0x1020e4cc0) at /Users/mankoff/local/src/CloudCompare/qCC/ccGLWindow.cpp:667
#6  0x000000010004a220 in ccGLWindow::paintGL (this=0x116776000) at /Users/mankoff/local/src/CloudCompare/qCC/ccGLWindow.cpp:372
#7  0x0000000100416fbf in QGLWidget::glDraw ()
#8  0x0000000100043073 in ccGLWindow::redraw (this=0x116776000) at /Users/mankoff/local/src/CloudCompare/qCC/ccGLWindow.cpp:1302
#9  0x00000001000489fa in ccGLWindow::updateConstellationCenterAndZoom (this=0x116776000, aBox=0x0) at /Users/mankoff/local/src/CloudCompare/qCC/ccGLWindow.cpp:852
#10 0x0000000100042e9d in ccGLWindow::zoomGlobal (this=0x116776000) at /Users/mankoff/local/src/CloudCompare/qCC/ccGLWindow.cpp:810
#11 0x00000001000ab3f1 in MainWindow::addToDB (this=0x102883a00, obj=0x117b411f0, autoExpandDBTree=true, statusMessage=0x100188c79 "File loaded", addToDisplay=true, updateZoom=true, winDest=0x0, coordinatesTransEnabled=0x7fff5fbfe7ee, coordinatesShift=0x7fff5fbfe7a0, coordinatesScale=0x7fff5fbfe7e0) at /Users/mankoff/local/src/CloudCompare/qCC/mainwindow.cpp:5500
#12 0x00000001000aa968 in MainWindow::addToDB (this=0x102883a00, filenames=@0x7fff5fbfe950, fType=UNKNOWN_FILE, destWin=0x0) at /Users/mankoff/local/src/CloudCompare/qCC/mainwindow.cpp:5531
#13 0x00000001000aa410 in MainWindow::loadFile (this=0x102883a00) at /Users/mankoff/local/src/CloudCompare/qCC/mainwindow.cpp:5635
#14 0x000000010015cf43 in MainWindow::qt_static_metacall (_o=0x102883a00, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff5fbfeb38) at /Users/mankoff/local/src/CloudCompare/build/qCC/moc_mainwindow.cxx:270
#15 0x000000010124d931 in QMetaObject::activate ()
#16 0x0000000100597229 in QAction::activate ()
#17 0x000000010054c7a7 in -[QCocoaMenuLoader qtDispatcherToQAction:] ()
#18 0x00007fff814bceda in -[NSApplication sendAction:to:from:] ()
#19 0x00007fff814e146a in -[NSMenuItem _corePerformAction] ()
#20 0x00007fff814e11d4 in -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] ()
#21 0x00007fff814c6e45 in -[NSMenu performKeyEquivalent:] ()
#22 0x00007fff814c5bed in -[NSApplication _handleKeyEquivalent:] ()
#23 0x00007fff813966b9 in -[NSApplication sendEvent:] ()
#24 0x000000010054d832 in -[QNSApplication sendEvent:] ()
#25 0x00007fff8132d6de in -[NSApplication run] ()
#26 0x0000000100556aa0 in QEventDispatcherMac::processEvents ()
#27 0x0000000101235f68 in QEventLoop::exec ()
#28 0x000000010123923b in QCoreApplication::exec ()
#29 0x00000001000a3074 in main (argc=1, argv=0x7fff5fbff480) at /Users/mankoff/local/src/CloudCompare/qCC/main.cpp:124
(gdb) 

qPoissonRecon fails to build on Mac OS X

The Poisson code which is being wrapped includes its own time.h header file which is an all-around terrible idea. This conflicts with the system's time.h which breaks the compile.

Solutions:

  1. Play around with include ordering to get it to work
  2. Rename the header and change the include in the two files which include it

There are other issues to be fixed with this code, so maybe put this off until you want to merge in a more recent version of it as mentioned before.

Rotation around third axis is missing

Hi,
I am sadly missing the possibility to rotate the 3D view around the third axis. Moving the mouse left-right rotates around vertical axis, up-down around the axis lying horizontal, but rotating around the axis pointing "into" or "out of" the screen is not possible yet. This would ease the exact positioning of the field of view a lot.
Could be done wiht holding CTRL or ALT while moving mouse left-right.

TIA
Roland

"Picked point list" group shouldn't be movable

Group "Picked point list" generated by the Point List Picking tool can be moved (drag and drop). However, it will cause a crash if the user try to delete the parent entity afterwards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.