Skip to content
Snippets Groups Projects
Select Git revision
  • 19bbbe2de922ac084f07c6e400a59190112dde5e
  • master default protected
  • rgpu
  • oras_vs_osm
  • refactor_coupled
  • lumi-stable
  • fix-compile-without-mpi
  • clean_multirhs
  • oras_comp
  • hpddm_integration
  • blockProduct
  • multiSrcs
  • splitPrePro
  • reuseGCR
  • helmholtz_2d_ddm
  • fix-template-instanciantion-clang-macos
  • customSchwarz
  • hp-convergence-test
  • fix_krylov
  • solverCorrection
  • boris-martin-master-patch-52103
  • gmshddm_1_0_0
22 results

Subproblem3D.h

Blame
  • drawContext.h 2.04 KiB
    #ifndef _DRAW_GMODEL_H_
    #define _DRAW_GMODEL_H_
    
    #ifndef __cplusplus
    #error You need a Cpp compiler!
    #endif
    
    #if !defined(BUILD_ANDROID)
    #define BUILD_IOS 1
    #endif
    
    #include <string>
    
    #if defined(BUILD_IOS)
    #include <Gmsh/PView.h>
    #include <Gmsh/PViewOptions.h>
    #include <Gmsh/Context.h>
    #endif
    
    #include "movePosition.h"
    
    class drawContext{
    private:
      float _translate[3], _scale[3]; // current translation and scale
      double _rotate[16]; // current rotation matrix (double for Trackball)
      float _rotatef[16]; // current rotation matrix (float for OpenGL ES)
      double _quaternion[4]; // current quaternion used for rotation
      movePosition _start, _previous, _current; // store informations about user interactions
      int _width, _height; // size of OpenGL context in pixel
      float _left, _right, _top, _bottom, _far; // value of "border"
      float _fontFactor;
      bool _retina; // retina display
    
      void OrthofFromGModel(void);
      void drawPView(PView *p);
      void drawVectorArray(PViewOptions *opt, VertexArray *va);
    public:
      drawContext(float fontFactor=1., bool retina=false);
      ~drawContext(){}
      void load(std::string filename);
      void eventHandler(int event, float x=0, float y=0);
      void setQuaternion(double q0, double q1, double q2, double q3);
      void addQuaternion(double p1x, double p1y, double p2x, double p2y);
      void buildRotationMatrix();
      void setTranslate(int i, float t) {if(i>=0 && i<3) _translate[i] = t;}
      float getTranslate(int i) {if(i>=0 && i<3) return _translate[i]; return 0;}
      void setScale(int i, float s) {if(i>=0 && i<3) _scale[i] = s;}
      float getScale(int i) {if(i>=0 && i<3) return _scale[i]; return 0;}
      void initView(int w, int h);
      void drawView();
      void drawAxes(float x0=0., float y0=0., float z0=0., float h=0.5);
      void drawGeom();
      void drawMesh();
      void drawPost();
      void drawScale();
    };
    
    void drawArray(VertexArray *va, int type, bool useColorArray=false,
                   bool useNormalArray=false);
    int onelab_cb(std::string);
    int animation_next();
    int animation_prev();
    int number_of_animation();
    void set_animation(int step);
    
    #endif