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);
87SphereShape::radius(
double r)
93inline const SCVector3&
94SphereShape::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,
virtual void obsolete()
Marks all results as being out of date.
static std::ostream & out0()
Return an ostream that writes from node 0.
int gradient_implemented() const
int gradient_implemented() const
A template class that maintains references counts.
Definition ref.h:361
a 3-element version of SCVector
Definition vector3.h:44
A Shape is a Volume represents an 3D solid.
Definition shape.h:44
int value_implemented() const
void compute()
Recompute at least the results that have compute true and are not already computed.
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
int gradient_implemented() const
int gradient_implemented() const
void print(std::ostream &o=ExEnv::out0()) const
Print information about the object.
int gradient_implemented() const
A UnionShape is volume enclosed by a set of Shape's.
Definition shape.h:226
int gradient_implemented() const
A Volume is a Function of three variables.
Definition volume.h:38
Contains all MPQC code up to version 3.
Definition mpqcin.h:14