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
Hurstel
CGoGN
Commits
3dc1a1ed
Commit
3dc1a1ed
authored
May 20, 2011
by
Pierre Kraemer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ajout ORIENTED_FACE_ORBIT avec Container
parent
39c7eaff
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
22 additions
and
26 deletions
+22
-26
README.TXT
README.TXT
+0
-4
include/Topology/generic/genericmap.h
include/Topology/generic/genericmap.h
+10
-6
include/Topology/generic/marker.h
include/Topology/generic/marker.h
+1
-1
src/Topology/generic/genericmap.cpp
src/Topology/generic/genericmap.cpp
+6
-5
src/Utils/qtgl.cpp
src/Utils/qtgl.cpp
+5
-10
No files found.
README.TXT
View file @
3dc1a1ed
Dépendences Linux:
installer les paquets suivants:
<<<<<<< HEAD
cmake libXi-dev libXmu-dev freeglut3-dev libdevil-dev libglew-dev libgmp3-dev libxml2-dev libboost-dev libzip-dev libqt4-help qt4-designer qt4-dev-tools
=======
cmake libXi-dev libXmu-dev freeglut3-dev libdevil-dev libglew-dev libgmp3-dev libxml2-dev libboost-dev lizip-dev libqt4-dev qt4-designer qt4-dev-tools
>>>>>>> 84fe346d20a65b08cb049bffc98c793c70f687f2
Pour compiler CGoGN:
...
...
include/Topology/generic/genericmap.h
View file @
3dc1a1ed
...
...
@@ -36,14 +36,15 @@
#define EMBNULL 0xffffffff
#define NB_ORBITS
5
#define NB_ORBITS
6
#define NBTHREAD 16
#define VERTEX_ORBIT (unsigned int)(0)
#define EDGE_ORBIT (unsigned int)(1)
#define FACE_ORBIT (unsigned int)(2)
#define VOLUME_ORBIT (unsigned int)(3)
#define DART_ORBIT (unsigned int)(4)
#define VERTEX_ORBIT (unsigned int)(0)
#define EDGE_ORBIT (unsigned int)(1)
#define ORIENTED_FACE_ORBIT (unsigned int)(2)
#define FACE_ORBIT (unsigned int)(3)
#define VOLUME_ORBIT (unsigned int)(4)
#define DART_ORBIT (unsigned int)(5)
#include "Container/attributeContainer.h"
...
...
@@ -386,6 +387,7 @@ public:
virtual
bool
foreach_dart_of_vertex
(
Dart
d
,
FunctorType
&
f
,
unsigned
int
thread
=
0
)
=
0
;
virtual
bool
foreach_dart_of_edge
(
Dart
d
,
FunctorType
&
f
,
unsigned
int
thread
=
0
)
=
0
;
virtual
bool
foreach_dart_of_oriented_face
(
Dart
d
,
FunctorType
&
f
,
unsigned
int
thread
=
0
)
=
0
;
virtual
bool
foreach_dart_of_face
(
Dart
d
,
FunctorType
&
f
,
unsigned
int
thread
=
0
)
=
0
;
virtual
bool
foreach_dart_of_volume
(
Dart
d
,
FunctorType
&
f
,
unsigned
int
thread
=
0
)
=
0
;
virtual
bool
foreach_dart_of_cc
(
Dart
d
,
FunctorType
&
f
,
unsigned
int
thread
=
0
)
=
0
;
...
...
@@ -415,6 +417,7 @@ bool foreach_dart_of_orbit_in_parent(MAP* ptrMap, unsigned int orbit, Dart d, Fu
case
DART_ORBIT
:
return
f
(
d
);
case
VERTEX_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
foreach_dart_of_vertex
(
d
,
f
,
thread
);
case
EDGE_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
foreach_dart_of_edge
(
d
,
f
,
thread
);
case
ORIENTED_FACE_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
foreach_dart_of_oriented_face
(
d
,
f
,
thread
);
case
FACE_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
foreach_dart_of_face
(
d
,
f
,
thread
);
case
VOLUME_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
foreach_dart_of_volume
(
d
,
f
,
thread
);
default:
assert
(
!
"Cells of this dimension are not handled"
);
...
...
@@ -430,6 +433,7 @@ bool foreach_dart_of_orbit_in_parent2(MAP* ptrMap, unsigned int orbit, Dart d, F
case
DART_ORBIT
:
return
f
(
d
);
case
VERTEX_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
ParentMap
::
foreach_dart_of_vertex
(
d
,
f
,
thread
);
case
EDGE_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
ParentMap
::
foreach_dart_of_edge
(
d
,
f
,
thread
);
case
ORIENTED_FACE_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
ParentMap
::
foreach_dart_of_oriented_face
(
d
,
f
,
thread
);
case
FACE_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
ParentMap
::
foreach_dart_of_face
(
d
,
f
,
thread
);
case
VOLUME_ORBIT
:
return
ptrMap
->
MAP
::
ParentMap
::
ParentMap
::
foreach_dart_of_volume
(
d
,
f
,
thread
);
default:
assert
(
!
"Cells of this dimension are not handled"
);
...
...
include/Topology/generic/marker.h
View file @
3dc1a1ed
...
...
@@ -38,7 +38,7 @@ protected:
public:
Marker
(
Mark
m
,
unsigned
int
cell
)
:
Mark
(
m
),
m_cell
(
cell
)
{}
#ifndef DART_ORBIT
#define DART_ORBIT (unsigned int)(
4
)
#define DART_ORBIT (unsigned int)(
5
)
#endif
Marker
()
:
Mark
(
0
),
m_cell
(
DART_ORBIT
)
{}
// TODO trouver un moyen propre de faire ça
...
...
src/Topology/generic/genericmap.cpp
View file @
3dc1a1ed
...
...
@@ -536,11 +536,12 @@ bool GenericMap::foreach_dart_of_orbit(unsigned int orbit, Dart d, FunctorType&
{
switch
(
orbit
)
{
case
DART_ORBIT
:
return
f
(
d
);
case
VERTEX_ORBIT
:
return
foreach_dart_of_vertex
(
d
,
f
,
thread
);
case
EDGE_ORBIT
:
return
foreach_dart_of_edge
(
d
,
f
,
thread
);
case
FACE_ORBIT
:
return
foreach_dart_of_face
(
d
,
f
,
thread
);
case
VOLUME_ORBIT
:
return
foreach_dart_of_volume
(
d
,
f
,
thread
);
case
DART_ORBIT
:
return
f
(
d
);
case
VERTEX_ORBIT
:
return
foreach_dart_of_vertex
(
d
,
f
,
thread
);
case
EDGE_ORBIT
:
return
foreach_dart_of_edge
(
d
,
f
,
thread
);
case
ORIENTED_FACE_ORBIT
:
return
foreach_dart_of_oriented_face
(
d
,
f
,
thread
);
case
FACE_ORBIT
:
return
foreach_dart_of_face
(
d
,
f
,
thread
);
case
VOLUME_ORBIT
:
return
foreach_dart_of_volume
(
d
,
f
,
thread
);
// case -1: return foreach_dart_of_cc(d,f,thread);
default:
assert
(
!
"Cells of this dimension are not handled"
);
}
...
...
src/Utils/qtgl.cpp
View file @
3dc1a1ed
...
...
@@ -119,14 +119,13 @@ void GLWidget::recalcModelView()
if
(
m_cbs
)
m_cbs
->
cb_updateMatrix
();
}
void
GLWidget
::
changeCenterOfRotation
(
const
glm
::
vec3
&
newCenter
)
{
oglPushModelViewMatrix
();
m_cbs
->
modelViewMatrix
()
=
glm
::
mat4
(
1.0
f
);
m_cbs
->
modelViewMatrix
()
=
glm
::
mat4
(
1.0
f
);
// positionne l'objet / mvt souris
oglTranslate
(
m_cbs
->
trans_x
(),
m_cbs
->
trans_y
(),
m_cbs
->
trans_z
());
...
...
@@ -137,7 +136,6 @@ void GLWidget::changeCenterOfRotation(const glm::vec3& newCenter)
// update matrice
m_cbs
->
modelViewMatrix
()
*=
m
;
// ajout transformation in screen
m_cbs
->
modelViewMatrix
()
*=
m_cbs
->
transfoMatrix
();
...
...
@@ -145,12 +143,11 @@ void GLWidget::changeCenterOfRotation(const glm::vec3& newCenter)
oglScale
(
m_obj_sc
,
m_obj_sc
,
m_obj_sc
);
oglTranslate
(
m_obj_pos
[
0
],
m_obj_pos
[
1
],
m_obj_pos
[
2
]);
oglTranslate
(
newCenter
[
0
],
newCenter
[
1
],
newCenter
[
2
]);
oglScale
(
1.0
f
/
m_obj_sc
,
1.0
f
/
m_obj_sc
,
1.0
f
/
m_obj_sc
);
oglScale
(
1.0
f
/
m_obj_sc
,
1.0
f
/
m_obj_sc
,
1.0
f
/
m_obj_sc
);
m
=
glm
::
inverse
(
m_cbs
->
transfoMatrix
());
m_cbs
->
modelViewMatrix
()
*=
m
;
m_cbs
->
modelViewMatrix
()
*=
m
;
matrix_to_quat
(
m_cbs
->
curquat
(),
m_cbs
->
modelViewMatrix
());
...
...
@@ -160,10 +157,9 @@ void GLWidget::changeCenterOfRotation(const glm::vec3& newCenter)
oglPopModelViewMatrix
();
m_obj_pos
=
glm
::
vec3
(
-
newCenter
[
0
],
-
newCenter
[
1
],
-
newCenter
[
2
]);
m_obj_pos
=
glm
::
vec3
(
-
newCenter
[
0
],
-
newCenter
[
1
],
-
newCenter
[
2
]);
}
void
GLWidget
::
initializeGL
()
{
glEnable
(
GL_DEPTH_TEST
);
...
...
@@ -240,11 +236,10 @@ void GLWidget::mouseDoubleClickEvent(QMouseEvent* event)
}
}
void
GLWidget
::
mouseMoveEvent
(
QMouseEvent
*
event
)
{
// move object only if no special keys pressed
if
(
!
(
m_state_modifier
&
(
Qt
::
ShiftModifier
|
Qt
::
ControlModifier
|
Qt
::
AltModifier
|
Qt
::
MetaModifier
)))
if
(
!
(
m_state_modifier
&
(
Qt
::
ShiftModifier
|
Qt
::
ControlModifier
|
Qt
::
AltModifier
|
Qt
::
MetaModifier
)))
{
int
x
=
event
->
x
();
int
y
=
event
->
y
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment