Skip to content

Commit

Permalink
Done with assimp render
Browse files Browse the repository at this point in the history
  • Loading branch information
jlblancoc committed Sep 2, 2014
1 parent 7b2e6b1 commit e0f741c
Show file tree
Hide file tree
Showing 14 changed files with 360 additions and 435 deletions.
3 changes: 0 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,6 @@ ENDIF(BUILD_SHARED_LIBS)
# Only for Unix: use pkg-config to find libraries
# ===================================================
INCLUDE(FindPkgConfig OPTIONAL)
IF(PKG_CONFIG_FOUND)
INCLUDE(FindPkgConfig)
ENDIF(PKG_CONFIG_FOUND)
# "QUIET" was introduced in 2.8.2 for PKG_CHECK_MODULES
if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER "2.8.1")
set(_QUIET QUIET)
Expand Down
32 changes: 16 additions & 16 deletions apps/SceneViewer3D/_DSceneViewerMain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
#include <wx/app.h>

//(*InternalHeaders(_DSceneViewerFrame)
#include <wx/string.h>
#include <wx/intl.h>
#include <wx/tglbtn.h>
#include <wx/artprov.h>
#include <wx/bitmap.h>
#include <wx/tglbtn.h>
#include <wx/icon.h>
#include <wx/intl.h>
#include <wx/image.h>
#include <wx/artprov.h>
#include <wx/string.h>
//*)

#include "CDialogOptions.h"
Expand Down Expand Up @@ -56,7 +56,7 @@

#include <mrpt/opengl/COpenGLScene.h>
#include <mrpt/opengl/CGridPlaneXY.h>
#include <mrpt/opengl/C3DSScene.h>
#include <mrpt/opengl/CAssimpModel.h>
#include <mrpt/opengl/CPointCloud.h>
#include <mrpt/opengl/CPointCloudColoured.h>
#include <mrpt/opengl/stock_objects.h>
Expand Down Expand Up @@ -385,22 +385,22 @@ _DSceneViewerFrame::_DSceneViewerFrame(wxWindow* parent,wxWindowID id)
wxMenuItem* MenuItem2;
wxMenu* MenuItem15;
wxMenuItem* MenuItem1;
wxFlexGridSizer* FlexGridSizer1;
wxMenuItem* MenuItem4;
wxFlexGridSizer* FlexGridSizer2;
wxMenuItem* MenuItem13;
wxMenu* Menu1;
wxMenuItem* MenuItem12;
wxMenuItem* MenuItem3;
wxMenuBar* MenuBar1;
wxMenuItem* MenuItem4;
wxMenuItem* MenuItem13;
wxFlexGridSizer* FlexGridSizer1;
wxMenu* Menu2;

Create(parent, id, _("3DSceneViewer - Part of the MRPT project - Jose Luis Blanco (C) 2005-2008"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
SetMinSize(wxSize(150,100));
{
wxIcon FrameIcon;
FrameIcon.CopyFromBitmap(wxArtProvider::GetBitmap(wxART_MAKE_ART_ID_FROM_STR(_T("MAIN_ICON")),wxART_FRAME_ICON));
SetIcon(FrameIcon);
wxIcon FrameIcon;
FrameIcon.CopyFromBitmap(wxArtProvider::GetBitmap(wxART_MAKE_ART_ID_FROM_STR(_T("MAIN_ICON")),wxART_FRAME_ICON));
SetIcon(FrameIcon);
}
FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 0);
FlexGridSizer1->AddGrowableCol(1);
Expand Down Expand Up @@ -470,7 +470,7 @@ _DSceneViewerFrame::_DSceneViewerFrame(wxWindow* parent,wxWindowID id)
Menu1->Append(MenuItem9);
Menu1->AppendSeparator();
MenuItem18 = new wxMenu();
MenuItem8 = new wxMenuItem(MenuItem18, ID_MENUITEM6, _("a 3DStudio object..."), wxEmptyString, wxITEM_NORMAL);
MenuItem8 = new wxMenuItem(MenuItem18, ID_MENUITEM6, _("a 3D model (any Assimp format)..."), wxEmptyString, wxITEM_NORMAL);
MenuItem18->Append(MenuItem8);
MenuItem19 = new wxMenuItem(MenuItem18, ID_MENUITEM20, _("a PLY point cloud..."), wxEmptyString, wxITEM_NORMAL);
MenuItem18->Append(MenuItem19);
Expand Down Expand Up @@ -542,7 +542,7 @@ _DSceneViewerFrame::_DSceneViewerFrame(wxWindow* parent,wxWindowID id)
StatusBar1->SetStatusStyles(4,__wxStatusBarStyles_1);
SetStatusBar(StatusBar1);
timLoadFileCmdLine.SetOwner(this, ID_TIMER1);
timLoadFileCmdLine.Start(50, true);
timLoadFileCmdLine.Start(50, false);
FlexGridSizer1->Fit(this);
FlexGridSizer1->SetSizeHints(this);
Center();
Expand Down Expand Up @@ -928,7 +928,7 @@ void _DSceneViewerFrame::OnInsert3DS(wxCommandEvent& event)
try
{
wxString caption = wxT("Choose a file to import");
wxString wildcard = wxT("3DS files (*.3DS, *.3DS.gz)|*.3DS;*.3DS.gz;*.3ds;*.3ds.gz|All files (*.*)|*.*");
wxString wildcard = wxT("3D models (All Assimp formats)|*.dae;*.blend;*.3ds;*.ase;*.obj;*.ifc;*.xgl;.zgl;*.ply;*.dxf;.lwo;*.lws;*.lxo;*.stl;*.x;*.ac;*.ms3d;*.cob;.scn;*.bvh;*.csm;*.xml;*.irrmesh;*.irr;*.mdl;*.md2;*.md3;*.pk3;*.mdc;*.md5*;*.smd;.vta;*.m3;*.3d;*.b3d;*.q3d;*.q3s;*.nff;*.nff;*.off;*.raw;*.ter;*.mdl;*.hmp;*.ndo;|All files (*.*)|*.*");
wxString defaultDir( _U( iniFile->read_string(iniFileSect,"LastDir",".").c_str() ) );
wxString defaultFilename = wxT("");

Expand All @@ -942,8 +942,8 @@ void _DSceneViewerFrame::OnInsert3DS(wxCommandEvent& event)

saveLastUsedDirectoryToCfgFile(fil);

mrpt::opengl::C3DSScenePtr obj3D = mrpt::opengl::C3DSScene::Create();
obj3D->loadFrom3DSFile( fil );
mrpt::opengl::CAssimpModelPtr obj3D = mrpt::opengl::CAssimpModel::Create();
obj3D->loadScene( fil );
m_canvas->m_openGLScene->insert( obj3D );

m_canvas->Refresh();
Expand Down
64 changes: 32 additions & 32 deletions apps/SceneViewer3D/_DSceneViewerMain.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,47 +159,47 @@ class _DSceneViewerFrame: public wxFrame
static const long ID_TIMER_AUTOPLAY;

//(*Declarations(_DSceneViewerFrame)
wxMenu* MenuItem11;
wxMenu* MenuItem18;
wxCustomButton* btnOptions;
wxMenuItem* MenuItem8;
wxMenuItem* mnuSelectionDelete;
wxMenuItem* MenuItem7;
wxCustomButton* btnCapture;
wxCustomButton* btnNew;
wxCustomButton* btnNext;
wxMenuItem* MenuItem5;
wxMenu* Menu3;
wxMenu* MenuItem20;
wxMenuItem* MenuItem14;
wxCustomButton* btnToolbarOpen;
wxMenuItem* mnuItemChangeMaxPointsPerOctreeNode;
wxCustomButton* btnQuit;
wxCustomButton* btnAutoplay;
wxMenuItem* MenuItem22;
wxMenuItem* MenuItem10;
wxStaticLine* StaticLine2;
wxStatusBar* StatusBar1;
wxCustomButton* btnOptions;
wxMenuItem* mnuSelectNone;
wxMenuItem* mnuSceneStats;
wxMenuItem* MenuItem16;
wxMenuItem* mnuSelectionScale;
wxMenuItem* mnuImportLAS;
wxCustomButton* btnOrtho;
wxMenu* Menu3;
wxMenuItem* MenuItem19;
wxCustomButton* btnNext;
wxMenuItem* mnuSelectionDelete;
wxCustomButton* btnAbout;
wxCustomButton* btnToolbarOpen;
wxCustomButton* btnNew;
wxMenuItem* mnuSelectByClass;
wxStatusBar* StatusBar1;
wxMenuItem* MenuItem6;
wxStaticLine* StaticLine3;
wxStaticLine* StaticLine1;
wxTimer timLoadFileCmdLine;
wxCustomButton* btnAbout;
wxMenuItem* MenuItem21;
wxMenuItem* mnuItemShowCloudOctrees;
wxStaticLine* StaticLine1;
wxMenuItem* mnuSelectByClass;
wxMenuItem* MenuItem16;
wxMenuItem* MenuItem9;
wxMenu* Menu4;
wxStaticLine* StaticLine3;
wxMenuItem* mnuItemChangeMaxPointsPerOctreeNode;
wxMenuItem* mnuSelectNone;
wxMenuItem* MenuItem22;
wxMenuItem* mnuImportLAS;
wxMenuItem* MenuItem5;
wxMenu* MenuItem18;
wxMenuItem* mnuItemShowCloudOctrees;
wxCustomButton* btnReload;
wxMenuItem* mnuSelectionScale;
wxMenu* MenuItem17;
wxCustomButton* btnPrev;
wxMenuItem* MenuItem10;
wxMenuItem* MenuItem6;
wxMenuItem* MenuItem7;
wxMenuItem* MenuItem8;
wxMenuItem* MenuItem14;
wxMenu* MenuItem20;
wxCustomButton* btnCapture;
wxCustomButton* btnQuit;
wxMenu* Menu4;
wxMenuItem* MenuItem19;
wxMenu* MenuItem11;
wxMenu* MenuItem17;
//*)

CMyGLCanvas *m_canvas;
Expand Down
3 changes: 1 addition & 2 deletions apps/SceneViewer3D/wxsmith/_DSceneViewerframe.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@
<object class="wxMenu" name="ID_MENUITEM19" variable="MenuItem18" member="yes">
<label>Import</label>
<object class="wxMenuItem" name="ID_MENUITEM6" variable="MenuItem8" member="yes">
<label>a 3DStudio object...</label>
<label>a 3D model (any Assimp format)...</label>
<handler function="OnInsert3DS" entry="EVT_MENU" />
</object>
<object class="wxMenuItem" name="ID_MENUITEM20" variable="MenuItem19" member="yes">
Expand Down Expand Up @@ -349,7 +349,6 @@
</object>
<object class="wxTimer" name="ID_TIMER1" variable="timLoadFileCmdLine" member="yes">
<interval>50</interval>
<oneshoot>1</oneshoot>
<handler function="OntimLoadFileCmdLineTrigger" entry="EVT_TIMER" />
</object>
</object>
Expand Down
51 changes: 30 additions & 21 deletions cmakemodules/script_assimp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@
SET(CMAKE_MRPT_HAS_ASSIMP 0)
SET(CMAKE_MRPT_HAS_ASSIMP_SYSTEM 0)

SET(ASSIMP_FOUND_VIA_CMAKE 0)

SET(EMBEDDED_ASSIMP_DIR "${MRPT_BINARY_DIR}/otherlibs/assimp")

# 1st) Try to locate the pkg via pkg-config:
find_package(PkgConfig)
find_package(PkgConfig QUIET)
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(ASSIMP QUIET assimp)
PKG_CHECK_MODULES(ASSIMP ${_QUIET} assimp)
IF (ASSIMP_FOUND)
IF ($ENV{VERBOSE})
MESSAGE(STATUS "Assimp: Found via pkg-config")
Expand All @@ -27,19 +29,19 @@ IF(PKG_CONFIG_FOUND)
ENDIF(PKG_CONFIG_FOUND)


# Not worth the problems caused by this: (?)
# 2nd) Try to locate it via CMake (installed in the system or precompiled somewhere)
IF (NOT ASSIMP_FOUND)
FIND_PACKAGE(ASSIMP QUIET)

IF (ASSIMP_FOUND)
IF ($ENV{VERBOSE})
MESSAGE(STATUS "Assimp: Found via cmake")
ENDIF ($ENV{VERBOSE})

SET(CMAKE_MRPT_HAS_ASSIMP 1)
SET(CMAKE_MRPT_HAS_ASSIMP_SYSTEM 1)
ENDIF (ASSIMP_FOUND)
ENDIF (NOT ASSIMP_FOUND)
#IF (NOT ASSIMP_FOUND)
# FIND_PACKAGE(ASSIMP QUIET)
# IF (ASSIMP_FOUND)
# SET(ASSIMP_FOUND_VIA_CMAKE 1)
# IF ($ENV{VERBOSE})
# MESSAGE(STATUS "Assimp: Found via cmake")
# ENDIF ($ENV{VERBOSE})
# SET(CMAKE_MRPT_HAS_ASSIMP 1)
# SET(CMAKE_MRPT_HAS_ASSIMP_SYSTEM 1)
# ENDIF (ASSIMP_FOUND)
#ENDIF (NOT ASSIMP_FOUND)


IF (NOT ASSIMP_FOUND)
Expand Down Expand Up @@ -84,23 +86,30 @@ IF (NOT ASSIMP_FOUND)
# 3rd attempt: Fatal error if not found:
SET(ASSIMP_DIR "${EMBEDDED_ASSIMP_DIR}" CACHE PATH "Path to ASSIMP CMake config file" FORCE)
FIND_PACKAGE(ASSIMP REQUIRED)

# override wrong target libs in -config.cmake file:
set(ASSIMP_LIBRARIES "")
LIST(APPEND ASSIMP_LIBRARIES optimized "assimp-mrpt" debug "assimp-mrptd")

SET(ASSIMP_FOUND_VIA_CMAKE 1)

SET(CMAKE_MRPT_HAS_ASSIMP 1)
SET(CMAKE_MRPT_HAS_ASSIMP_SYSTEM 0)

# Override binary output dir:
SET_TARGET_PROPERTIES(assimp PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/"
)

SET(CMAKE_MRPT_HAS_ASSIMP 1)
SET(CMAKE_MRPT_HAS_ASSIMP_SYSTEM 0)
ENDIF (BUILD_ASSIMP)

ENDIF(NOT ASSIMP_FOUND)

IF (ASSIMP_FOUND_VIA_CMAKE)
# override wrong target libs in -config.cmake file:
set(ASSIMP_LIBRARIES "")
LIST(APPEND ASSIMP_LIBRARIES optimized "assimp-mrpt" debug "assimp-mrptd")

# override wrong include dirs:
SET(ASSIMP_INCLUDE_DIRS "${MRPT_SOURCE_DIR}/otherlibs/assimp/include/")

ENDIF (ASSIMP_FOUND_VIA_CMAKE)

# ASSIMP_ROOT_DIR - the root directory where the installation can be found
# ASSIMP_CXX_FLAGS - extra flags for compilation
Expand Down
2 changes: 1 addition & 1 deletion cmakemodules/script_kinect.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ mark_as_advanced(DISABLE_LIBUSB)
IF (NOT DISABLE_LIBUSB)
IF(UNIX)
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(PKG_LIBUSB10 libusb-1.0)
PKG_CHECK_MODULES(PKG_LIBUSB10 ${_QUIET} libusb-1.0)
ENDIF(PKG_CONFIG_FOUND)
ENDIF(UNIX)
ELSE (NOT DISABLE_LIBUSB)
Expand Down
2 changes: 1 addition & 1 deletion cmakemodules/script_libdc1394.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ IF(NOT DISABLE_LIBDC1394)

# Invoke pkg-config for getting the configuration:
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(LIBDC1394_2 QUIET libdc1394-2)
PKG_CHECK_MODULES(LIBDC1394_2 ${_QUIET} libdc1394-2)
IF (LIBDC1394_2_FOUND)
SET(CMAKE_MRPT_HAS_LIBDC1394_2 1)
SET(CMAKE_MRPT_HAS_LIBDC1394_2_SYSTEM 1)
Expand Down
2 changes: 1 addition & 1 deletion cmakemodules/script_opencv.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ENDIF(NOT CMAKE_MRPT_HAS_OPENCV)

# 2nd: Invoke pkg-config for getting the configuration:
IF(NOT CMAKE_MRPT_HAS_OPENCV AND PKG_CONFIG_FOUND AND NOT OpenCV_IGNORE_PKGCONFIG)
PKG_CHECK_MODULES(OPENCV opencv)
PKG_CHECK_MODULES(OPENCV ${_QUIET} opencv)
IF(OPENCV_FOUND)
SET(CMAKE_MRPT_HAS_OPENCV 1)
SET(MRPT_OPENCV_VERSION ${OPENCV_VERSION})
Expand Down
6 changes: 1 addition & 5 deletions cmakemodules/script_openni2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,7 @@ MARK_AS_ADVANCED(DISABLE_OPENNI2)
IF (NOT DISABLE_OPENNI2) # Allow the user to force not using this lib

IF (PKG_CONFIG_FOUND)
if(${CMAKE_VERSION} VERSION_LESS 2.8.2)
pkg_check_modules(PC_OPENNI libopenni2)
else(${CMAKE_VERSION} VERSION_LESS 2.8.2)
pkg_check_modules(PC_OPENNI QUIET libopenni2)
endif(${CMAKE_VERSION} VERSION_LESS 2.8.2)
pkg_check_modules(PC_OPENNI ${_QUIET} libopenni2)
ENDIF (PKG_CONFIG_FOUND)

# Build the expected names of the environment variables (Windows only) where OpenNI2 can be found:
Expand Down
2 changes: 1 addition & 1 deletion cmakemodules/script_tbb.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ SET(CMAKE_MRPT_HAS_TBB 0)
# The following code block comes from OpenCV (BSD)
if (MRPT_HAS_TBB)
if (UNIX AND NOT APPLE AND NOT ANDROID)
PKG_CHECK_MODULES(TBB tbb)
PKG_CHECK_MODULES(TBB ${_QUIET} tbb)
#message(STATUS "TBB detected: ${TBBLIB_FOUND}")

if (TBB_FOUND)
Expand Down
2 changes: 1 addition & 1 deletion cmakemodules/script_xsens.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ IF (WIN32)
ELSE(WIN32)
SET(DEFAULT_BUILD_MT4 "OFF")
IF (PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(PKG_LIBUSB10 libusb-1.0)
PKG_CHECK_MODULES(PKG_LIBUSB10 ${_QUIET} libusb-1.0)
IF(PKG_LIBUSB10_FOUND)
SET(DEFAULT_BUILD_MT4 "ON")
ENDIF(PKG_LIBUSB10_FOUND)
Expand Down

0 comments on commit e0f741c

Please sign in to comment.