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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thomas Pitiot
CGoGN
Commits
bf5c4d2d
Commit
bf5c4d2d
authored
Feb 25, 2011
by
kenneth
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of cgogn:~cgogn/CGoGN
Conflicts: include/Topology/generic/cellmarker.h
parents
9b52ecd2
6346fca0
Changes
327
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
327 changed files
with
50863 additions
and
1337 deletions
+50863
-1337
Apps/Examples/Debug/CMakeLists.txt
Apps/Examples/Debug/CMakeLists.txt
+1
-0
Apps/Examples/Release/CMakeLists.txt
Apps/Examples/Release/CMakeLists.txt
+1
-0
Apps/Examples/Viewer.cpp
Apps/Examples/Viewer.cpp
+7
-7
Apps/Examples/extrusionView.cpp
Apps/Examples/extrusionView.cpp
+1
-1
Apps/Examples/miniTest.cpp
Apps/Examples/miniTest.cpp
+99
-4
Apps/Tuto/CMakeLists.txt
Apps/Tuto/CMakeLists.txt
+15
-0
Apps/Tuto/tp_master.cpp
Apps/Tuto/tp_master.cpp
+3
-4
Apps/Tuto/tuto_mt.cpp
Apps/Tuto/tuto_mt.cpp
+345
-0
Apps/Tuto/tuto_ogl2.cpp
Apps/Tuto/tuto_ogl2.cpp
+184
-0
Apps/Tuto/tuto_ogl3.cpp
Apps/Tuto/tuto_ogl3.cpp
+249
-0
Apps/Tuto/tuto_subdivision.cpp
Apps/Tuto/tuto_subdivision.cpp
+1
-1
README.TXT
README.TXT
+1
-1
ThirdParty/Assimp/code/CMakeLists.txt
ThirdParty/Assimp/code/CMakeLists.txt
+4
-4
ThirdParty/CMakeLists.txt
ThirdParty/CMakeLists.txt
+11
-2
ThirdParty/Numerical/CMakeLists.txt
ThirdParty/Numerical/CMakeLists.txt
+0
-1
ThirdParty/Numerical/C_BLAS_LAPACK/BLAS/SRC/CMakeLists.txt
ThirdParty/Numerical/C_BLAS_LAPACK/BLAS/SRC/CMakeLists.txt
+1
-1
ThirdParty/Numerical/C_BLAS_LAPACK/F2CLIBS/libf2c/CMakeLists.txt
...rty/Numerical/C_BLAS_LAPACK/F2CLIBS/libf2c/CMakeLists.txt
+3
-2
ThirdParty/Numerical/C_BLAS_LAPACK/SRC/CMakeLists.txt
ThirdParty/Numerical/C_BLAS_LAPACK/SRC/CMakeLists.txt
+0
-1
ThirdParty/Zinri/Build/CMakeLists.txt
ThirdParty/Zinri/Build/CMakeLists.txt
+0
-2
ThirdParty/glm/glm/core/_detail.hpp
ThirdParty/glm/glm/core/_detail.hpp
+323
-0
ThirdParty/glm/glm/core/_swizzle.hpp
ThirdParty/glm/glm/core/_swizzle.hpp
+1085
-0
ThirdParty/glm/glm/core/_swizzle.inl
ThirdParty/glm/glm/core/_swizzle.inl
+20
-0
ThirdParty/glm/glm/core/dummy.cpp
ThirdParty/glm/glm/core/dummy.cpp
+17
-0
ThirdParty/glm/glm/core/func_common.hpp
ThirdParty/glm/glm/core/func_common.hpp
+274
-0
ThirdParty/glm/glm/core/func_common.inl
ThirdParty/glm/glm/core/func_common.inl
+1542
-0
ThirdParty/glm/glm/core/func_exponential.hpp
ThirdParty/glm/glm/core/func_exponential.hpp
+71
-0
ThirdParty/glm/glm/core/func_exponential.inl
ThirdParty/glm/glm/core/func_exponential.inl
+358
-0
ThirdParty/glm/glm/core/func_geometric.hpp
ThirdParty/glm/glm/core/func_geometric.hpp
+92
-0
ThirdParty/glm/glm/core/func_geometric.inl
ThirdParty/glm/glm/core/func_geometric.inl
+290
-0
ThirdParty/glm/glm/core/func_integer.hpp
ThirdParty/glm/glm/core/func_integer.hpp
+142
-0
ThirdParty/glm/glm/core/func_integer.inl
ThirdParty/glm/glm/core/func_integer.inl
+600
-0
ThirdParty/glm/glm/core/func_matrix.hpp
ThirdParty/glm/glm/core/func_matrix.hpp
+92
-0
ThirdParty/glm/glm/core/func_matrix.inl
ThirdParty/glm/glm/core/func_matrix.inl
+559
-0
ThirdParty/glm/glm/core/func_noise.hpp
ThirdParty/glm/glm/core/func_noise.hpp
+53
-0
ThirdParty/glm/glm/core/func_noise.inl
ThirdParty/glm/glm/core/func_noise.inl
+305
-0
ThirdParty/glm/glm/core/func_packing.hpp
ThirdParty/glm/glm/core/func_packing.hpp
+45
-0
ThirdParty/glm/glm/core/func_packing.inl
ThirdParty/glm/glm/core/func_packing.inl
+94
-0
ThirdParty/glm/glm/core/func_trigonometric.hpp
ThirdParty/glm/glm/core/func_trigonometric.hpp
+125
-0
ThirdParty/glm/glm/core/func_trigonometric.inl
ThirdParty/glm/glm/core/func_trigonometric.inl
+745
-0
ThirdParty/glm/glm/core/func_vector_relational.hpp
ThirdParty/glm/glm/core/func_vector_relational.hpp
+189
-0
ThirdParty/glm/glm/core/func_vector_relational.inl
ThirdParty/glm/glm/core/func_vector_relational.inl
+20
-0
ThirdParty/glm/glm/core/hint.hpp
ThirdParty/glm/glm/core/hint.hpp
+21
-0
ThirdParty/glm/glm/core/type.hpp
ThirdParty/glm/glm/core/type.hpp
+283
-0
ThirdParty/glm/glm/core/type_float.hpp
ThirdParty/glm/glm/core/type_float.hpp
+72
-0
ThirdParty/glm/glm/core/type_gentype.hpp
ThirdParty/glm/glm/core/type_gentype.hpp
+150
-0
ThirdParty/glm/glm/core/type_gentype.inl
ThirdParty/glm/glm/core/type_gentype.inl
+347
-0
ThirdParty/glm/glm/core/type_half.hpp
ThirdParty/glm/glm/core/type_half.hpp
+85
-0
ThirdParty/glm/glm/core/type_half.inl
ThirdParty/glm/glm/core/type_half.inl
+357
-0
ThirdParty/glm/glm/core/type_int.hpp
ThirdParty/glm/glm/core/type_int.hpp
+130
-0
ThirdParty/glm/glm/core/type_mat.hpp
ThirdParty/glm/glm/core/type_mat.hpp
+56
-0
ThirdParty/glm/glm/core/type_mat.inl
ThirdParty/glm/glm/core/type_mat.inl
+0
-0
ThirdParty/glm/glm/core/type_mat2x2.hpp
ThirdParty/glm/glm/core/type_mat2x2.hpp
+245
-0
ThirdParty/glm/glm/core/type_mat2x2.inl
ThirdParty/glm/glm/core/type_mat2x2.inl
+610
-0
ThirdParty/glm/glm/core/type_mat2x3.hpp
ThirdParty/glm/glm/core/type_mat2x3.hpp
+212
-0
ThirdParty/glm/glm/core/type_mat2x3.inl
ThirdParty/glm/glm/core/type_mat2x3.inl
+541
-0
ThirdParty/glm/glm/core/type_mat2x4.hpp
ThirdParty/glm/glm/core/type_mat2x4.hpp
+212
-0
ThirdParty/glm/glm/core/type_mat2x4.inl
ThirdParty/glm/glm/core/type_mat2x4.inl
+569
-0
ThirdParty/glm/glm/core/type_mat3x2.hpp
ThirdParty/glm/glm/core/type_mat3x2.hpp
+214
-0
ThirdParty/glm/glm/core/type_mat3x2.inl
ThirdParty/glm/glm/core/type_mat3x2.inl
+575
-0
ThirdParty/glm/glm/core/type_mat3x3.hpp
ThirdParty/glm/glm/core/type_mat3x3.hpp
+244
-0
ThirdParty/glm/glm/core/type_mat3x3.inl
ThirdParty/glm/glm/core/type_mat3x3.inl
+704
-0
ThirdParty/glm/glm/core/type_mat3x4.hpp
ThirdParty/glm/glm/core/type_mat3x4.hpp
+214
-0
ThirdParty/glm/glm/core/type_mat3x4.inl
ThirdParty/glm/glm/core/type_mat3x4.inl
+609
-0
ThirdParty/glm/glm/core/type_mat4x2.hpp
ThirdParty/glm/glm/core/type_mat4x2.hpp
+216
-0
ThirdParty/glm/glm/core/type_mat4x2.inl
ThirdParty/glm/glm/core/type_mat4x2.inl
+618
-0
ThirdParty/glm/glm/core/type_mat4x3.hpp
ThirdParty/glm/glm/core/type_mat4x3.hpp
+216
-0
ThirdParty/glm/glm/core/type_mat4x3.inl
ThirdParty/glm/glm/core/type_mat4x3.inl
+623
-0
ThirdParty/glm/glm/core/type_mat4x4.hpp
ThirdParty/glm/glm/core/type_mat4x4.hpp
+244
-0
ThirdParty/glm/glm/core/type_mat4x4.inl
ThirdParty/glm/glm/core/type_mat4x4.inl
+759
-0
ThirdParty/glm/glm/core/type_size.hpp
ThirdParty/glm/glm/core/type_size.hpp
+24
-0
ThirdParty/glm/glm/core/type_vec.hpp
ThirdParty/glm/glm/core/type_vec.hpp
+22
-0
ThirdParty/glm/glm/core/type_vec.inl
ThirdParty/glm/glm/core/type_vec.inl
+0
-0
ThirdParty/glm/glm/core/type_vec1.hpp
ThirdParty/glm/glm/core/type_vec1.hpp
+172
-0
ThirdParty/glm/glm/core/type_vec1.inl
ThirdParty/glm/glm/core/type_vec1.inl
+879
-0
ThirdParty/glm/glm/core/type_vec2.hpp
ThirdParty/glm/glm/core/type_vec2.hpp
+250
-0
ThirdParty/glm/glm/core/type_vec2.inl
ThirdParty/glm/glm/core/type_vec2.inl
+1005
-0
ThirdParty/glm/glm/core/type_vec3.hpp
ThirdParty/glm/glm/core/type_vec3.hpp
+256
-0
ThirdParty/glm/glm/core/type_vec3.inl
ThirdParty/glm/glm/core/type_vec3.inl
+1092
-0
ThirdParty/glm/glm/core/type_vec4.hpp
ThirdParty/glm/glm/core/type_vec4.hpp
+276
-0
ThirdParty/glm/glm/core/type_vec4.inl
ThirdParty/glm/glm/core/type_vec4.inl
+1221
-0
ThirdParty/glm/glm/ext.hpp
ThirdParty/glm/glm/ext.hpp
+94
-0
ThirdParty/glm/glm/glm.hpp
ThirdParty/glm/glm/glm.hpp
+137
-0
ThirdParty/glm/glm/gtc/double_float.hpp
ThirdParty/glm/glm/gtc/double_float.hpp
+65
-0
ThirdParty/glm/glm/gtc/double_float.inl
ThirdParty/glm/glm/gtc/double_float.inl
+16
-0
ThirdParty/glm/glm/gtc/gl_replacement.hpp
ThirdParty/glm/glm/gtc/gl_replacement.hpp
+0
-0
ThirdParty/glm/glm/gtc/gl_replacement.inl
ThirdParty/glm/glm/gtc/gl_replacement.inl
+0
-0
ThirdParty/glm/glm/gtc/glu_replacement.hpp
ThirdParty/glm/glm/gtc/glu_replacement.hpp
+0
-0
ThirdParty/glm/glm/gtc/glu_replacement.inl
ThirdParty/glm/glm/gtc/glu_replacement.inl
+0
-0
ThirdParty/glm/glm/gtc/half_float.hpp
ThirdParty/glm/glm/gtc/half_float.hpp
+362
-0
ThirdParty/glm/glm/gtc/half_float.inl
ThirdParty/glm/glm/gtc/half_float.inl
+975
-0
ThirdParty/glm/glm/gtc/matrix_access.hpp
ThirdParty/glm/glm/gtc/matrix_access.hpp
+0
-0
ThirdParty/glm/glm/gtc/matrix_access.inl
ThirdParty/glm/glm/gtc/matrix_access.inl
+0
-0
ThirdParty/glm/glm/gtc/matrix_operation.hpp
ThirdParty/glm/glm/gtc/matrix_operation.hpp
+33
-0
ThirdParty/glm/glm/gtc/matrix_operation.inl
ThirdParty/glm/glm/gtc/matrix_operation.inl
+17
-0
ThirdParty/glm/glm/gtc/matrix_projection.hpp
ThirdParty/glm/glm/gtc/matrix_projection.hpp
+99
-0
ThirdParty/glm/glm/gtc/matrix_projection.inl
ThirdParty/glm/glm/gtc/matrix_projection.inl
+132
-0
ThirdParty/glm/glm/gtc/matrix_transform.hpp
ThirdParty/glm/glm/gtc/matrix_transform.hpp
+63
-0
ThirdParty/glm/glm/gtc/matrix_transform.inl
ThirdParty/glm/glm/gtc/matrix_transform.inl
+148
-0
ThirdParty/glm/glm/gtc/quaternion.hpp
ThirdParty/glm/glm/gtc/quaternion.hpp
+222
-0
ThirdParty/glm/glm/gtc/quaternion.inl
ThirdParty/glm/glm/gtc/quaternion.inl
+506
-0
ThirdParty/glm/glm/gtc/swizzle.hpp
ThirdParty/glm/glm/gtc/swizzle.hpp
+57
-0
ThirdParty/glm/glm/gtc/swizzle.inl
ThirdParty/glm/glm/gtc/swizzle.inl
+52
-0
ThirdParty/glm/glm/gtc/type_precision.hpp
ThirdParty/glm/glm/gtc/type_precision.hpp
+200
-0
ThirdParty/glm/glm/gtc/type_precision.inl
ThirdParty/glm/glm/gtc/type_precision.inl
+13
-0
ThirdParty/glm/glm/gtc/type_ptr.hpp
ThirdParty/glm/glm/gtc/type_ptr.hpp
+299
-0
ThirdParty/glm/glm/gtc/type_ptr.inl
ThirdParty/glm/glm/gtc/type_ptr.inl
+0
-0
ThirdParty/glm/glm/gtx/associated_min_max.hpp
ThirdParty/glm/glm/gtx/associated_min_max.hpp
+83
-0
ThirdParty/glm/glm/gtx/associated_min_max.inl
ThirdParty/glm/glm/gtx/associated_min_max.inl
+916
-0
ThirdParty/glm/glm/gtx/bit.hpp
ThirdParty/glm/glm/gtx/bit.hpp
+105
-0
ThirdParty/glm/glm/gtx/bit.inl
ThirdParty/glm/glm/gtx/bit.inl
+743
-0
ThirdParty/glm/glm/gtx/closest_point.hpp
ThirdParty/glm/glm/gtx/closest_point.hpp
+45
-0
ThirdParty/glm/glm/gtx/closest_point.inl
ThirdParty/glm/glm/gtx/closest_point.inl
+41
-0
ThirdParty/glm/glm/gtx/color_cast.hpp
ThirdParty/glm/glm/gtx/color_cast.hpp
+104
-0
ThirdParty/glm/glm/gtx/color_cast.inl
ThirdParty/glm/glm/gtx/color_cast.inl
+739
-0
ThirdParty/glm/glm/gtx/color_space.hpp
ThirdParty/glm/glm/gtx/color_space.hpp
+75
-0
ThirdParty/glm/glm/gtx/color_space.inl
ThirdParty/glm/glm/gtx/color_space.inl
+154
-0
ThirdParty/glm/glm/gtx/color_space_YCoCg.hpp
ThirdParty/glm/glm/gtx/color_space_YCoCg.hpp
+63
-0
ThirdParty/glm/glm/gtx/color_space_YCoCg.inl
ThirdParty/glm/glm/gtx/color_space_YCoCg.inl
+69
-0
ThirdParty/glm/glm/gtx/comparison.hpp
ThirdParty/glm/glm/gtx/comparison.hpp
+80
-0
ThirdParty/glm/glm/gtx/comparison.inl
ThirdParty/glm/glm/gtx/comparison.inl
+76
-0
ThirdParty/glm/glm/gtx/compatibility.hpp
ThirdParty/glm/glm/gtx/compatibility.hpp
+171
-0
ThirdParty/glm/glm/gtx/compatibility.inl
ThirdParty/glm/glm/gtx/compatibility.inl
+141
-0
ThirdParty/glm/glm/gtx/component_wise.hpp
ThirdParty/glm/glm/gtx/component_wise.hpp
+61
-0
ThirdParty/glm/glm/gtx/component_wise.inl
ThirdParty/glm/glm/gtx/component_wise.inl
+52
-0
ThirdParty/glm/glm/gtx/determinant.hpp
ThirdParty/glm/glm/gtx/determinant.hpp
+43
-0
ThirdParty/glm/glm/gtx/determinant.inl
ThirdParty/glm/glm/gtx/determinant.inl
+13
-0
ThirdParty/glm/glm/gtx/epsilon.hpp
ThirdParty/glm/glm/gtx/epsilon.hpp
+57
-0
ThirdParty/glm/glm/gtx/epsilon.inl
ThirdParty/glm/glm/gtx/epsilon.inl
+204
-0
ThirdParty/glm/glm/gtx/euler_angles.hpp
ThirdParty/glm/glm/gtx/euler_angles.hpp
+136
-0
ThirdParty/glm/glm/gtx/euler_angles.inl
ThirdParty/glm/glm/gtx/euler_angles.inl
+249
-0
ThirdParty/glm/glm/gtx/extend.hpp
ThirdParty/glm/glm/gtx/extend.hpp
+45
-0
ThirdParty/glm/glm/gtx/extend.inl
ThirdParty/glm/glm/gtx/extend.inl
+60
-0
ThirdParty/glm/glm/gtx/extented_min_max.hpp
ThirdParty/glm/glm/gtx/extented_min_max.hpp
+175
-0
ThirdParty/glm/glm/gtx/extented_min_max.inl
ThirdParty/glm/glm/gtx/extented_min_max.inl
+182
-0
ThirdParty/glm/glm/gtx/fast_exponential.hpp
ThirdParty/glm/glm/gtx/fast_exponential.hpp
+83
-0
ThirdParty/glm/glm/gtx/fast_exponential.inl
ThirdParty/glm/glm/gtx/fast_exponential.inl
+294
-0
ThirdParty/glm/glm/gtx/fast_square_root.hpp
ThirdParty/glm/glm/gtx/fast_square_root.hpp
+66
-0
ThirdParty/glm/glm/gtx/fast_square_root.inl
ThirdParty/glm/glm/gtx/fast_square_root.inl
+237
-0
ThirdParty/glm/glm/gtx/fast_trigonometry.hpp
ThirdParty/glm/glm/gtx/fast_trigonometry.hpp
+79
-0
ThirdParty/glm/glm/gtx/fast_trigonometry.inl
ThirdParty/glm/glm/gtx/fast_trigonometry.inl
+272
-0
ThirdParty/glm/glm/gtx/gradient_paint.hpp
ThirdParty/glm/glm/gtx/gradient_paint.hpp
+53
-0
ThirdParty/glm/glm/gtx/gradient_paint.inl
ThirdParty/glm/glm/gtx/gradient_paint.inl
+44
-0
ThirdParty/glm/glm/gtx/handed_coordinate_space.hpp
ThirdParty/glm/glm/gtx/handed_coordinate_space.hpp
+49
-0
ThirdParty/glm/glm/gtx/handed_coordinate_space.inl
ThirdParty/glm/glm/gtx/handed_coordinate_space.inl
+34
-0
ThirdParty/glm/glm/gtx/inertia.hpp
ThirdParty/glm/glm/gtx/inertia.hpp
+89
-0
ThirdParty/glm/glm/gtx/inertia.inl
ThirdParty/glm/glm/gtx/inertia.inl
+103
-0
ThirdParty/glm/glm/gtx/int_10_10_10_2.hpp
ThirdParty/glm/glm/gtx/int_10_10_10_2.hpp
+40
-0
ThirdParty/glm/glm/gtx/int_10_10_10_2.inl
ThirdParty/glm/glm/gtx/int_10_10_10_2.inl
+21
-0
ThirdParty/glm/glm/gtx/integer.hpp
ThirdParty/glm/glm/gtx/integer.hpp
+50
-0
ThirdParty/glm/glm/gtx/integer.inl
ThirdParty/glm/glm/gtx/integer.inl
+90
-0
ThirdParty/glm/glm/gtx/intersect.hpp
ThirdParty/glm/glm/gtx/intersect.hpp
+71
-0
ThirdParty/glm/glm/gtx/intersect.inl
ThirdParty/glm/glm/gtx/intersect.inl
+201
-0
ThirdParty/glm/glm/gtx/inverse.hpp
ThirdParty/glm/glm/gtx/inverse.hpp
+40
-0
ThirdParty/glm/glm/gtx/inverse.inl
ThirdParty/glm/glm/gtx/inverse.inl
+44
-0
ThirdParty/glm/glm/gtx/inverse_transpose.hpp
ThirdParty/glm/glm/gtx/inverse_transpose.hpp
+39
-0
ThirdParty/glm/glm/gtx/inverse_transpose.inl
ThirdParty/glm/glm/gtx/inverse_transpose.inl
+112
-0
ThirdParty/glm/glm/gtx/log_base.hpp
ThirdParty/glm/glm/gtx/log_base.hpp
+44
-0
ThirdParty/glm/glm/gtx/log_base.inl
ThirdParty/glm/glm/gtx/log_base.inl
+92
-0
ThirdParty/glm/glm/gtx/matrix_access.hpp
ThirdParty/glm/glm/gtx/matrix_access.hpp
+48
-0
ThirdParty/glm/glm/gtx/matrix_access.inl
ThirdParty/glm/glm/gtx/matrix_access.inl
+40
-0
ThirdParty/glm/glm/gtx/matrix_cross_product.hpp
ThirdParty/glm/glm/gtx/matrix_cross_product.hpp
+49
-0
ThirdParty/glm/glm/gtx/matrix_cross_product.inl
ThirdParty/glm/glm/gtx/matrix_cross_product.inl
+44
-0
ThirdParty/glm/glm/gtx/matrix_major_storage.hpp
ThirdParty/glm/glm/gtx/matrix_major_storage.hpp
+117
-0
ThirdParty/glm/glm/gtx/matrix_major_storage.inl
ThirdParty/glm/glm/gtx/matrix_major_storage.inl
+176
-0
ThirdParty/glm/glm/gtx/matrix_operation.hpp
ThirdParty/glm/glm/gtx/matrix_operation.hpp
+91
-0
ThirdParty/glm/glm/gtx/matrix_operation.inl
ThirdParty/glm/glm/gtx/matrix_operation.inl
+129
-0
ThirdParty/glm/glm/gtx/matrix_projection.hpp
ThirdParty/glm/glm/gtx/matrix_projection.hpp
+63
-0
ThirdParty/glm/glm/gtx/matrix_projection.inl
ThirdParty/glm/glm/gtx/matrix_projection.inl
+81
-0
ThirdParty/glm/glm/gtx/matrix_query.hpp
ThirdParty/glm/glm/gtx/matrix_query.hpp
+93
-0
ThirdParty/glm/glm/gtx/matrix_query.inl
ThirdParty/glm/glm/gtx/matrix_query.inl
+144
-0
ThirdParty/glm/glm/gtx/matrix_selection.hpp
ThirdParty/glm/glm/gtx/matrix_selection.hpp
+79
-0
ThirdParty/glm/glm/gtx/matrix_selection.inl
ThirdParty/glm/glm/gtx/matrix_selection.inl
+65
-0
ThirdParty/glm/glm/gtx/mixed_product.hpp
ThirdParty/glm/glm/gtx/mixed_product.hpp
+43
-0
ThirdParty/glm/glm/gtx/mixed_product.inl
ThirdParty/glm/glm/gtx/mixed_product.inl
+36
-0
ThirdParty/glm/glm/gtx/norm.hpp
ThirdParty/glm/glm/gtx/norm.hpp
+143
-0
ThirdParty/glm/glm/gtx/norm.inl
ThirdParty/glm/glm/gtx/norm.inl
+130
-0
ThirdParty/glm/glm/gtx/normal.hpp
ThirdParty/glm/glm/gtx/normal.hpp
+45
-0
ThirdParty/glm/glm/gtx/normal.inl
ThirdParty/glm/glm/gtx/normal.inl
+27
-0
ThirdParty/glm/glm/gtx/normalize_dot.hpp
ThirdParty/glm/glm/gtx/normalize_dot.hpp
+53
-0
ThirdParty/glm/glm/gtx/normalize_dot.inl
ThirdParty/glm/glm/gtx/normalize_dot.inl
+120
-0
ThirdParty/glm/glm/gtx/number_precision.hpp
ThirdParty/glm/glm/gtx/number_precision.hpp
+62
-0
ThirdParty/glm/glm/gtx/number_precision.inl
ThirdParty/glm/glm/gtx/number_precision.inl
+13
-0
ThirdParty/glm/glm/gtx/ocl_type.hpp
ThirdParty/glm/glm/gtx/ocl_type.hpp
+103
-0
ThirdParty/glm/glm/gtx/ocl_type.inl
ThirdParty/glm/glm/gtx/ocl_type.inl
+0
-0
ThirdParty/glm/glm/gtx/optimum_pow.hpp
ThirdParty/glm/glm/gtx/optimum_pow.hpp
+68
-0
ThirdParty/glm/glm/gtx/optimum_pow.inl
ThirdParty/glm/glm/gtx/optimum_pow.inl
+63
-0
ThirdParty/glm/glm/gtx/orthonormalize.hpp
ThirdParty/glm/glm/gtx/orthonormalize.hpp
+50
-0
ThirdParty/glm/glm/gtx/orthonormalize.inl
ThirdParty/glm/glm/gtx/orthonormalize.inl
+49
-0
ThirdParty/glm/glm/gtx/perpendicular.hpp
ThirdParty/glm/glm/gtx/perpendicular.hpp
+60
-0
ThirdParty/glm/glm/gtx/perpendicular.inl
ThirdParty/glm/glm/gtx/perpendicular.inl
+40
-0
ThirdParty/glm/glm/gtx/polar_coordinates.hpp
ThirdParty/glm/glm/gtx/polar_coordinates.hpp
+43
-0
ThirdParty/glm/glm/gtx/polar_coordinates.inl
ThirdParty/glm/glm/gtx/polar_coordinates.inl
+42
-0
ThirdParty/glm/glm/gtx/projection.hpp
ThirdParty/glm/glm/gtx/projection.hpp
+58
-0
ThirdParty/glm/glm/gtx/projection.inl
ThirdParty/glm/glm/gtx/projection.inl
+40
-0
ThirdParty/glm/glm/gtx/quaternion.hpp
ThirdParty/glm/glm/gtx/quaternion.hpp
+195
-0
ThirdParty/glm/glm/gtx/quaternion.inl
ThirdParty/glm/glm/gtx/quaternion.inl
+251
-0
ThirdParty/glm/glm/gtx/random.hpp
ThirdParty/glm/glm/gtx/random.hpp
+82
-0
ThirdParty/glm/glm/gtx/random.inl
ThirdParty/glm/glm/gtx/random.inl
+536
-0
ThirdParty/glm/glm/gtx/raw_data.hpp
ThirdParty/glm/glm/gtx/raw_data.hpp
+51
-0
ThirdParty/glm/glm/gtx/raw_data.inl
ThirdParty/glm/glm/gtx/raw_data.inl
+11
-0
ThirdParty/glm/glm/gtx/reciprocal.hpp
ThirdParty/glm/glm/gtx/reciprocal.hpp
+97
-0
ThirdParty/glm/glm/gtx/reciprocal.inl
ThirdParty/glm/glm/gtx/reciprocal.inl
+593
-0
ThirdParty/glm/glm/gtx/rotate_vector.hpp
ThirdParty/glm/glm/gtx/rotate_vector.hpp
+107
-0
ThirdParty/glm/glm/gtx/rotate_vector.inl
ThirdParty/glm/glm/gtx/rotate_vector.inl
+145
-0
ThirdParty/glm/glm/gtx/spline.hpp
ThirdParty/glm/glm/gtx/spline.hpp
+67
-0
ThirdParty/glm/glm/gtx/spline.inl
ThirdParty/glm/glm/gtx/spline.inl
+68
-0
ThirdParty/glm/glm/gtx/std_based_type.hpp
ThirdParty/glm/glm/gtx/std_based_type.hpp
+74
-0
ThirdParty/glm/glm/gtx/std_based_type.inl
ThirdParty/glm/glm/gtx/std_based_type.inl
+13
-0
ThirdParty/glm/glm/gtx/string_cast.hpp
ThirdParty/glm/glm/gtx/string_cast.hpp
+58
-0
ThirdParty/glm/glm/gtx/string_cast.inl
ThirdParty/glm/glm/gtx/string_cast.inl
+597
-0
ThirdParty/glm/glm/gtx/transform.hpp
ThirdParty/glm/glm/gtx/transform.hpp
+101
-0
ThirdParty/glm/glm/gtx/transform.inl
ThirdParty/glm/glm/gtx/transform.inl
+94
-0
ThirdParty/glm/glm/gtx/transform2.hpp
ThirdParty/glm/glm/gtx/transform2.hpp
+124
-0
ThirdParty/glm/glm/gtx/transform2.inl
ThirdParty/glm/glm/gtx/transform2.inl
+188
-0
ThirdParty/glm/glm/gtx/unsigned_int.hpp
ThirdParty/glm/glm/gtx/unsigned_int.hpp
+57
-0
ThirdParty/glm/glm/gtx/unsigned_int.inl
ThirdParty/glm/glm/gtx/unsigned_int.inl
+45
-0
ThirdParty/glm/glm/gtx/vec1.hpp
ThirdParty/glm/glm/gtx/vec1.hpp
+124
-0
ThirdParty/glm/glm/gtx/vec1.inl
ThirdParty/glm/glm/gtx/vec1.inl
+0
-0
ThirdParty/glm/glm/gtx/vector_access.hpp
ThirdParty/glm/glm/gtx/vector_access.hpp
+64
-0
ThirdParty/glm/glm/gtx/vector_access.inl
ThirdParty/glm/glm/gtx/vector_access.inl
+58
-0
ThirdParty/glm/glm/gtx/vector_angle.hpp
ThirdParty/glm/glm/gtx/vector_angle.hpp
+68
-0
ThirdParty/glm/glm/gtx/vector_angle.inl
ThirdParty/glm/glm/gtx/vector_angle.inl
+124
-0
ThirdParty/glm/glm/gtx/vector_query.hpp
ThirdParty/glm/glm/gtx/vector_query.hpp
+93
-0
ThirdParty/glm/glm/gtx/vector_query.inl
ThirdParty/glm/glm/gtx/vector_query.inl
+143
-0
ThirdParty/glm/glm/gtx/verbose_operator.hpp
ThirdParty/glm/glm/gtx/verbose_operator.hpp
+61
-0
ThirdParty/glm/glm/gtx/verbose_operator.inl
ThirdParty/glm/glm/gtx/verbose_operator.inl
+129
-0
ThirdParty/glm/glm/img/multiple.hpp
ThirdParty/glm/glm/img/multiple.hpp
+51
-0
ThirdParty/glm/glm/img/multiple.inl
ThirdParty/glm/glm/img/multiple.inl
+191
-0
ThirdParty/glm/glm/img/wrap.hpp
ThirdParty/glm/glm/img/wrap.hpp
+52
-0
ThirdParty/glm/glm/img/wrap.inl
ThirdParty/glm/glm/img/wrap.inl
+173
-0
ThirdParty/glm/glm/setup.hpp
ThirdParty/glm/glm/setup.hpp
+259
-0
ThirdParty/gzstream/Build/CMakeLists.txt
ThirdParty/gzstream/Build/CMakeLists.txt
+0
-2
build/CMakeLists.txt
build/CMakeLists.txt
+10
-2
build/Debug/CMakeLists.txt
build/Debug/CMakeLists.txt
+1
-0
build/Release/CMakeLists.txt
build/Release/CMakeLists.txt
+1
-0
include/Algo/Geometry/area.h
include/Algo/Geometry/area.h
+1
-1
include/Algo/Geometry/area.hpp
include/Algo/Geometry/area.hpp
+2
-2
include/Algo/Geometry/inclusion.h
include/Algo/Geometry/inclusion.h
+1
-1
include/Algo/Geometry/inclusion.hpp
include/Algo/Geometry/inclusion.hpp
+2
-2
include/Algo/Geometry/normal.h
include/Algo/Geometry/normal.h
+10
-2
include/Algo/Geometry/normal.hpp
include/Algo/Geometry/normal.hpp
+24
-4
include/Algo/ImplicitHierarchicalMesh/ihm.h
include/Algo/ImplicitHierarchicalMesh/ihm.h
+3
-3
include/Algo/ImplicitHierarchicalMesh/ihm.hpp
include/Algo/ImplicitHierarchicalMesh/ihm.hpp
+9
-10
include/Algo/Import/import2tables.h
include/Algo/Import/import2tables.h
+1
-1
include/Algo/Import/import2tablesSurface.hpp
include/Algo/Import/import2tablesSurface.hpp
+9
-9
include/Algo/Import/import2tablesVolume.hpp
include/Algo/Import/import2tablesVolume.hpp
+1
-1
include/Algo/Import/importInESS.hpp
include/Algo/Import/importInESS.hpp
+1
-1
include/Algo/Import/importMesh.hpp
include/Algo/Import/importMesh.hpp
+2
-3
include/Algo/Import/importObjEle.hpp
include/Algo/Import/importObjEle.hpp
+1
-1
include/Algo/Import/importTet.hpp
include/Algo/Import/importTet.hpp
+1
-1
include/Algo/Import/importTs.hpp
include/Algo/Import/importTs.hpp
+1
-1
include/Algo/Modelisation/subdivision.h
include/Algo/Modelisation/subdivision.h
+26
-7
include/Algo/Modelisation/subdivision.hpp
include/Algo/Modelisation/subdivision.hpp
+70
-42
include/Algo/Parallel/parallel_foreach.h
include/Algo/Parallel/parallel_foreach.h
+240
-0
include/Algo/Parallel/parallel_foreach.hpp
include/Algo/Parallel/parallel_foreach.hpp
+816
-0
include/Algo/ProgressiveMesh/vsplit.h
include/Algo/ProgressiveMesh/vsplit.h
+4
-4
include/Algo/Render/gl3mapRender.h
include/Algo/Render/gl3mapRender.h
+282
-0
include/Algo/Render/gl3mapRender.hpp
include/Algo/Render/gl3mapRender.hpp
+469
-0
include/Algo/Render/topo_vboRender.h
include/Algo/Render/topo_vboRender.h
+2
-6
include/Algo/Render/topo_vboRender.hpp
include/Algo/Render/topo_vboRender.hpp
+1
-5
include/Algo/Render/vbo_MapRender.h
include/Algo/Render/vbo_MapRender.h
+87
-11
include/Algo/Render/vbo_MapRender.hpp
include/Algo/Render/vbo_MapRender.hpp
+114
-35
include/Container/attrib_container.hpp
include/Container/attrib_container.hpp
+0
-276
include/Container/attributeContainer.h
include/Container/attributeContainer.h
+525
-0
include/Container/attributeContainer.hpp
include/Container/attributeContainer.hpp
+412
-0
include/Container/attributeMultiVector.h
include/Container/attributeMultiVector.h
+344
-0
include/Container/attributeMultiVector.hpp
include/Container/attributeMultiVector.hpp
+479
-0
include/Container/holeblockref.h
include/Container/holeblockref.h
+0
-2
include/Container/registered.h
include/Container/registered.h
+3
-3
include/Topology/generic/attribmap.h
include/Topology/generic/attribmap.h
+2
-2
include/Topology/generic/attribmap.hpp
include/Topology/generic/attribmap.hpp
+18
-25
include/Topology/generic/attributeHandler.h
include/Topology/generic/attributeHandler.h
+17
-18
include/Topology/generic/attributeHandler.hpp
include/Topology/generic/attributeHandler.hpp
+32
-27
include/Topology/generic/autoAttributeHandler.h
include/Topology/generic/autoAttributeHandler.h
+5
-7
include/Topology/generic/cellmarker.h
include/Topology/generic/cellmarker.h
+31
-14
include/Topology/generic/dart.h
include/Topology/generic/dart.h
+3
-3
include/Topology/generic/dartmarker.h
include/Topology/generic/dartmarker.h
+37
-24
include/Topology/generic/ecell.h
include/Topology/generic/ecell.h
+2
-2
include/Topology/generic/ecell.hpp
include/Topology/generic/ecell.hpp
+1
-1
include/Topology/generic/genericFunc.h
include/Topology/generic/genericFunc.h
+5
-5
include/Topology/generic/genericFunc.hpp
include/Topology/generic/genericFunc.hpp
+37
-37
include/Topology/generic/genericmap.h
include/Topology/generic/genericmap.h
+58
-41
include/Topology/generic/genericmap.hpp
include/Topology/generic/genericmap.hpp
+35
-25
include/Topology/gmap/gmap0.h
include/Topology/gmap/gmap0.h
+7
-7
include/Topology/gmap/gmap0.hpp
include/Topology/gmap/gmap0.hpp
+9
-9
include/Topology/gmap/gmap1.h
include/Topology/gmap/gmap1.h
+7
-7
include/Topology/gmap/gmap1.hpp
include/Topology/gmap/gmap1.hpp
+4
-4
include/Topology/gmap/gmap2.h
include/Topology/gmap/gmap2.h
+7
-7
include/Topology/gmap/gmap2.hpp
include/Topology/gmap/gmap2.hpp
+2
-2
include/Topology/gmap/gmap3.h
include/Topology/gmap/gmap3.h
+6
-6
include/Topology/map/map1.h
include/Topology/map/map1.h
+8
-8
include/Topology/map/map1.hpp
include/Topology/map/map1.hpp
+8
-8
include/Topology/map/map2.h
include/Topology/map/map2.h
+8
-21
include/Topology/map/map2.hpp
include/Topology/map/map2.hpp
+4
-4
include/Topology/map/map3.h
include/Topology/map/map3.h
+8
-8
include/Topology/xmap/xmap.h
include/Topology/xmap/xmap.h
+7
-6
include/Topology/xmap/xmap.hpp
include/Topology/xmap/xmap.hpp
+9
-9
include/Utils/GL3/gl3.h
include/Utils/GL3/gl3.h
+3264
-0
include/Utils/GLSLShader.h
include/Utils/GLSLShader.h
+209
-62
include/Utils/glutwin.h
include/Utils/glutwin.h
+34
-1
include/Utils/glutwingl3.h
include/Utils/glutwingl3.h
+291
-0
include/Utils/quadricRGBfunctions.h
include/Utils/quadricRGBfunctions.h
+23
-6
include/Utils/quadricRGBfunctions.hpp
include/Utils/quadricRGBfunctions.hpp
+23
-6
include/Utils/trackball.h
include/Utils/trackball.h
+11
-0
lib/Shaders/color_gl3.frag
lib/Shaders/color_gl3.frag
+10
-0
lib/Shaders/color_gl3.vert
lib/Shaders/color_gl3.vert
+13
-0
lib/Shaders/phong_gl2.frag
lib/Shaders/phong_gl2.frag
+29
-0
lib/Shaders/phong_gl2.vert
lib/Shaders/phong_gl2.vert
+20
-0
lib/Shaders/phong_gl3.frag
lib/Shaders/phong_gl3.frag
+40
-0
lib/Shaders/phong_gl3.vert
lib/Shaders/phong_gl3.vert
+29
-0
src/Algo/ImplicitHierarchicalMesh/ihm.cpp
src/Algo/ImplicitHierarchicalMesh/ihm.cpp
+18
-7
src/Algo/Render/gl3mapRender.cpp
src/Algo/Render/gl3mapRender.cpp
+244
-0
src/Algo/Render/vbo_MapRender.cpp
src/Algo/Render/vbo_MapRender.cpp
+61
-0
src/Container/attributeContainer.cpp
src/Container/attributeContainer.cpp
+720
-0
src/Topology/generic/attribmap.cpp
src/Topology/generic/attribmap.cpp
+18
-16
src/Topology/generic/genericmap.cpp
src/Topology/generic/genericmap.cpp
+86
-34
src/Topology/gmap/gmap1.cpp
src/Topology/gmap/gmap1.cpp
+4
-4
src/Topology/gmap/gmap2.cpp
src/Topology/gmap/gmap2.cpp
+6
-6
src/Topology/gmap/gmap3.cpp
src/Topology/gmap/gmap3.cpp
+10
-10
src/Topology/map/map1.cpp
src/Topology/map/map1.cpp
+1
-1
src/Topology/map/map2.cpp
src/Topology/map/map2.cpp
+12
-73
src/Topology/map/map3.cpp
src/Topology/map/map3.cpp
+13
-15
src/Utils/GLSLShader.cpp
src/Utils/GLSLShader.cpp
+188
-289
src/Utils/glutwin.cpp
src/Utils/glutwin.cpp
+44
-0
src/Utils/glutwin_gl3.cpp
src/Utils/glutwin_gl3.cpp
+526
-0
src/Utils/scene_graph.cpp
src/Utils/scene_graph.cpp
+1
-1
src/Utils/trackball.cpp
src/Utils/trackball.cpp
+23
-0
No files found.
Apps/Examples/Debug/CMakeLists.txt
View file @
bf5c4d2d
...
...
@@ -15,6 +15,7 @@ include_directories(
${
CGoGN_ROOT_DIR
}
/ThirdParty/AntTweakBar/include
${
CGoGN_ROOT_DIR
}
/ThirdParty/OpenCTM
${
CGoGN_ROOT_DIR
}
/ThirdParty/Assimp/include
${
CGoGN_ROOT_DIR
}
/ThirdParty/glm
)
# define libs path
...
...
Apps/Examples/Release/CMakeLists.txt
View file @
bf5c4d2d
...
...
@@ -16,6 +16,7 @@ include_directories(
${
CGoGN_ROOT_DIR
}
/ThirdParty/AntTweakBar/include
${
CGoGN_ROOT_DIR
}
/ThirdParty/OpenCTM
${
CGoGN_ROOT_DIR
}
/ThirdParty/Assimp/include
${
CGoGN_ROOT_DIR
}
/ThirdParty/glm
)
...
...
Apps/Examples/Viewer.cpp
View file @
bf5c4d2d
...
...
@@ -246,7 +246,7 @@ void myGlutWin::myKeyboard(unsigned char keycode, int, int)
case
's'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
CatmullClarkSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
CatmullClarkSubdivision
<
PFP
>
(
myMap
,
position
);
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"catmull-clark: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
@@ -259,11 +259,11 @@ void myGlutWin::myKeyboard(unsigned char keycode, int, int)
case
'l'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
>
(
myMap
,
position
);
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"loop: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
@@ -276,7 +276,7 @@ void myGlutWin::myKeyboard(unsigned char keycode, int, int)
case
'd'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
Sqrt3Subdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
Sqrt3Subdivision
<
PFP
>
(
myMap
,
position
);
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"dual: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
Apps/Examples/extrusionView.cpp
View file @
bf5c4d2d
...
...
@@ -118,7 +118,7 @@ void myGlutWin::init()
glClearColor
(
0.1
f
,
0.1
f
,
0.1
f
,
0.0
f
);
glEnable
(
GL_DEPTH_TEST
);
glEnable
(
GL_NORMALIZE
);
//
glEnable(GL_NORMALIZE);
glLightModeli
(
GL_LIGHT_MODEL_TWO_SIDE
,
GL_TRUE
);
glLightModeli
(
GL_LIGHT_MODEL_LOCAL_VIEWER
,
1
);
...
...
Apps/Examples/miniTest.cpp
View file @
bf5c4d2d
...
...
@@ -433,7 +433,7 @@ void MyGlutWin::myKeyboard(unsigned char keycode, int x, int y)
case
'l'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
LoopSubdivision
<
PFP
>
(
myMap
,
position
);
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"loop: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
@@ -454,7 +454,7 @@ void MyGlutWin::myKeyboard(unsigned char keycode, int x, int y)
case
'c'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
CatmullClarkSubdivision
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
);
Algo
::
Modelisation
::
CatmullClarkSubdivision
<
PFP
>
(
myMap
,
position
);
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"catmull-clark: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
@@ -475,7 +475,7 @@ void MyGlutWin::myKeyboard(unsigned char keycode, int x, int y)
case
't'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
trianguleFaces
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
)
;
Algo
::
Modelisation
::
trianguleFaces
<
PFP
>
(
myMap
,
position
)
;
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"triangulation: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
@@ -495,7 +495,7 @@ void MyGlutWin::myKeyboard(unsigned char keycode, int x, int y)
case
'q'
:
{
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
quadranguleFaces
<
PFP
,
AttributeHandler
<
PFP
::
VEC3
>
,
PFP
::
VEC3
>
(
myMap
,
position
)
;
Algo
::
Modelisation
::
quadranguleFaces
<
PFP
>
(
myMap
,
position
)
;
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"quadrangulation: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
...
...
@@ -534,6 +534,100 @@ void MyGlutWin::myKeyboard(unsigned char keycode, int x, int y)
break
;
}
case
'd'
:
{
AttributeHandler
<
PFP
::
VEC3
>
positionF
=
myMap
.
getAttribute
<
PFP
::
VEC3
>
(
FACE_ORBIT
,
"position"
)
;
if
(
!
positionF
.
isValid
())
positionF
=
myMap
.
addAttribute
<
PFP
::
VEC3
>
(
FACE_ORBIT
,
"position"
)
;
Algo
::
Geometry
::
computeCentroidFaces
<
PFP
>
(
myMap
,
position
,
positionF
)
;
GLint
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
Algo
::
Modelisation
::
computeDual
<
PFP
>
(
myMap
)
;
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"dual computation: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
position
=
myMap
.
getAttribute
<
PFP
::
VEC3
>
(
VERTEX_ORBIT
,
"position"
)
;
normal
=
myMap
.
getAttribute
<
PFP
::
VEC3
>
(
VERTEX_ORBIT
,
"normal"
)
;
if
(
!
normal
.
isValid
())
normal
=
myMap
.
addAttribute
<
PFP
::
VEC3
>
(
VERTEX_ORBIT
,
"normal"
)
;
laplacian
=
myMap
.
getAttribute
<
PFP
::
VEC3
>
(
VERTEX_ORBIT
,
"laplacian"
)
;
if
(
!
laplacian
.
isValid
())
laplacian
=
myMap
.
addAttribute
<
PFP
::
VEC3
>
(
VERTEX_ORBIT
,
"laplacian"
)
;
t1
=
glutGet
(
GLUT_ELAPSED_TIME
);
updateVBOprimitives
(
Algo
::
Render
::
VBO
::
TRIANGLES
|
Algo
::
Render
::
VBO
::
LINES
|
Algo
::
Render
::
VBO
::
POINTS
)
;
updateVBOdata
(
Algo
::
Render
::
VBO
::
POSITIONS
|
Algo
::
Render
::
VBO
::
NORMALS
)
;
topo_render
->
updateData
<
PFP
>
(
myMap
,
position
,
0.9
f
,
0.9
f
)
;
t2
=
glutGet
(
GLUT_ELAPSED_TIME
);
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
std
::
cout
<<
"display update: "
<<
seconds
<<
"sec"
<<
std
::
endl
;
glutPostRedisplay
()
;
break
;
}
case
'3'
:
{
CellMarker
markVisit
(
myMap
,
VERTEX_CELL
)
;
CellMarker
markNoDelete
(
myMap
,
VERTEX_CELL
)
;
std
::
vector
<
Dart
>
visited
;
visited
.
reserve
(
myMap
.
getNbCells
(
VERTEX_CELL
))
;
visited
.
push_back
(
myMap
.
begin
())
;
markVisit
.
mark
(
myMap
.
begin
())
;
for
(
std
::
vector
<
Dart
>::
iterator
vertex
=
visited
.
begin
();
vertex
!=
visited
.
end
();
++
vertex
)
{
bool
deleteV
=
true
;
if
(
markNoDelete
.
isMarked
(
*
vertex
))
deleteV
=
false
;
Dart
vit
=
*
vertex
;
do
// add all vertex neighbors to the table
{
Dart
nv
=
myMap
.
phi1
(
vit
)
;
if
(
!
markVisit
.
isMarked
(
nv
))
{
visited
.
push_back
(
nv
)
;
markVisit
.
mark
(
nv
)
;
}
if
(
deleteV
)
markNoDelete
.
mark
(
nv
)
;
vit
=
myMap
.
alpha1
(
vit
)
;
}
while
(
vit
!=
*
vertex
)
;
if
(
deleteV
)
myMap
.
deleteVertex
(
*
vertex
)
;
}
// for(Dart d = myMap.begin(); d != myMap.end(); myMap.next(d))
// {
// if(!markVisit.isMarked(d))
// {
// Dart dd = myMap.phi1(d) ;
// myMap.deleteVertex(d) ;
// Dart fit = dd ;
// do
// {
// markVisit.mark(fit) ;
// fit = myMap.phi1(fit) ;
// } while(fit != dd) ;
// }
// }
updateVBOprimitives
(
Algo
::
Render
::
VBO
::
TRIANGLES
|
Algo
::
Render
::
VBO
::
LINES
|
Algo
::
Render
::
VBO
::
POINTS
)
;
updateVBOdata
(
Algo
::
Render
::
VBO
::
POSITIONS
|
Algo
::
Render
::
VBO
::
NORMALS
)
;
topo_render
->
updateData
<
PFP
>
(
myMap
,
position
,
0.9
f
,
0.9
f
)
;
glutPostRedisplay
()
;
break
;
}
case
'a'
:
{
Algo
::
Geometry
::
computeLaplacianVertices
<
PFP
>
(
myMap
,
Algo
::
Geometry
::
TOPOLOGICAL
,
position
,
laplacian
)
;
...
...
@@ -633,6 +727,7 @@ int main(int argc, char** argv)
std
::
cerr
<<
"could not import "
<<
filename
<<
std
::
endl
;
return
1
;
}
mgw
->
position
=
myMap
.
getAttribute
<
PFP
::
VEC3
>
(
VERTEX_ORBIT
,
attrNames
[
0
])
;
GLint
t2
=
glutGet
(
GLUT_ELAPSED_TIME
)
;
GLfloat
seconds
=
(
t2
-
t1
)
/
1000.0
f
;
...
...
Apps/Tuto/CMakeLists.txt
View file @
bf5c4d2d
...
...
@@ -4,6 +4,8 @@ project(Tutos)
#SET (COMMON_LIBS ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${GLEW_LIBRARY} ${DEVIL_LIBRARIES} ${ZLIB_LIBRARIES} ${LIBXML2_LIBRARIES} gzstream AntTweakBar openctm)
#SET (CMAKE_BUILD_TYPE Debug)
SET
(
CMAKE_BUILD_TYPE Release
)
SET
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-DNOTOPOWARNING"
)
...
...
@@ -14,6 +16,7 @@ include_directories(
${
CGoGN_ROOT_DIR
}
/ThirdParty/gzstream
${
CGoGN_ROOT_DIR
}
/ThirdParty/OpenCTM
${
CGoGN_ROOT_DIR
}
/ThirdParty/Assimp/include
${
CGoGN_ROOT_DIR
}
/ThirdParty/glm
${
CGoGN_ROOT_DIR
}
/include
)
...
...
@@ -49,3 +52,15 @@ target_link_libraries( tuto_subdivision
add_executable
(
tp_master tp_master.cpp
)
target_link_libraries
(
tp_master
container topology utils algo
${
COMMON_LIBS
}
)
add_executable
(
tuto_mt tuto_mt.cpp
)
target_link_libraries
(
tuto_mt
container topology utils algo
${
COMMON_LIBS
}
boost_thread-mt
)
add_executable
(
tuto_ogl3 tuto_ogl3.cpp
)
target_link_libraries
(
tuto_ogl3
container topology utils algo
${
COMMON_LIBS
}
)
add_executable
(
tuto_ogl2 tuto_ogl2.cpp
)
target_link_libraries
(
tuto_ogl2
container topology utils algo
${
COMMON_LIBS
}
)
Apps/Tuto/tp_master.cpp
View file @
bf5c4d2d
...
...
@@ -100,6 +100,7 @@ Dart d_maison;
Dart
Carre
()
{
return
Dart
::
nil
();
}
...
...
@@ -107,7 +108,7 @@ Dart Carre()
Dart
Triangle
()
{
return
Dart
::
nil
();
}
...
...
@@ -141,7 +142,7 @@ void ColleMilieu(Dart d, Dart e)
Dart
Maison
()
{
return
Dart
::
nil
();
}
...
...
@@ -634,7 +635,6 @@ void myGlutWin::myKeyboard(unsigned char keycode, int x, int y)
/// calcul du rayon
getOrthoScreenRay
(
x
,
y
,
rayA
,
rayB
);
PFP
::
VEC3
AB
=
rayB
-
rayA
;
float
AB2
=
AB
.
norm2
();
d_faces
.
clear
();
d_edges
.
clear
();
...
...
@@ -678,7 +678,6 @@ void myGlutWin::myKeyboard(unsigned char keycode, int x, int y)
/// Rayon
getOrthoScreenRay
(
x
,
y
,
rayA
,
rayB
);
PFP
::
VEC3
AB
=
rayB
-
rayA
;
float
AB2
=
AB
.
norm2
();
d_faces
.
clear
();
d_edges
.
clear
();
...
...
Apps/Tuto/tuto_mt.cpp
0 → 100644
View file @
bf5c4d2d
/*******************************************************************************
* CGoGN: Combinatorial and Geometric modeling with Generic N-dimensional Maps *
* version 0.1 *
* Copyright (C) 2009, IGG Team, LSIIT, University of Strasbourg *
* *
* This library is free software; you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as published by the *
* Free Software Foundation; either version 2.1 of the License, or (at your *
* option) any later version. *
* *
* This library is distributed in the hope that it will be useful, but WITHOUT *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
* for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this library; if not, write to the Free Software Foundation, *
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
* *
* Web site: https://iggservis.u-strasbg.fr/CGoGN/ *
* Contact information: cgogn@unistra.fr *
* *
*******************************************************************************/
#include <iostream>
#include "Utils/glutwin.h"
#include "Topology/generic/parameters.h"
#include "Topology/map/map2.h"
#include "Topology/generic/embeddedMap2.h"
#include "Geometry/vector_gen.h"
#include "Algo/Import/import.h"
#include "Algo/Geometry/boundingbox.h"
#include "Algo/Render/vbo_MapRender.h"
#include "Algo/Geometry/area.h"
#include "Algo/Geometry/normal.h"
#include "Algo/Parallel/parallel_foreach.h"
using
namespace
CGoGN
;
/**
* Struct that contains some informations about the types of the manipulated objects
* Mainly here to be used by the algorithms that are parameterized by it
*/
struct
PFP
:
public
PFP_STANDARD
{
// definition of the map
typedef
EmbeddedMap2
<
Map2
>
MAP
;
};
/**
* A class for a little interface and rendering
*/
class
MyGlutWin
:
public
Utils
::
SimpleGlutWin
{
public:
void
myRedraw
();
PFP
::
REAL
gWidthObj
;
PFP
::
VEC3
gPosObj
;
Algo
::
Render
::
VBO
::
MapRender_VBO
*
m_render
;
MyGlutWin
(
int
*
argc
,
char
**
argv
,
int
winX
,
int
winY
)
:
SimpleGlutWin
(
argc
,
argv
,
winX
,
winY
),
m_render
(
NULL
)
{}
~
MyGlutWin
()
{
if
(
m_render
!=
NULL
)
delete
m_render
;
}
};
// Routine d'affichage
void
MyGlutWin
::
myRedraw
()
{
glClear
(
GL_COLOR_BUFFER_BIT
|
GL_DEPTH_BUFFER_BIT
);
glPushMatrix
();
// center the object
float
sc
=
50.0
f
/
gWidthObj
;
glScalef
(
sc
,
sc
,
sc
);
glTranslatef
(
-
gPosObj
[
0
],
-
gPosObj
[
1
],
-
gPosObj
[
2
]);
glPolygonMode
(
GL_FRONT_AND_BACK
,
GL_FILL
);
glDisable
(
GL_LIGHTING
);
// draw the lines
glColor3f
(
1.0
f
,
1.0
f
,
0.0
f
);
m_render
->
draw
(
Algo
::
Render
::
VBO
::
LINES
);
// draw the faces
glEnable
(
GL_POLYGON_OFFSET_FILL
);
glPolygonOffset
(
1.0
f
,
1.0
f
);
glColor3f
(
0.0
f
,
0.5
f
,
0.0
f
);
m_render
->
draw
(
Algo
::
Render
::
VBO
::
TRIANGLES
);
glDisable
(
GL_POLYGON_OFFSET_FILL
);
glPopMatrix
();
}
template
<
typename
XXX
>
class
ThreadArea
:
public
Algo
::
Parallel
::
CGoGNThread
<
typename
XXX
::
MAP
>
{
protected:
const
typename
XXX
::
TVEC3
&
m_positions
;
float
area
;
public:
ThreadArea
(
typename
XXX
::
MAP
&
map
,
const
typename
XXX
::
TVEC3
&
pos
,
unsigned
int
th
)
:
Algo
::
Parallel
::
CGoGNThread
<
typename
XXX
::
MAP
>
(
map
,
th
),
m_positions
(
pos
),
area
(
0.0
f
)
{}
void
operator
()()
{
// 3 times just for fun !!!
area
+=
Algo
::
Geometry
::
totalArea
<
XXX
>
(
this
->
m_map
,
m_positions
,
SelectorTrue
(),
this
->
m_threadId
);
area
+=
Algo
::
Geometry
::
totalArea
<
XXX
>
(
this
->
m_map
,
m_positions
,
SelectorTrue
(),
this
->
m_threadId
);
area
+=
Algo
::
Geometry
::
totalArea
<
XXX
>
(
this
->
m_map
,
m_positions
,
SelectorTrue
(),
this
->
m_threadId
);
}
float
getTripleValue
()
{
return
area
;}
};
template
<
typename
XXX
>
class
ThreadNormals
:
public
Algo
::
Parallel
::
CGoGNThread
<
typename
XXX
::
MAP
>
{
protected:
const
typename
XXX
::
TVEC3
&
m_positions
;
typename
XXX
::
TVEC3
&
m_normals
;
public:
ThreadNormals
(
typename
XXX
::
MAP
&
map
,
const
typename
XXX
::
TVEC3
&
pos
,
typename
XXX
::
TVEC3
&
norm
,
unsigned
int
th
)
:
Algo
::
Parallel
::
CGoGNThread
<
typename
XXX
::
MAP
>
(
map
,
th
),
m_positions
(
pos
),
m_normals
(
norm
)
{}
void
operator
()()
{
Algo
::
Geometry
::
computeNormalVertices
<
XXX
>
(
this
->
m_map
,
m_positions
,
m_normals
,
SelectorTrue
(),
this
->
m_threadId
);
}
};
//
//template<typename XXX>
//class Thread0
//{
//protected:
// typename XXX::MAP& m_map;
// MyGlutWin& m_mgw;
// unsigned int m_th;
// SelectorTrue m_selt;
//public:
// Thread0(typename XXX::MAP& map,MyGlutWin& mgw, unsigned int th):
// m_map(map), m_mgw(mgw), m_th(th) {}
//
// void operator()()
// {
// std::cout << "Begin render init"<<std::endl;
// m_mgw.useContext();
//
// // instanciation of the renderer (here using VBOs)
// m_mgw.m_render = new Algo::Render::VBO::MapRender_VBO();
//
// // update the renderer (geometry and primitives)
// m_mgw.m_render->updateData(Algo::Render::VBO::POSITIONS, position);
//
// m_mgw.m_render->initPrimitives<PFP>(m_map, m_selt, Algo::Render::VBO::TRIANGLES,m_th);
// m_mgw.m_render->initPrimitives<PFP>(m_map, m_selt, Algo::Render::VBO::LINES,m_th);
//
// m_mgw.releaseContext();
// std::cout<< "Render OK "<< std::endl;
//
// }
//};
template
<
typename
XXX
>
class
calculFunctor1
:
public
Algo
::
Parallel
::
FunctorMapThreaded
<
typename
XXX
::
MAP
>
{
protected: