Skip to content
Snippets Groups Projects
Select Git revision
  • eaf92a706980022fc5f558e7088b61a18cdfb8c8
  • master default protected
  • patches-4.14
  • steplayer
  • bl
  • pluginMeshQuality
  • fixBugsAmaury
  • hierarchical-basis
  • alphashapes
  • relaying
  • new_export_boris
  • oras_vs_osm
  • reassign_partitions
  • distributed_fwi
  • rename-classes
  • fix/fortran-api-example-t4
  • robust_partitions
  • reducing_files
  • fix_overlaps
  • 3115-issue-fix
  • 3023-Fillet2D-Update
  • gmsh_4_14_0
  • gmsh_4_13_1
  • gmsh_4_13_0
  • gmsh_4_12_2
  • gmsh_4_12_1
  • gmsh_4_12_0
  • gmsh_4_11_1
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
41 results

OctreePost.h

Blame
  • OctreePost.h 3.04 KiB
    // Gmsh - Copyright (C) 1997-2019 C. Geuzaine, J.-F. Remacle
    //
    // See the LICENSE.txt file for license information. Please report all
    // issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
    
    #ifndef OCTREE_POST_H
    #define OCTREE_POST_H
    
    #include "Octree.h"
    
    class PView;
    class PViewData;
    class PViewDataList;
    class PViewDataGModel;
    
    class OctreePost {
    private:
      Octree *_sp, *_vp, *_tp;
      Octree *_sl, *_vl, *_tl;
      Octree *_st, *_vt, *_tt;
      Octree *_sq, *_vq, *_tq;
      Octree *_ss, *_vs, *_ts;
      Octree *_sh, *_vh, *_th;
      Octree *_si, *_vi, *_ti;
      Octree *_sy, *_vy, *_ty;
      PViewDataList *_theViewDataList;
      PViewDataGModel *_theViewDataGModel;
      void _create(PViewData *data);
      bool _getValue(void *in, int dim, int nbNod, int nbComp, double P[3],
                     int step, double *values, double *elementSize, bool grad);
      bool _getValue(void *in, int nbComp, double P[3], int step, double *values,
                     double *elementSize, bool grad);
    
    public:
      OctreePost(PView *v);
      OctreePost(PViewData *data);
      ~OctreePost();
      // search for the value of the View at point x, y, z. Values are interpolated
      // using standard first order shape functions in the post element. If several
      // time steps are present, they are all interpolated unless time step is set
      // to a different value than -1. If qn is given, n node coordinates stored in
      // qx/y/z are used to select which element is used to interpolate (if the
      // query returned more than one). If grad is true, return the component-wise
      // derivative (gradient) in xyz coordinates instead of the value.
      bool searchScalar(double x, double y, double z, double *values, int step = -1,
                        double *size = 0, int qn = 0, double *qx = 0,
                        double *qy = 0, double *qz = 0, bool grad = false);
      bool searchScalarWithTol(double x, double y, double z, double *values,
                               int step = -1, double *size = 0, double tol = 1.e-2,
                               int qn = 0, double *qx = 0, double *qy = 0,
                               double *qz = 0, bool grad = false);
      bool searchVector(double x, double y, double z, double *values, int step = -1,
                        double *size = 0, int qn = 0, double *qx = 0,
                        double *qy = 0, double *qz = 0, bool grad = false);
      bool searchVectorWithTol(double x, double y, double z, double *values,
                               int step = -1, double *size = 0, double tol = 1.e-2,
                               int qn = 0, double *qx = 0, double *qy = 0,
                               double *qz = 0, bool grad = false);
      bool searchTensor(double x, double y, double z, double *values, int step = -1,
                        double *size = 0, int qn = 0, double *qx = 0,
                        double *qy = 0, double *qz = 0, bool grad = false);
      bool searchTensorWithTol(double x, double y, double z, double *values,
                               int step = -1, double *size = 0, double tol = 1.e-2,
                               int qn = 0, double *qx = 0, double *qy = 0,
                               double *qz = 0, bool grad = false);
    };
    
    #endif