diff --git a/contrib/mobile/CMakeLists.txt b/contrib/mobile/CMakeLists.txt index f37e434cdbc4cc707b8af8f44759701bf4778fe1..e56cf87d684aff2882e562055a90630806a20087 100644 --- a/contrib/mobile/CMakeLists.txt +++ b/contrib/mobile/CMakeLists.txt @@ -59,9 +59,8 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) add_custom_target(xcodeProject cd ${CMAKE_CURRENT_SOURCE_DIR}/utils/ && ${CMAKE_CURRENT_SOURCE_DIR}/utils/make_icon_ios.sh COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/ - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/utils/ios.iconset/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Default-568h@2x.png ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Default-568h@2x.png - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/utils/ios.iconset/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/iOS/Onelab.xcodeproj/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab.xcodeproj/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.cpp ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/drawContext.h ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/ @@ -82,7 +81,7 @@ if(ENABLE_BUILD_IOS_EMULATOR OR ENABLE_BUILD_IOS) COMMAND ${CMAKE_COMMAND} -E copy ${PETSC_FRAMEWORK}/petsc ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/ ) copy_headers(${GETDP_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/GetDP.framework/Headers/) - copy_headers(${GMSH_FRAMEWORK}/Headers/gmsh/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/) + copy_headers(${GMSH_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/Gmsh.framework/Headers/) copy_headers(${PETSC_FRAMEWORK}/Headers/ ${CMAKE_CURRENT_BINARY_DIR}/Onelab/Onelab/frameworks/petsc.framework/Headers/) message(STATUS "") diff --git a/contrib/mobile/drawContext.cpp b/contrib/mobile/drawContext.cpp index d60ff05f8bbe7536888f74957a49ac4e8eb25078..1432160c5c1cf0bccb858ca5083246bb705a2484 100644 --- a/contrib/mobile/drawContext.cpp +++ b/contrib/mobile/drawContext.cpp @@ -378,8 +378,8 @@ void drawContext::drawScale() double xmin = this->_left + (this->_right - this->_left -width)/2.; double ymin = this->_bottom + height + 2*height*nPview; - GLfloat *vertex = (GLfloat *)malloc(opt->nbIso*3*4*sizeof(GLfloat)); - GLubyte *color = (GLubyte *)malloc(opt->nbIso*4*4*sizeof(GLubyte)); + std::vector<GLfloat> vertex(opt->nbIso*3*4); + std::vector<GLubyte> color(opt->nbIso*4*4); for(int i = 0; i < opt->nbIso; i++){ if(opt->intervalsType == PViewOptions::Discrete || opt->intervalsType == PViewOptions::Numeric) { @@ -451,9 +451,9 @@ void drawContext::drawScale() } } - glVertexPointer(3, GL_FLOAT, 0, vertex); + glVertexPointer(3, GL_FLOAT, 0, &vertex[0]); glEnableClientState(GL_VERTEX_ARRAY); - glColorPointer(4, GL_UNSIGNED_BYTE, 0, color); + glColorPointer(4, GL_UNSIGNED_BYTE, 0, &color[0]); glEnableClientState(GL_COLOR_ARRAY); if(opt->intervalsType == PViewOptions::Discrete || opt->intervalsType == PViewOptions::Numeric || opt->intervalsType == PViewOptions::Continuous) glDrawArrays(GL_TRIANGLE_STRIP, 0, opt->nbIso*4); @@ -461,20 +461,17 @@ void drawContext::drawScale() glDrawArrays(GL_LINES, 0, opt->nbIso*4); glDisableClientState(GL_COLOR_ARRAY); glDisableClientState(GL_VERTEX_ARRAY); - free(vertex); - free(color); char label[1024]; - drawString *lbl = new drawString(p->getData()->getName().c_str(), 20); - lbl->draw(xmin+width/2, ymin-height/2, 0., _width/(_right-_left), _height/(_top-_bottom)); - drawString *val = new drawString(p->getData()->getName().c_str(), 14); + drawString lbl(p->getData()->getName().c_str(), 20); + lbl.draw(xmin+width/2, ymin-height/2, 0., _width/(_right-_left), _height/(_top-_bottom)); + drawString val(p->getData()->getName().c_str(), 14); for(int i = 0; i < 3; i++) { double v = opt->getScaleValue(i, 3, opt->tmpMin, opt->tmpMax); sprintf(label, opt->format.c_str(), v); - val->setText(label); - val->draw(xmin+i*width/2, ymin+height/2, 0., _width/(_right-_left), _height/(_top-_bottom)); + val.setText(label); + val.draw(xmin+i*width/2, ymin+height/2, 0., _width/(_right-_left), _height/(_top-_bottom)); } - nPview++; } glPopMatrix(); @@ -522,12 +519,12 @@ void drawContext::drawAxes(float x0, float y0, float z0, float h) glDrawArrays(GL_LINES, 0, 6); glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_COLOR_ARRAY); - drawString *x = new drawString("X", 16,colors); - x->draw(x0+h, y0, z0, _width/(_right-_left), _height/(_top-_bottom)); - drawString *y = new drawString("Y", 16,colors+8); - y->draw(x0, y0+h, z0, _width/(_right-_left), _height/(_top-_bottom)); - drawString *z = new drawString("Z", 16,colors+16); - z->draw(x0, y0, z0+h, _width/(_right-_left), _height/(_top-_bottom)); + drawString x ("X", 16,colors); + x.draw(x0+h, y0, z0, _width/(_right-_left), _height/(_top-_bottom)); + drawString y("Y", 16,colors+8); + y.draw(x0, y0+h, z0, _width/(_right-_left), _height/(_top-_bottom)); + drawString z("Z", 16,colors+16); + z.draw(x0, y0, z0+h, _width/(_right-_left), _height/(_top-_bottom)); glPopMatrix(); glLineWidth(1); } diff --git a/contrib/mobile/drawGeom.cpp b/contrib/mobile/drawGeom.cpp index a6780043c4b9412b223fc2bc71016d8fe65144ae..fda9d776c426091abad6def9a2c78efc4b10fe41 100644 --- a/contrib/mobile/drawGeom.cpp +++ b/contrib/mobile/drawGeom.cpp @@ -59,8 +59,7 @@ void drawGeomEdge(GEdge *e) double t_max = t_bounds.high(); // Create a VA for this edge - GLfloat *edge = (GLfloat *) malloc(N*3*sizeof(GLfloat)); - + std::vector<GLfloat> edge(N*3); for(unsigned int i=0; i < N; i++) { double t = t_min + (double)i / (double)(N-1) * (t_max - t_min); GPoint p = e->point(t); @@ -68,13 +67,12 @@ void drawGeomEdge(GEdge *e) } // Then print the VA glLineWidth((GLfloat)CTX::instance()->geom.lineWidth); - glVertexPointer(3, GL_FLOAT, 0, edge); + glVertexPointer(3, GL_FLOAT, 0, &edge[0]); glEnableClientState(GL_VERTEX_ARRAY); glEnable(GL_LINE_SMOOTH); glDrawArrays(GL_LINE_STRIP, 0, N); glDisable(GL_LINE_SMOOTH); glDisableClientState(GL_VERTEX_ARRAY); - free(edge); } void drawGeomFace(GFace *f) { diff --git a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj index 7b96b3e70db3c0a11bc2f3f03619363cd39f3b26..5927b95050102376c012770bc50853d78f1e5185 100644 --- a/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj +++ b/contrib/mobile/iOS/Onelab.xcodeproj/project.pbxproj @@ -18,7 +18,6 @@ 9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928626180D217A00AAABD4 /* icon_app_iphone_61.png */; }; 9C92862E180D217B00AAABD4 /* icon_app_iphone_retina_61.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928627180D217A00AAABD4 /* icon_app_iphone_retina_61.png */; }; 9C92862F180D217B00AAABD4 /* icon_app_iphone_retina.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928628180D217B00AAABD4 /* icon_app_iphone_retina.png */; }; - 9C928633180D297C00AAABD4 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C928632180D297C00AAABD4 /* Default-568h@2x.png */; }; 9C95B7F61726C88E00C0CCE2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9C95B7F51726C88E00C0CCE2 /* main.mm */; }; 9C96083B1712C16300E1D4A0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083A1712C16300E1D4A0 /* UIKit.framework */; }; 9C96083D1712C16300E1D4A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C96083C1712C16300E1D4A0 /* Foundation.framework */; }; @@ -304,7 +303,6 @@ buildActionMask = 2147483647; files = ( 9C9608AC1712EF0900E1D4A0 /* iPadStoryboard.storyboard in Resources */, - 9C928633180D297C00AAABD4 /* Default-568h@2x.png in Resources */, 9CC85C021790286C00F241C4 /* files in Resources */, 9C92862D180D217B00AAABD4 /* icon_app_iphone_61.png in Resources */, 9C92862A180D217B00AAABD4 /* icon_app_ipad_retina_61.png in Resources */, diff --git a/contrib/mobile/utils/make_icon_ios.sh b/contrib/mobile/utils/make_icon_ios.sh index e394b63a85cd014505ade420ae34336113a4eb07..e772101d32e39cd1b5ff6e8e786deeb2ac1517fc 100755 --- a/contrib/mobile/utils/make_icon_ios.sh +++ b/contrib/mobile/utils/make_icon_ios.sh @@ -1,6 +1,6 @@ #!/bin/sh -mkdir ios.iconset +mkdir -p ios.iconset # App icons (iPad) convert -scale 152 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad_retina.png convert -scale 76 ../../../utils/icons/gmsh_1024x1024.png ios.iconset/icon_app_ipad.png