28 #ifndef _math_isosurf_shape_h
29 #define _math_isosurf_shape_h
33 #include <math/isosurf/volume.h>
34 #include <math/scmat/matrix.h>
35 #include <math/scmat/vector3.h>
48 virtual double distance_to_surface(
const SCVector3&r,
50 virtual int is_outside(
const SCVector3&r)
const;
72 void boundingbox(
double minvalue,
double maxvalue,
74 double radius()
const {
return _radius; }
75 const SCVector3& origin()
const {
return _origin; }
80 double radius(
double r);
87 SphereShape::radius(
double r)
93 inline const SCVector3&
94 SphereShape::origin(
const SCVector3& o)
108 void in_plane_sphere(
const SCVector3& point,
113 newUncappedTorusHoleShape(
double r,
117 inline const SphereShape& sphere(
int i)
const {
return (i?_s2:_s1); };
120 inline double radius()
const {
return _r; };
122 void boundingbox(
double valuemin,
double valuemax,
165 int _solution_exists;
172 double BDxCDdotAD[2];
174 double CDxADdotBD[2];
176 double ADxBDdotCD[2];
188 double theta_intersect;
204 newUncapped5SphereExclusionShape(
double r,
212 inline double rA()
const {
return _s1.radius(); };
213 inline double rB()
const {
return _s2.radius(); };
214 inline double rC()
const {
return _s3.radius(); };
215 inline double r()
const {
return _r; };
216 inline int solution_exists()
const {
return _solution_exists; };
219 void boundingbox(
double valuemin,
double valuemax,
228 std::set<Ref<Shape> > _shapes;
235 void boundingbox(
double valuemin,
double valuemax,
A Shape is a Volume represents an 3D solid.
Definition: shape.h:44
int gradient_implemented() const
void compute()
Recompute at least the results that have compute true and are not already computed.
A template class that maintains references counts.
Definition: ref.h:361
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
int value_implemented() const
int gradient_implemented() const
virtual void obsolete()
Marks all results as being out of date.
A UnionShape is volume enclosed by a set of Shape's.
Definition: shape.h:226
A Volume is a Function of three variables.
Definition: volume.h:38
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
int gradient_implemented() const
a 3-element version of SCVector
Definition: vector3.h:43
static std::ostream & out0()
Return an ostream that writes from node 0.
int gradient_implemented() const
int gradient_implemented() const
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
int gradient_implemented() const
Generated at Sun Jan 26 2020 23:24:00 for MPQC
3.0.0-alpha using the documentation package Doxygen
1.8.16.