Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

SpatialSearch.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *cr                                                                       
00003  *cr            (C) Copyright 1995-2019 The Board of Trustees of the           
00004  *cr                        University of Illinois                       
00005  *cr                         All Rights Reserved                        
00006  *cr                                                                   
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  * RCS INFORMATION:
00011  *
00012  *      $RCSfile: SpatialSearch.h,v $
00013  *      $Author: johns $        $Locker:  $             $State: Exp $
00014  *      $Revision: 1.7 $        $Date: 2019/01/17 21:21:01 $
00015  *
00016  ***************************************************************************
00017  * DESCRIPTION:
00018  *
00019  * Distance based bond search code 
00020  *
00021  ***************************************************************************/
00022 #ifndef SPATIALSEARCH_H__
00023 #define SPATIALSEARCH_H__
00024 
00025 #include "ResizeArray.h"
00026 
00037 struct GridSearchPair {
00038   int ind1, ind2;
00039   GridSearchPair *next;
00040 };
00041 
00042 
00052 struct GridSearchPairlist {
00053   ResizeArray<int> *pairlist;
00054   GridSearchPairlist *next;
00055 };
00056 
00058 int make_neighborlist(int **nbrlist, int xb, int yb, int zb);
00059 
00063 GridSearchPair *vmd_gridsearch1(const float *pos, int n, const int *on, 
00064                                 float dist, int allow_double_counting, 
00065                                 int maxpairs);
00066 
00073 GridSearchPair *vmd_gridsearch2(const float *pos, int natoms, const int *A, 
00074                                 const int *B, float pairdist, int maxpairs);
00075 
00082 GridSearchPair *vmd_gridsearch3(const float *posA, int natomsA, const int *A, 
00083                                 const float *posB,int natomsB, const int *B,
00084                                 float pairdist, int allow_double_counting, 
00085                                 int maxpairs);
00086 
00088 void find_minmax_all(const float *pos, int n, float *min, float *max);
00089 
00090 
00093 int find_minmax_selected(int n, const int *flgs, const float *pos,
00094                          float &_xmin, float &_ymin, float &_zmin,
00095                          float &_xmax, float &_ymax, float &_zmax);
00096 
00097 
00099 void find_minmax(const float *pos, int n, const int *on,
00100                  float *min, float *max, int *oncount);
00101 
00102 
00104 void find_within(const float *xyz, int *flgs, const int *others,
00105                  int num, float r);
00106 
00107 #endif

Generated on Thu Mar 28 02:44:11 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002