diff --git a/README.TXT b/README.TXT index 458b171e77e2d7cebbe53205c7668f13606bf04d..9bd4d6737947c18ee2f57b4510ea46285d8ae438 100644 --- a/README.TXT +++ b/README.TXT @@ -1,10 +1,6 @@ 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: diff --git a/include/Topology/generic/genericmap.h b/include/Topology/generic/genericmap.h index a7adb695c4aca94febd803632d06949a01af36c6..ae258eae32e201d193fffbb179800c164d6ddfac 100644 --- a/include/Topology/generic/genericmap.h +++ b/include/Topology/generic/genericmap.h @@ -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"); diff --git a/include/Topology/generic/marker.h b/include/Topology/generic/marker.h index b36f3bfddba373f416a5299660ab166de8cdb565..6e8d70c46d430851b4cb893b8a6f5699c2ccf2da 100644 --- a/include/Topology/generic/marker.h +++ b/include/Topology/generic/marker.h @@ -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 diff --git a/src/Topology/generic/genericmap.cpp b/src/Topology/generic/genericmap.cpp index 0bd4825c9346db27b6f03904ce9a7ef091cc1485..b7c2b0d31a425d9a36bf74c12309864fb2a057d5 100644 --- a/src/Topology/generic/genericmap.cpp +++ b/src/Topology/generic/genericmap.cpp @@ -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"); } diff --git a/src/Utils/qtgl.cpp b/src/Utils/qtgl.cpp index f86968a2de53cefd28862c3c0efc666f69b2d537..ad1a011ed214c706dba3ddb60cd53faa747ff475 100644 --- a/src/Utils/qtgl.cpp +++ b/src/Utils/qtgl.cpp @@ -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.0f); + m_cbs->modelViewMatrix() = glm::mat4(1.0f); // 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.0f/m_obj_sc, 1.0f/m_obj_sc, 1.0f/m_obj_sc); + oglScale(1.0f / m_obj_sc, 1.0f / m_obj_sc, 1.0f / 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();