1 /* -*- c++ -*- ----------------------------------------------------------
2    LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
3    https://www.lammps.org/, Sandia National Laboratories
4    Steve Plimpton, sjplimp@sandia.gov
5 
6    Copyright (2003) Sandia Corporation.  Under the terms of Contract
7    DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
8    certain rights in this software.  This software is distributed under
9    the GNU General Public License.
10 
11    See the README file in the top-level LAMMPS directory.
12 ------------------------------------------------------------------------- */
13 
14 #ifdef REGION_CLASS
15 // clang-format off
16 RegionStyle(cone,RegCone);
17 // clang-format on
18 #else
19 
20 #ifndef LMP_REGION_CONE_H
21 #define LMP_REGION_CONE_H
22 
23 #include "region.h"
24 
25 namespace LAMMPS_NS {
26 
27 class RegCone : public Region {
28  public:
29   RegCone(class LAMMPS *, int, char **);
30   ~RegCone();
31   int inside(double, double, double);
32   int surface_interior(double *, double);
33   int surface_exterior(double *, double);
34 
35  private:
36   char axis;
37   double c1, c2;
38   double radiuslo, radiushi;
39   double lo, hi;
40   double maxradius;
41 
42   double closest(double *, double *, double *, double);
43 };
44 
45 }    // namespace LAMMPS_NS
46 
47 #endif
48 #endif
49 
50 /* ERROR/WARNING messages:
51 
52 E: Invalid region cone open setting
53 
54 UNDOCUMENTED
55 
56 E: Illegal ... command
57 
58 Self-explanatory.  Check the input script syntax and compare to the
59 documentation for the command.  You can use -echo screen as a
60 command-line option when running LAMMPS to see the offending line.
61 
62 E: Cannot use region INF or EDGE when box does not exist
63 
64 Regions that extend to the box boundaries can only be used after the
65 create_box command has been used.
66 
67 */
68