diff --git a/include/Algo/Render/map_glRender.h b/include/Algo/Render/map_glRender.h index 1eda75e8e3f5fddea98cdd1df3797dee2895f08f..18cb002f1cb5f17b73b3948f3d2e56efb8f24009 100644 --- a/include/Algo/Render/map_glRender.h +++ b/include/Algo/Render/map_glRender.h @@ -71,7 +71,7 @@ void renderNormalVertices(typename PFP::MAP& the_map, template void renderFrameVertices(typename PFP::MAP& the_map, - const typename PFP::TVEC3& position, const typename PFP::TMAT33& frames, float scale, const FunctorSelect& good = SelectorTrue()); + const typename PFP::TVEC3& position, const typename PFP::TVEC3 frame[3], float scale, const FunctorSelect& good = SelectorTrue()); } // namespace Direct diff --git a/include/Algo/Render/map_glRender.hpp b/include/Algo/Render/map_glRender.hpp index 409acc9fccf34923f6e311ab5914584c211d390f..cb0145211a0ccc954e25f83bcad9fd0ef092cf4e 100644 --- a/include/Algo/Render/map_glRender.hpp +++ b/include/Algo/Render/map_glRender.hpp @@ -183,7 +183,7 @@ void renderNormalVertices(typename PFP::MAP& the_map, const typename PFP::TVEC3& } template -void renderFrameVertices(typename PFP::MAP& the_map, const typename PFP::TVEC3& position, const typename PFP::TMAT33& frame, float scale, const FunctorSelect& good) +void renderFrameVertices(typename PFP::MAP& the_map, const typename PFP::TVEC3& position, const typename PFP::TVEC3 frame[3], float scale, const FunctorSelect& good) { FunctorGLFrame fgl_frame(the_map, good, position, frame, scale) ; diff --git a/include/Algo/Render/renderFunctor.h b/include/Algo/Render/renderFunctor.h index 702c15f035792ccce8d80d6207d5284694f2fdd3..b1a5e0c18076dc8820e2182f1e0ee82f19e71e1e 100644 --- a/include/Algo/Render/renderFunctor.h +++ b/include/Algo/Render/renderFunctor.h @@ -255,7 +255,7 @@ protected: /** * frame of vertices */ - const typename PFP::TMAT33& m_frames; + const typename PFP::TVEC3 *m_frames; /** * Dart selector to restrict the rendering @@ -269,7 +269,7 @@ public: * @param good dart selector */ - FunctorGLFrame (MAP& map, const FunctorSelect& good, const typename PFP::TVEC3& posi, const typename PFP::TMAT33& frames, float scale); + FunctorGLFrame (MAP& map, const FunctorSelect& good, const typename PFP::TVEC3& posi, const typename PFP::TVEC3 frames[3], float scale); bool operator() (Dart d); }; diff --git a/include/Algo/Render/renderFunctor.hpp b/include/Algo/Render/renderFunctor.hpp index 0aa4e3eb559d2b4381565f710691db64e61748ee..a96e68797817fd87fc116b2834916c936998cb68 100644 --- a/include/Algo/Render/renderFunctor.hpp +++ b/include/Algo/Render/renderFunctor.hpp @@ -362,7 +362,7 @@ bool FunctorGLNormal::operator() (Dart d) } template -FunctorGLFrame::FunctorGLFrame(MAP& map, const FunctorSelect& good, const typename PFP::TVEC3& posi, const typename PFP::TMAT33& frames, float scale): +FunctorGLFrame::FunctorGLFrame(MAP& map, const FunctorSelect& good, const typename PFP::TVEC3& posi, const typename PFP::TVEC3 frames[3], float scale): FunctorMap(map), m_positions(posi), m_frames(frames), @@ -379,10 +379,9 @@ bool FunctorGLFrame::operator() (Dart d) typename PFP::VEC3 p = m_positions[d] ; for (unsigned int i = 0 ; i < 3 ; ++i) { glVertex3fv(p.data()); - typename PFP::VEC3 q,vec ; - m_frames[d].getSubVectorH(i,0,vec) ; + typename PFP::VEC3 q ; q = p ; - q += m_scale * vec ; + q += m_scale * m_frames[i][d] ; glVertex3fv(q.data()); } }