Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CGoGN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
David Cazier
CGoGN
Commits
00f75cf8
Commit
00f75cf8
authored
Feb 14, 2013
by
Lionel Untereiner
Browse files
Options
Browse Files
Download
Plain Diff
Merge cgogn:~kraemer/CGoGN
parents
b1584219
9da47178
Changes
145
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
145 changed files
with
185900 additions
and
3534 deletions
+185900
-3534
SCHNApps/CMakeLists.txt
SCHNApps/CMakeLists.txt
+2
-0
SCHNApps/Plugins/differentialProperties/include/computeCurvatureDialog.h
...s/differentialProperties/include/computeCurvatureDialog.h
+2
-1
SCHNApps/Plugins/differentialProperties/include/computeNormalDialog.h
...gins/differentialProperties/include/computeNormalDialog.h
+4
-1
SCHNApps/Plugins/differentialProperties/include/differentialProperties.h
...s/differentialProperties/include/differentialProperties.h
+9
-0
SCHNApps/Plugins/differentialProperties/src/computeCurvatureDialog.cpp
...ins/differentialProperties/src/computeCurvatureDialog.cpp
+50
-31
SCHNApps/Plugins/differentialProperties/src/computeNormalDialog.cpp
...lugins/differentialProperties/src/computeNormalDialog.cpp
+45
-21
SCHNApps/Plugins/differentialProperties/src/differentialProperties.cpp
...ins/differentialProperties/src/differentialProperties.cpp
+3
-0
SCHNApps/Plugins/importSurface/src/importSurface.cpp
SCHNApps/Plugins/importSurface/src/importSurface.cpp
+2
-1
SCHNApps/Plugins/importVolume/src/importVolume.cpp
SCHNApps/Plugins/importVolume/src/importVolume.cpp
+2
-1
SCHNApps/Plugins/render/CMakeLists.txt
SCHNApps/Plugins/render/CMakeLists.txt
+1
-0
SCHNApps/Plugins/render/forms/render.ui
SCHNApps/Plugins/render/forms/render.ui
+3
-3
SCHNApps/Plugins/render/include/render.h
SCHNApps/Plugins/render/include/render.h
+10
-35
SCHNApps/Plugins/render/include/renderDockTab.h
SCHNApps/Plugins/render/include/renderDockTab.h
+46
-0
SCHNApps/Plugins/render/src/render.cpp
SCHNApps/Plugins/render/src/render.cpp
+33
-207
SCHNApps/Plugins/render/src/renderDockTab.cpp
SCHNApps/Plugins/render/src/renderDockTab.cpp
+169
-0
SCHNApps/Plugins/renderExplod/CMakeLists.txt
SCHNApps/Plugins/renderExplod/CMakeLists.txt
+1
-0
SCHNApps/Plugins/renderExplod/forms/renderExplod.ui
SCHNApps/Plugins/renderExplod/forms/renderExplod.ui
+3
-3
SCHNApps/Plugins/renderExplod/include/renderExplod.h
SCHNApps/Plugins/renderExplod/include/renderExplod.h
+10
-33
SCHNApps/Plugins/renderExplod/include/renderExplodDockTab.h
SCHNApps/Plugins/renderExplod/include/renderExplodDockTab.h
+45
-0
SCHNApps/Plugins/renderExplod/src/renderExplod.cpp
SCHNApps/Plugins/renderExplod/src/renderExplod.cpp
+31
-191
SCHNApps/Plugins/renderExplod/src/renderExplodDockTab.cpp
SCHNApps/Plugins/renderExplod/src/renderExplodDockTab.cpp
+153
-0
SCHNApps/Plugins/renderVector/CMakeLists.txt
SCHNApps/Plugins/renderVector/CMakeLists.txt
+1
-0
SCHNApps/Plugins/renderVector/forms/renderVector.ui
SCHNApps/Plugins/renderVector/forms/renderVector.ui
+2
-8
SCHNApps/Plugins/renderVector/include/renderVector.h
SCHNApps/Plugins/renderVector/include/renderVector.h
+10
-31
SCHNApps/Plugins/renderVector/include/renderVectorDockTab.h
SCHNApps/Plugins/renderVector/include/renderVectorDockTab.h
+42
-0
SCHNApps/Plugins/renderVector/src/renderVector.cpp
SCHNApps/Plugins/renderVector/src/renderVector.cpp
+23
-122
SCHNApps/Plugins/renderVector/src/renderVectorDockTab.cpp
SCHNApps/Plugins/renderVector/src/renderVectorDockTab.cpp
+121
-0
SCHNApps/Plugins/subdivideSurface/include/subdivideSurface.h
SCHNApps/Plugins/subdivideSurface/include/subdivideSurface.h
+8
-4
SCHNApps/Plugins/subdivideSurface/include/subdivideSurfaceDialog.h
...Plugins/subdivideSurface/include/subdivideSurfaceDialog.h
+2
-1
SCHNApps/Plugins/subdivideSurface/src/subdivideSurface.cpp
SCHNApps/Plugins/subdivideSurface/src/subdivideSurface.cpp
+11
-1
SCHNApps/Plugins/subdivideSurface/src/subdivideSurfaceDialog.cpp
...s/Plugins/subdivideSurface/src/subdivideSurfaceDialog.cpp
+26
-17
SCHNApps/Plugins/surfaceDeformation/CMakeLists.txt
SCHNApps/Plugins/surfaceDeformation/CMakeLists.txt
+1
-0
SCHNApps/Plugins/surfaceDeformation/include/surfaceDeformation.h
...s/Plugins/surfaceDeformation/include/surfaceDeformation.h
+34
-49
SCHNApps/Plugins/surfaceDeformation/include/surfaceDeformationDockTab.h
...ns/surfaceDeformation/include/surfaceDeformationDockTab.h
+43
-0
SCHNApps/Plugins/surfaceDeformation/src/surfaceDeformation.cpp
...pps/Plugins/surfaceDeformation/src/surfaceDeformation.cpp
+216
-284
SCHNApps/Plugins/surfaceDeformation/src/surfaceDeformationDockTab.cpp
...gins/surfaceDeformation/src/surfaceDeformationDockTab.cpp
+126
-0
SCHNApps/bin/init.py
SCHNApps/bin/init.py
+6
-6
SCHNApps/include/camera.h
SCHNApps/include/camera.h
+2
-1
SCHNApps/include/dialogs/mapsViewDialog.h
SCHNApps/include/dialogs/mapsViewDialog.h
+2
-2
SCHNApps/include/mapHandler.h
SCHNApps/include/mapHandler.h
+45
-62
SCHNApps/include/types.h
SCHNApps/include/types.h
+2
-1
SCHNApps/src/dialogs/cameraViewDialog.cpp
SCHNApps/src/dialogs/cameraViewDialog.cpp
+2
-2
SCHNApps/src/dialogs/camerasDialog.cpp
SCHNApps/src/dialogs/camerasDialog.cpp
+2
-2
SCHNApps/src/dialogs/mapsDialog.cpp
SCHNApps/src/dialogs/mapsDialog.cpp
+2
-2
SCHNApps/src/dialogs/mapsViewDialog.cpp
SCHNApps/src/dialogs/mapsViewDialog.cpp
+6
-6
SCHNApps/src/dialogs/pluginsDialog.cpp
SCHNApps/src/dialogs/pluginsDialog.cpp
+2
-1
SCHNApps/src/dialogs/pluginsViewDialog.cpp
SCHNApps/src/dialogs/pluginsViewDialog.cpp
+2
-2
SCHNApps/src/mapHandler.cpp
SCHNApps/src/mapHandler.cpp
+1
-14
SCHNApps/src/window.cpp
SCHNApps/src/window.cpp
+4
-2
ThirdParty/CMakeLists.txt
ThirdParty/CMakeLists.txt
+4
-1
ThirdParty/OpenNL/CMake/CMakeLists.txt
ThirdParty/OpenNL/CMake/CMakeLists.txt
+15
-0
ThirdParty/OpenNL/CMake/cmCUDA_DISCOVER_DEVICE_FLAGS.cpp
ThirdParty/OpenNL/CMake/cmCUDA_DISCOVER_DEVICE_FLAGS.cpp
+158
-0
ThirdParty/OpenNL/CMakeLists.txt
ThirdParty/OpenNL/CMakeLists.txt
+124
-0
ThirdParty/OpenNL/CMakeModules/FindCUDA.cmake
ThirdParty/OpenNL/CMakeModules/FindCUDA.cmake
+1248
-0
ThirdParty/OpenNL/CMakeModules/FindCUDA/make2cmake.cmake
ThirdParty/OpenNL/CMakeModules/FindCUDA/make2cmake.cmake
+79
-0
ThirdParty/OpenNL/CMakeModules/FindCUDA/parse_cubin.cmake
ThirdParty/OpenNL/CMakeModules/FindCUDA/parse_cubin.cmake
+112
-0
ThirdParty/OpenNL/CMakeModules/FindCUDA/run_nvcc.cmake
ThirdParty/OpenNL/CMakeModules/FindCUDA/run_nvcc.cmake
+260
-0
ThirdParty/OpenNL/CMakeModules/FindSuiteSparse.cmake
ThirdParty/OpenNL/CMakeModules/FindSuiteSparse.cmake
+126
-0
ThirdParty/OpenNL/CMakeOptions.txt
ThirdParty/OpenNL/CMakeOptions.txt
+107
-0
ThirdParty/OpenNL/configure.bat
ThirdParty/OpenNL/configure.bat
+57
-0
ThirdParty/OpenNL/configure.sh
ThirdParty/OpenNL/configure.sh
+40
-0
ThirdParty/OpenNL/doc/INSTALL.txt
ThirdParty/OpenNL/doc/INSTALL.txt
+263
-0
ThirdParty/OpenNL/doc/LICENSE.txt
ThirdParty/OpenNL/doc/LICENSE.txt
+25
-0
ThirdParty/OpenNL/doc/README.txt
ThirdParty/OpenNL/doc/README.txt
+47
-0
ThirdParty/OpenNL/doc/User_Guide.txt
ThirdParty/OpenNL/doc/User_Guide.txt
+192
-0
ThirdParty/OpenNL/examples/CMakeLists.txt
ThirdParty/OpenNL/examples/CMakeLists.txt
+7
-0
ThirdParty/OpenNL/examples/DATA/5pt_10x10.mtx
ThirdParty/OpenNL/examples/DATA/5pt_10x10.mtx
+463
-0
ThirdParty/OpenNL/examples/DATA/example_1.mtx
ThirdParty/OpenNL/examples/DATA/example_1.mtx
+0
-0
ThirdParty/OpenNL/examples/DATA/example_2.mtx
ThirdParty/OpenNL/examples/DATA/example_2.mtx
+0
-0
ThirdParty/OpenNL/examples/DATA/girl_face.obj
ThirdParty/OpenNL/examples/DATA/girl_face.obj
+2391
-0
ThirdParty/OpenNL/examples/DATA/girl_face_hires.obj
ThirdParty/OpenNL/examples/DATA/girl_face_hires.obj
+9717
-0
ThirdParty/OpenNL/examples/DATA/girl_face_hires3.obj
ThirdParty/OpenNL/examples/DATA/girl_face_hires3.obj
+154202
-0
ThirdParty/OpenNL/examples/DATA/girl_face_tri.obj
ThirdParty/OpenNL/examples/DATA/girl_face_tri.obj
+3010
-0
ThirdParty/OpenNL/examples/DATA/hilbert.mtx
ThirdParty/OpenNL/examples/DATA/hilbert.mtx
+103
-0
ThirdParty/OpenNL/examples/DATA/rand.mtx
ThirdParty/OpenNL/examples/DATA/rand.mtx
+403
-0
ThirdParty/OpenNL/examples/DATA/test_10x10.mtx
ThirdParty/OpenNL/examples/DATA/test_10x10.mtx
+73
-0
ThirdParty/OpenNL/examples/lscm_NL/CMakeLists.txt
ThirdParty/OpenNL/examples/lscm_NL/CMakeLists.txt
+16
-0
ThirdParty/OpenNL/examples/lscm_NL/lscm_with_c_api.cpp
ThirdParty/OpenNL/examples/lscm_NL/lscm_with_c_api.cpp
+656
-0
ThirdParty/OpenNL/examples/make_test
ThirdParty/OpenNL/examples/make_test
+161
-0
ThirdParty/OpenNL/examples/make_test.bat
ThirdParty/OpenNL/examples/make_test.bat
+8
-0
ThirdParty/OpenNL/examples/mmtx/CMakeLists.txt
ThirdParty/OpenNL/examples/mmtx/CMakeLists.txt
+16
-0
ThirdParty/OpenNL/examples/mmtx/mmio.c
ThirdParty/OpenNL/examples/mmtx/mmio.c
+511
-0
ThirdParty/OpenNL/examples/mmtx/mmio.h
ThirdParty/OpenNL/examples/mmtx/mmio.h
+133
-0
ThirdParty/OpenNL/examples/mmtx/mmtx.cpp
ThirdParty/OpenNL/examples/mmtx/mmtx.cpp
+232
-0
ThirdParty/OpenNL/examples/mmtx/nb_coo.h
ThirdParty/OpenNL/examples/mmtx/nb_coo.h
+141
-0
ThirdParty/OpenNL/src/CMakeLists.txt
ThirdParty/OpenNL/src/CMakeLists.txt
+48
-0
ThirdParty/OpenNL/src/NL/filelist.txt
ThirdParty/OpenNL/src/NL/filelist.txt
+17
-0
ThirdParty/OpenNL/src/NL/nl.h
ThirdParty/OpenNL/src/NL/nl.h
+234
-0
ThirdParty/OpenNL/src/NL/nl_api.c
ThirdParty/OpenNL/src/NL/nl_api.c
+733
-0
ThirdParty/OpenNL/src/NL/nl_blas.c
ThirdParty/OpenNL/src/NL/nl_blas.c
+1409
-0
ThirdParty/OpenNL/src/NL/nl_blas.h
ThirdParty/OpenNL/src/NL/nl_blas.h
+98
-0
ThirdParty/OpenNL/src/NL/nl_cholmod.c
ThirdParty/OpenNL/src/NL/nl_cholmod.c
+210
-0
ThirdParty/OpenNL/src/NL/nl_cholmod.h
ThirdParty/OpenNL/src/NL/nl_cholmod.h
+54
-0
ThirdParty/OpenNL/src/NL/nl_cnc_gpu_cuda.c
ThirdParty/OpenNL/src/NL/nl_cnc_gpu_cuda.c
+101
-0
ThirdParty/OpenNL/src/NL/nl_cnc_gpu_cuda.h
ThirdParty/OpenNL/src/NL/nl_cnc_gpu_cuda.h
+63
-0
ThirdParty/OpenNL/src/NL/nl_context.c
ThirdParty/OpenNL/src/NL/nl_context.c
+312
-0
ThirdParty/OpenNL/src/NL/nl_context.h
ThirdParty/OpenNL/src/NL/nl_context.h
+119
-0
ThirdParty/OpenNL/src/NL/nl_direct_solvers.c
ThirdParty/OpenNL/src/NL/nl_direct_solvers.c
+0
-0
ThirdParty/OpenNL/src/NL/nl_direct_solvers.h
ThirdParty/OpenNL/src/NL/nl_direct_solvers.h
+59
-0
ThirdParty/OpenNL/src/NL/nl_iterative_solvers.c
ThirdParty/OpenNL/src/NL/nl_iterative_solvers.c
+451
-0
ThirdParty/OpenNL/src/NL/nl_iterative_solvers.h
ThirdParty/OpenNL/src/NL/nl_iterative_solvers.h
+63
-0
ThirdParty/OpenNL/src/NL/nl_linkage.h
ThirdParty/OpenNL/src/NL/nl_linkage.h
+62
-0
ThirdParty/OpenNL/src/NL/nl_matrix.c
ThirdParty/OpenNL/src/NL/nl_matrix.c
+343
-0
ThirdParty/OpenNL/src/NL/nl_matrix.h
ThirdParty/OpenNL/src/NL/nl_matrix.h
+119
-0
ThirdParty/OpenNL/src/NL/nl_os.c
ThirdParty/OpenNL/src/NL/nl_os.c
+116
-0
ThirdParty/OpenNL/src/NL/nl_preconditioners.c
ThirdParty/OpenNL/src/NL/nl_preconditioners.c
+150
-0
ThirdParty/OpenNL/src/NL/nl_preconditioners.h
ThirdParty/OpenNL/src/NL/nl_preconditioners.h
+62
-0
ThirdParty/OpenNL/src/NL/nl_private.h
ThirdParty/OpenNL/src/NL/nl_private.h
+137
-0
ThirdParty/OpenNL/src/NL/nl_superlu.c
ThirdParty/OpenNL/src/NL/nl_superlu.c
+228
-0
ThirdParty/OpenNL/src/NL/nl_superlu.h
ThirdParty/OpenNL/src/NL/nl_superlu.h
+54
-0
ThirdParty/OpenNL/src/make_single_file.sh
ThirdParty/OpenNL/src/make_single_file.sh
+16
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_arrays.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_arrays.h
+170
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_cublas_utils.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_cublas_utils.h
+187
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_cuda_blas.cu
ThirdParty/OpenNL/src/plugins/cnc/cnc_cuda_blas.cu
+351
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_gpu_solver.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_gpu_solver.h
+268
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_kernels.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_kernels.h
+487
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_bcrs.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_bcrs.h
+497
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_coo.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_coo.h
+336
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_crs.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_crs.h
+400
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_ell.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_ell.h
+339
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_hyb.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_sparse_matrix_hyb.h
+367
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_texture.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_texture.h
+169
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_timer.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_timer.h
+151
-0
ThirdParty/OpenNL/src/plugins/cnc/cnc_utils.h
ThirdParty/OpenNL/src/plugins/cnc/cnc_utils.h
+193
-0
ThirdParty/PythonQt/CMakeLists.txt
ThirdParty/PythonQt/CMakeLists.txt
+1
-1
ThirdParty/include/OpenNL/LICENSE.txt
ThirdParty/include/OpenNL/LICENSE.txt
+0
-346
ThirdParty/include/OpenNL/README.txt
ThirdParty/include/OpenNL/README.txt
+0
-17
ThirdParty/include/OpenNL/bicgstab.h
ThirdParty/include/OpenNL/bicgstab.h
+0
-152
ThirdParty/include/OpenNL/blas.h
ThirdParty/include/OpenNL/blas.h
+0
-97
ThirdParty/include/OpenNL/cg_gpu.h
ThirdParty/include/OpenNL/cg_gpu.h
+0
-55
ThirdParty/include/OpenNL/cholesky_solver.h
ThirdParty/include/OpenNL/cholesky_solver.h
+0
-132
ThirdParty/include/OpenNL/conjugate_gradient.h
ThirdParty/include/OpenNL/conjugate_gradient.h
+0
-127
ThirdParty/include/OpenNL/full_vector.h
ThirdParty/include/OpenNL/full_vector.h
+0
-81
ThirdParty/include/OpenNL/linear_solver.h
ThirdParty/include/OpenNL/linear_solver.h
+0
-197
ThirdParty/include/OpenNL/linear_solver.hpp
ThirdParty/include/OpenNL/linear_solver.hpp
+0
-240
ThirdParty/include/OpenNL/sparse_matrix.h
ThirdParty/include/OpenNL/sparse_matrix.h
+0
-310
ThirdParty/include/OpenNL/sparse_matrix.hpp
ThirdParty/include/OpenNL/sparse_matrix.hpp
+0
-351
cmake_modules/FindSuiteSparse.cmake
cmake_modules/FindSuiteSparse.cmake
+1
-1
include/Algo/Geometry/area.h
include/Algo/Geometry/area.h
+1
-1
include/Algo/Geometry/curvature.h
include/Algo/Geometry/curvature.h
+3
-3
include/Algo/Geometry/curvature.hpp
include/Algo/Geometry/curvature.hpp
+46
-41
include/Algo/LinearSolving/basic.h
include/Algo/LinearSolving/basic.h
+65
-106
include/Algo/LinearSolving/matrixSetup.h
include/Algo/LinearSolving/matrixSetup.h
+123
-102
include/Algo/LinearSolving/variablesSetup.h
include/Algo/LinearSolving/variablesSetup.h
+16
-22
include/Utils/drawer.h
include/Utils/drawer.h
+3
-3
No files found.
SCHNApps/CMakeLists.txt
View file @
00f75cf8
...
...
@@ -73,6 +73,7 @@ SET (EXT_INCLUDES
# define libs for external libs
SET
(
EXT_LIBS
PythonQt
nl
${
OPENGL_LIBRARY
}
${
GLEW_LIBRARIES
}
${
ZLIB_LIBRARIES
}
...
...
@@ -111,6 +112,7 @@ file(
SCHNApps_FILES
${
SCHNApps_ROOT_DIR
}
/src/*.cpp
${
SCHNApps_ROOT_DIR
}
/include/*.h
${
SCHNApps_ROOT_DIR
}
/include/*.hpp
)
file
(
...
...
SCHNApps/Plugins/differentialProperties/include/computeCurvatureDialog.h
View file @
00f75cf8
...
...
@@ -24,9 +24,10 @@ private:
MapHandlerGen
*
m_selectedMap
;
public
slots
:
void
refreshUI
();
void
selectedMapChanged
();
void
addMapToList
(
MapHandlerGen
*
m
);
void
removeMapFromList
(
MapHandlerGen
*
m
);
void
addAttributeToList
(
unsigned
int
orbit
,
const
QString
&
nameAttr
);
};
}
// namespace SCHNApps
...
...
SCHNApps/Plugins/differentialProperties/include/computeNormalDialog.h
View file @
00f75cf8
...
...
@@ -24,9 +24,12 @@ private:
MapHandlerGen
*
m_selectedMap
;
public
slots
:
void
refreshUI
();
void
selectedMapChanged
();
void
addMapToList
(
MapHandlerGen
*
m
);
void
removeMapFromList
(
MapHandlerGen
*
m
);
void
addAttributeToList
(
unsigned
int
orbit
,
const
QString
&
nameAttr
);
void
attributeModified
(
unsigned
int
orbit
,
QString
nameAttr
);
};
}
// namespace SCHNApps
...
...
SCHNApps/Plugins/differentialProperties/include/differentialProperties.h
View file @
00f75cf8
...
...
@@ -72,6 +72,15 @@ private:
QAction
*
m_computeNormalAction
;
QAction
*
m_computeCurvatureAction
;
struct
ComputeNormalParameters
{
ComputeNormalParameters
()
{}
ComputeNormalParameters
(
QString
p
,
QString
n
)
:
positionName
(
p
),
normalName
(
n
)
{}
QString
positionName
;
QString
normalName
;
};
QHash
<
QString
,
ComputeNormalParameters
>
computeNormalLastParameters
;
};
#endif
SCHNApps/Plugins/differentialProperties/src/computeCurvatureDialog.cpp
View file @
00f75cf8
...
...
@@ -25,17 +25,17 @@ ComputeCurvatureDialog::ComputeCurvatureDialog(Window* w) :
connect
(
m_window
,
SIGNAL
(
mapAdded
(
MapHandlerGen
*
)),
this
,
SLOT
(
addMapToList
(
MapHandlerGen
*
)));
connect
(
m_window
,
SIGNAL
(
mapRemoved
(
MapHandlerGen
*
)),
this
,
SLOT
(
removeMapFromList
(
MapHandlerGen
*
)));
connect
(
mapList
,
SIGNAL
(
itemSelectionChanged
()),
this
,
SLOT
(
refreshUI
()));
connect
(
mapList
,
SIGNAL
(
itemSelectionChanged
()),
this
,
SLOT
(
selectedMapChanged
()));
const
QList
<
MapHandlerGen
*>&
maps
=
m_window
->
getMapsList
();
foreach
(
MapHandlerGen
*
map
,
maps
)
mapList
->
addItem
(
map
->
getName
());
}
void
ComputeCurvatureDialog
::
refreshUI
()
void
ComputeCurvatureDialog
::
selectedMapChanged
()
{
if
(
m_selectedMap
)
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
)),
this
,
SLOT
(
refreshUI
(
)));
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
unsigned
int
,
const
QString
&
)),
this
,
SLOT
(
addAttributeToList
(
unsigned
int
,
const
QString
&
)));
QList
<
QListWidgetItem
*>
currentItems
=
mapList
->
selectedItems
();
if
(
!
currentItems
.
empty
())
...
...
@@ -47,53 +47,50 @@ void ComputeCurvatureDialog::refreshUI()
combo_KnormalAttribute
->
clear
();
combo_kmaxAttribute
->
clear
();
combo_kminAttribute
->
clear
();
const
QString
&
mapname
=
currentItems
[
0
]
->
text
();
MapHandlerGen
*
mh
=
m_window
->
getMap
(
mapname
);
GenericMap
*
map
=
mh
->
getGenericMap
();
AttributeContainer
&
cont
=
map
->
getAttributeContainer
<
VERTEX
>
();
std
::
vector
<
std
::
string
>
names
;
std
::
vector
<
std
::
string
>
types
;
cont
.
getAttributesNames
(
names
);
cont
.
getAttributesTypes
(
types
);
std
::
string
vec3TypeName
=
nameOfType
(
PFP2
::
VEC3
());
std
::
string
realTypeName
=
nameOfType
(
PFP2
::
REAL
());
QString
vec3TypeName
=
QString
::
fromStdString
(
nameOfType
(
PFP2
::
VEC3
()));
QString
realTypeName
=
QString
::
fromStdString
(
nameOfType
(
PFP2
::
REAL
()));
unsigned
int
j
=
0
;
unsigned
int
k
=
0
;
for
(
unsigned
int
i
=
0
;
i
<
names
.
size
();
++
i
)
const
AttributeHash
&
attribs
=
mh
->
getAttributesList
(
VERTEX
);
for
(
AttributeHash
::
const_iterator
i
=
attribs
.
constBegin
();
i
!=
attribs
.
constEnd
();
++
i
)
{
if
(
types
[
i
]
==
vec3TypeName
)
if
(
i
.
value
()
==
vec3TypeName
)
{
combo_positionAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"position"
)
// try to select a position attribute named "position"
combo_positionAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"position"
)
// try to select a position attribute named "position"
combo_positionAttribute
->
setCurrentIndex
(
j
);
combo_normalAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"normal"
)
// try to select a normal attribute named "normal"
combo_normalAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"normal"
)
// try to select a normal attribute named "normal"
combo_normalAttribute
->
setCurrentIndex
(
j
);
combo_KmaxAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"Kmax"
)
// try to select a normal attribute named "Kmax"
combo_KmaxAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"Kmax"
)
// try to select a normal attribute named "Kmax"
combo_KmaxAttribute
->
setCurrentIndex
(
j
);
combo_KminAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"Kmin"
)
// try to select a normal attribute named "Kmin"
combo_KminAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"Kmin"
)
// try to select a normal attribute named "Kmin"
combo_KminAttribute
->
setCurrentIndex
(
j
);
combo_KnormalAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"Knormal"
)
// try to select a normal attribute named "Knormal"
combo_KnormalAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"Knormal"
)
// try to select a normal attribute named "Knormal"
combo_KnormalAttribute
->
setCurrentIndex
(
j
);
++
j
;
}
else
if
(
types
[
i
]
==
realTypeName
)
else
if
(
i
.
value
()
==
realTypeName
)
{
combo_kmaxAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"kmax"
)
// try to select a normal attribute named "kmax"
combo_kmaxAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"kmax"
)
// try to select a normal attribute named "kmax"
combo_kmaxAttribute
->
setCurrentIndex
(
k
);
combo_kminAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"kmin"
)
// try to select a normal attribute named "kmin"
combo_kminAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"kmin"
)
// try to select a normal attribute named "kmin"
combo_kminAttribute
->
setCurrentIndex
(
k
);
++
k
;
...
...
@@ -101,7 +98,7 @@ void ComputeCurvatureDialog::refreshUI()
}
m_selectedMap
=
mh
;
connect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
)),
this
,
SLOT
(
refreshUI
(
)));
connect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
unsigned
int
,
const
QString
&
)),
this
,
SLOT
(
addAttributeToList
(
unsigned
int
,
const
QString
&
)));
}
else
m_selectedMap
=
NULL
;
...
...
@@ -120,11 +117,33 @@ void ComputeCurvatureDialog::removeMapFromList(MapHandlerGen* m)
if
(
m_selectedMap
==
m
)
{
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
)),
this
,
SLOT
(
refreshUI
(
)));
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
unsigned
int
,
const
QString
&
)),
this
,
SLOT
(
addAttributeToList
(
unsigned
int
,
const
QString
&
)));
m_selectedMap
=
NULL
;
}
}
void
ComputeCurvatureDialog
::
addAttributeToList
(
unsigned
int
orbit
,
const
QString
&
nameAttr
)
{
QString
vec3TypeName
=
QString
::
fromStdString
(
nameOfType
(
PFP2
::
VEC3
()));
QString
realTypeName
=
QString
::
fromStdString
(
nameOfType
(
PFP2
::
REAL
()));
const
QString
&
typeAttr
=
m_selectedMap
->
getAttributeTypeName
(
orbit
,
nameAttr
);
if
(
typeAttr
==
vec3TypeName
)
{
combo_positionAttribute
->
addItem
(
nameAttr
);
combo_normalAttribute
->
addItem
(
nameAttr
);
combo_KmaxAttribute
->
addItem
(
nameAttr
);
combo_KminAttribute
->
addItem
(
nameAttr
);
combo_KnormalAttribute
->
addItem
(
nameAttr
);
}
else
if
(
typeAttr
==
realTypeName
)
{
combo_kmaxAttribute
->
addItem
(
nameAttr
);
combo_kminAttribute
->
addItem
(
nameAttr
);
}
}
}
// namespace SCHNApps
}
// namespace CGoGN
SCHNApps/Plugins/differentialProperties/src/computeNormalDialog.cpp
View file @
00f75cf8
...
...
@@ -21,44 +21,45 @@ ComputeNormalDialog::ComputeNormalDialog(Window* w) :
connect
(
m_window
,
SIGNAL
(
mapAdded
(
MapHandlerGen
*
)),
this
,
SLOT
(
addMapToList
(
MapHandlerGen
*
)));
connect
(
m_window
,
SIGNAL
(
mapRemoved
(
MapHandlerGen
*
)),
this
,
SLOT
(
removeMapFromList
(
MapHandlerGen
*
)));
connect
(
mapList
,
SIGNAL
(
itemSelectionChanged
()),
this
,
SLOT
(
refreshUI
()));
connect
(
mapList
,
SIGNAL
(
itemSelectionChanged
()),
this
,
SLOT
(
selectedMapChanged
()));
const
QList
<
MapHandlerGen
*>&
maps
=
m_window
->
getMapsList
();
foreach
(
MapHandlerGen
*
map
,
maps
)
mapList
->
addItem
(
map
->
getName
());
{
QListWidgetItem
*
item
=
new
QListWidgetItem
(
map
->
getName
(),
mapList
);
item
->
setCheckState
(
Qt
::
Unchecked
);
connect
(
map
,
SIGNAL
(
attributeModified
(
unsigned
int
,
QString
)),
this
,
SLOT
(
attributeModified
(
unsigned
int
,
QString
)));
}
}
void
ComputeNormalDialog
::
refreshUI
()
void
ComputeNormalDialog
::
selectedMapChanged
()
{
if
(
m_selectedMap
)
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
)),
this
,
SLOT
(
refreshUI
(
)));
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
unsigned
int
,
const
QString
&
)),
this
,
SLOT
(
addAttributeToList
(
unsigned
int
,
const
QString
&
)));
QList
<
QListWidgetItem
*>
currentItems
=
mapList
->
selectedItems
();
if
(
!
currentItems
.
empty
())
{
combo_positionAttribute
->
clear
();
combo_normalAttribute
->
clear
();
const
QString
&
mapname
=
currentItems
[
0
]
->
text
();
MapHandlerGen
*
mh
=
m_window
->
getMap
(
mapname
);
GenericMap
*
map
=
mh
->
getGenericMap
();
AttributeContainer
&
cont
=
map
->
getAttributeContainer
<
VERTEX
>
();
std
::
vector
<
std
::
string
>
names
;
std
::
vector
<
std
::
string
>
types
;
cont
.
getAttributesNames
(
names
);
cont
.
getAttributesTypes
(
types
);
std
::
string
vec3TypeName
=
nameOfType
(
PFP2
::
VEC3
());
QString
vec3TypeName
=
QString
::
fromStdString
(
nameOfType
(
PFP2
::
VEC3
()));
unsigned
int
j
=
0
;
for
(
unsigned
int
i
=
0
;
i
<
names
.
size
();
++
i
)
const
AttributeHash
&
attribs
=
mh
->
getAttributesList
(
VERTEX
);
for
(
AttributeHash
::
const_iterator
i
=
attribs
.
constBegin
();
i
!=
attribs
.
constEnd
();
++
i
)
{
if
(
types
[
i
]
==
vec3TypeName
)
if
(
i
.
value
()
==
vec3TypeName
)
{
combo_positionAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"position"
)
// try to select a position attribute named "position"
combo_positionAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"position"
)
// try to select a position attribute named "position"
combo_positionAttribute
->
setCurrentIndex
(
j
);
combo_normalAttribute
->
addItem
(
QString
::
fromStdString
(
names
[
i
]
));
if
(
names
[
i
]
==
"normal"
)
// try to select a normal attribute named "normal"
combo_normalAttribute
->
addItem
(
i
.
key
(
));
if
(
i
.
key
()
==
"normal"
)
// try to select a normal attribute named "normal"
combo_normalAttribute
->
setCurrentIndex
(
j
);
++
j
;
...
...
@@ -66,7 +67,7 @@ void ComputeNormalDialog::refreshUI()
}
m_selectedMap
=
mh
;
connect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
)),
this
,
SLOT
(
refreshUI
(
)));
connect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
unsigned
int
,
const
QString
&
)),
this
,
SLOT
(
addAttributeToList
(
unsigned
int
,
const
QString
&
)));
}
else
m_selectedMap
=
NULL
;
...
...
@@ -74,7 +75,8 @@ void ComputeNormalDialog::refreshUI()
void
ComputeNormalDialog
::
addMapToList
(
MapHandlerGen
*
m
)
{
mapList
->
addItem
(
m
->
getName
());
QListWidgetItem
*
item
=
new
QListWidgetItem
(
m
->
getName
(),
mapList
);
item
->
setCheckState
(
Qt
::
Unchecked
);
}
void
ComputeNormalDialog
::
removeMapFromList
(
MapHandlerGen
*
m
)
...
...
@@ -85,11 +87,33 @@ void ComputeNormalDialog::removeMapFromList(MapHandlerGen* m)
if
(
m_selectedMap
==
m
)
{
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
)),
this
,
SLOT
(
refreshUI
(
)));
disconnect
(
m_selectedMap
,
SIGNAL
(
attributeAdded
(
unsigned
int
,
const
QString
&
)),
this
,
SLOT
(
addAttributeToList
(
unsigned
int
,
const
QString
&
)));
m_selectedMap
=
NULL
;
}
}
void
ComputeNormalDialog
::
addAttributeToList
(
unsigned
int
orbit
,
const
QString
&
nameAttr
)
{
QString
vec3TypeName
=
QString
::
fromStdString
(
nameOfType
(
PFP2
::
VEC3
()));
const
QString
&
typeAttr
=
m_selectedMap
->
getAttributeTypeName
(
orbit
,
nameAttr
);
if
(
typeAttr
==
vec3TypeName
)
{
combo_positionAttribute
->
addItem
(
nameAttr
);
combo_normalAttribute
->
addItem
(
nameAttr
);
}
}
void
ComputeNormalDialog
::
attributeModified
(
unsigned
int
orbit
,
QString
nameAttr
)
{
MapHandlerGen
*
map
=
static_cast
<
MapHandlerGen
*>
(
QObject
::
sender
());
// if(orbit == VERTEX && nameAttr == )
// {
// }
}
}
// namespace SCHNApps
}
// namespace CGoGN
SCHNApps/Plugins/differentialProperties/src/differentialProperties.cpp
View file @
00f75cf8
...
...
@@ -139,6 +139,9 @@ void DifferentialPropertiesPlugin::computeNormal(
if
(
createNormalVBO
)
mh
->
createVBO
(
normal
);
computeNormalLastParameters
[
mapName
]
=
ComputeNormalParameters
(
positionAttributeName
,
normalAttributeName
)
;
QList
<
View
*>
views
=
mh
->
getLinkedViews
();
foreach
(
View
*
view
,
views
)
view
->
updateGL
();
...
...
SCHNApps/Plugins/importSurface/src/importSurface.cpp
View file @
00f75cf8
...
...
@@ -27,10 +27,11 @@ MapHandlerGen* ImportSurfacePlugin::importFromFile(const QString& fileName)
PFP2
::
MAP
*
map
=
mh
->
getMap
();
std
::
vector
<
std
::
string
>
attrNames
;
Algo
::
Surface
::
Import
::
importMesh
<
PFP2
>
(
*
map
,
fileName
.
to
Utf8
().
constData
(),
attrNames
);
Algo
::
Surface
::
Import
::
importMesh
<
PFP2
>
(
*
map
,
fileName
.
to
StdString
(),
attrNames
);
// get vertex position attribute
VertexAttribute
<
PFP2
::
VEC3
>
position
=
map
->
getAttribute
<
PFP2
::
VEC3
,
CGoGN
::
VERTEX
>
(
attrNames
[
0
]);
mh
->
registerAttribute
<
PFP2
::
VEC3
,
VERTEX
>
(
position
);
// create VBO for vertex position attribute
mh
->
createVBO
(
position
);
...
...
SCHNApps/Plugins/importVolume/src/importVolume.cpp
View file @
00f75cf8
...
...
@@ -27,10 +27,11 @@ MapHandlerGen* ImportVolumePlugin::importFromFile(const QString& fileName)
PFP3
::
MAP
*
map
=
mh
->
getMap
();
std
::
vector
<
std
::
string
>
attrNames
;
Algo
::
Volume
::
Import
::
importMesh
<
PFP3
>
(
*
map
,
fileName
.
to
Utf8
().
constData
(),
attrNames
);
Algo
::
Volume
::
Import
::
importMesh
<
PFP3
>
(
*
map
,
fileName
.
to
StdString
(),
attrNames
);
// get vertex position attribute
VertexAttribute
<
PFP3
::
VEC3
>
position
=
map
->
getAttribute
<
PFP3
::
VEC3
,
CGoGN
::
VERTEX
>
(
attrNames
[
0
]);
mh
->
registerAttribute
<
PFP2
::
VEC3
,
VERTEX
>
(
position
);
// create VBO for vertex position attribute
mh
->
createVBO
(
position
);
...
...
SCHNApps/Plugins/render/CMakeLists.txt
View file @
00f75cf8
...
...
@@ -26,6 +26,7 @@ file(
SET
(
PLUGIN_QOBJECT_FILES
${
PLUGIN_ROOT_DIR
}
/include/render.h
${
PLUGIN_ROOT_DIR
}
/include/renderDockTab.h
)
include
(
${
SCHNApps_ROOT_DIR
}
/Plugins/plugins_cmake.txt
)
SCHNApps/Plugins/render/forms/render.ui
View file @
00f75cf8
<?xml version="1.0" encoding="UTF-8"?>
<ui
version=
"4.0"
>
<class>
RenderWidget
</class>
<widget
class=
"QWidget"
name=
"RenderWidget"
>
<class>
Render
Dock
Widget
</class>
<widget
class=
"QWidget"
name=
"Render
Dock
Widget"
>
<property
name=
"geometry"
>
<rect>
<x>
0
</x>
<y>
0
</y>
<width>
174
</width>
<height>
54
7
</height>
<height>
54
5
</height>
</rect>
</property>
<property
name=
"windowTitle"
>
...
...
SCHNApps/Plugins/render/include/render.h
View file @
00f75cf8
...
...
@@ -2,17 +2,18 @@
#define _RENDER_PLUGIN_H_
#include "plugin.h"
#include "
ui_render
.h"
#include "
renderDockTab
.h"
#include "Utils/Shaders/shaderFlat.h"
#include "Utils/Shaders/shaderPhong.h"
#include "Utils/Shaders/shaderSimpleColor.h"
#include "Utils/pointSprite.h"
namespace
CGoGN
{
using
namespace
CGoGN
;
using
namespace
SCHNApps
;
namespace
SCHNApps
{
enum
FaceShadingStyle
{
...
...
@@ -53,30 +54,13 @@ struct ParameterSet
};
class
RenderPlugin
;
class
RenderDockTab
:
public
QWidget
,
public
Ui
::
RenderWidget
{
public:
RenderDockTab
(
RenderPlugin
*
p
)
:
plugin
(
p
)
{
setupUi
(
this
);
}
void
refreshUI
(
ParameterSet
*
params
);
private:
RenderPlugin
*
plugin
;
};
class
RenderPlugin
:
public
Plugin
{
Q_OBJECT
Q_INTERFACES
(
CGoGN
::
SCHNApps
::
Plugin
)
public:
RenderPlugin
()
:
b_refreshingUI
(
false
)
RenderPlugin
()
{
setProvidesRendering
(
true
);
}
...
...
@@ -96,8 +80,6 @@ public:
virtual
void
mouseMove
(
View
*
view
,
QMouseEvent
*
event
)
{}
virtual
void
wheelEvent
(
View
*
view
,
QWheelEvent
*
event
)
{}
void
setRefreshingUI
(
bool
b
)
{
b_refreshingUI
=
b
;
}
protected:
RenderDockTab
*
m_dockTab
;
QHash
<
View
*
,
ParameterSet
*>
h_viewParams
;
...
...
@@ -107,8 +89,6 @@ protected:
CGoGN
::
Utils
::
ShaderSimpleColor
*
m_simpleColorShader
;
CGoGN
::
Utils
::
PointSprite
*
m_pointSprite
;
bool
b_refreshingUI
;
public
slots
:
void
viewLinked
(
View
*
view
,
Plugin
*
plugin
);
void
viewUnlinked
(
View
*
view
,
Plugin
*
plugin
);
...
...
@@ -128,15 +108,10 @@ public slots:
void
changeRenderEdges
(
View
*
view
,
MapHandlerGen
*
map
,
bool
b
);
void
changeRenderFaces
(
View
*
view
,
MapHandlerGen
*
map
,
bool
b
);
void
changeFacesStyle
(
View
*
view
,
MapHandlerGen
*
map
,
FaceShadingStyle
style
);
void
cb_selectedMapChanged
();
void
cb_positionVBOChanged
(
int
index
);
void
cb_normalVBOChanged
(
int
index
);
void
cb_renderVerticesChanged
(
bool
b
);
void
cb_verticesScaleFactorChanged
(
int
i
);
void
cb_renderEdgesChanged
(
bool
b
);
void
cb_renderFacesChanged
(
bool
b
);
void
cb_faceStyleChanged
(
QAbstractButton
*
b
);
};
}
// namespace SCHNApps
}
// namespace CGoGN
#endif
SCHNApps/Plugins/render/include/renderDockTab.h
0 → 100644
View file @
00f75cf8
#ifndef _RENDER_DOCK_TAB_H_
#define _RENDER_DOCK_TAB_H_
#include "ui_render.h"
namespace
CGoGN
{
namespace
SCHNApps
{
class
Window
;
class
RenderPlugin
;
class
ParameterSet
;
class
RenderDockTab
:
public
QWidget
,
public
Ui
::
RenderDockWidget
{
Q_OBJECT
public:
RenderDockTab
(
Window
*
w
,
RenderPlugin
*
p
);
private:
Window
*
m_window
;
RenderPlugin
*
m_plugin
;
ParameterSet
*
m_currentParams
;
bool
b_refreshingUI
;
public
slots
:
void
refreshUI
(
ParameterSet
*
params
);
void
selectedMapChanged
();
void
positionVBOChanged
(
int
index
);
void
normalVBOChanged
(
int
index
);
void
renderVerticesChanged
(
bool
b
);
void
verticesScaleFactorChanged
(
int
i
);
void
renderEdgesChanged
(
bool
b
);
void
renderFacesChanged
(
bool
b
);
void
faceStyleChanged
(
QAbstractButton
*
b
);
};
}
// namespace SCHNApps
}
// namespace CGoGN
#endif
SCHNApps/Plugins/render/src/render.cpp
View file @
00f75cf8
...
...
@@ -2,8 +2,11 @@
#include "mapHandler.h"
#include "Algo/Import/import.h"
namespace
CGoGN
{
namespace
SCHNApps
{
PerMapParameterSet
::
PerMapParameterSet
(
MapHandlerGen
*
map
)
:
positionVBO
(
NULL
),
...
...
@@ -14,25 +17,35 @@ PerMapParameterSet::PerMapParameterSet(MapHandlerGen* map) :
renderFaces
(
true
),
faceStyle
(
FLAT
)
{
bool
positionFound
=
false
;
bool
normalFound
=
false
;
QList
<
Utils
::
VBO
*>
vbos
=
map
->
getVBOList
();
for
(
int
i
=
0
;
i
<
vbos
.
count
();
++
i
)
{
if
(
vbos
[
i
]
->
dataSize
()
==
3
)
{
if
(
!
positionFound
)
positionVBO
=
vbos
[
i
];