From a1e90a4d7318f464f54ec3fc0ab0aaed4965dc54 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Thu, 20 Mar 2014 21:26:50 +0000
Subject: [PATCH] extend search{Scalar,Vector,Tensor} API with element matching
 args

---
 Post/PViewData.cpp | 36 ++++++++++++++++++++++++------------
 Post/PViewData.h   | 18 ++++++++++++------
 2 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/Post/PViewData.cpp b/Post/PViewData.cpp
index d4ed4fd69b..768d88fbd2 100644
--- a/Post/PViewData.cpp
+++ b/Post/PViewData.cpp
@@ -188,43 +188,55 @@ bool PViewData::combineSpace(nameData &nd)
 }
 
 bool PViewData::searchScalar(double x, double y, double z, double *values,
-                             int step, double *size)
+                             int step, double *size, int qn,
+                             double *qx, double *qy, double *qz)
 {
   if(!_octree) _octree = new OctreePost(this);
-  return _octree->searchScalar(x, y, z, values, step, size);
+  return _octree->searchScalar(x, y, z, values, step, size,
+                               qn, qx, qy, qz);
 }
 
 bool PViewData::searchScalarWithTol(double x, double y, double z, double *values,
-                                    int step, double *size, double tol)
+                                    int step, double *size, double tol, int qn,
+                                    double *qx, double *qy, double *qz)
 {
   if(!_octree) _octree = new OctreePost(this);
-  return _octree->searchScalarWithTol(x, y, z, values, step, size, tol);
+  return _octree->searchScalarWithTol(x, y, z, values, step, size, tol,
+                                      qn, qx, qy, qz);
 }
 
 bool PViewData::searchVector(double x, double y, double z, double *values,
-                             int step, double *size)
+                             int step, double *size, int qn,
+                             double *qx, double *qy, double *qz)
 {
   if(!_octree) _octree = new OctreePost(this);
-  return _octree->searchVector(x, y, z, values, step, size);
+  return _octree->searchVector(x, y, z, values, step, size,
+                               qn, qx, qy, qz);
 }
 
 bool PViewData::searchVectorWithTol(double x, double y, double z, double *values,
-                                    int step, double *size, double tol)
+                                    int step, double *size, double tol, int qn,
+                                    double *qx, double *qy, double *qz)
 {
   if(!_octree) _octree = new OctreePost(this);
-  return _octree->searchVectorWithTol(x, y, z, values, step, size, tol);
+  return _octree->searchVectorWithTol(x, y, z, values, step, size, tol,
+                                      qn, qx, qy, qz);
 }
 
 bool PViewData::searchTensor(double x, double y, double z, double *values,
-                             int step, double *size)
+                             int step, double *size, int qn,
+                             double *qx, double *qy, double *qz)
 {
   if(!_octree) _octree = new OctreePost(this);
-  return _octree->searchTensor(x, y, z, values, step, size);
+  return _octree->searchTensor(x, y, z, values, step, size,
+                               qn, qx, qy, qz);
 }
 
 bool PViewData::searchTensorWithTol(double x, double y, double z, double *values,
-                                    int step, double *size, double tol)
+                                    int step, double *size, double tol, int qn,
+                                    double *qx, double *qy, double *qz)
 {
   if(!_octree) _octree = new OctreePost(this);
-  return _octree->searchTensorWithTol(x, y, z, values, step, size, tol);
+  return _octree->searchTensorWithTol(x, y, z, values, step, size, tol,
+                                      qn, qx, qy, qz);
 }
diff --git a/Post/PViewData.h b/Post/PViewData.h
index 5d82cd1e9c..f307446060 100644
--- a/Post/PViewData.h
+++ b/Post/PViewData.h
@@ -252,17 +252,23 @@ class PViewData {
   // time steps are present, they are all interpolated unless time step is set
   // to a different value than -1.
   bool searchScalar(double x, double y, double z, double *values,
-                    int step=-1, double *size=0);
+                    int step=-1, double *size=0, int qn=0,
+                    double *qx=0, double *qy=0, double *qz=0);
   bool searchScalarWithTol(double x, double y, double z, double *values,
-                           int step=-1, double *size=0, double tol=1.e-2);
+                           int step=-1, double *size=0, double tol=1.e-2, int qn=0,
+                           double *qx=0, double *qy=0, double *qz=0);
   bool searchVector(double x, double y, double z, double *values,
-                    int step=-1, double *size=0);
+                    int step=-1, double *size=0, int qn=0,
+                    double *qx=0, double *qy=0, double *qz=0);
   bool searchVectorWithTol(double x, double y, double z, double *values,
-                           int step=-1, double *size=0, double tol=1.e-2);
+                           int step=-1, double *size=0, double tol=1.e-2, int qn=0,
+                           double *qx=0, double *qy=0, double *qz=0);
   bool searchTensor(double x, double y, double z, double *values,
-                    int step=-1, double *size=0);
+                    int step=-1, double *size=0, int qn=0,
+                    double *qx=0, double *qy=0, double *qz=0);
   bool searchTensorWithTol(double x, double y, double z, double *values,
-                           int step=-1, double *size=0, double tol=1.e-2);
+                           int step=-1, double *size=0, double tol=1.e-2, int qn=0,
+                           double *qx=0, double *qy=0, double *qz=0);
 
   // I/O routines
   virtual bool writeSTL(const std::string &fileName);
-- 
GitLab