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

Complement.h

Go to the documentation of this file.
00001 /**
00002  * @file Complement.h
00003  * Represents the intersection of two implicit surfaces.
00004  * @author Steve Zelinka, Ed Bachta
00005  */
00006 
00007 #ifndef _COMPLEMENT_H
00008 #define _COMPLEMENT_H
00009 
00010 #include "UnaryOp.h"
00011 #include "Implicit/Algebraic/Algebraic.h"
00012 
00013 class Complement : public UnaryOp
00014 {
00015   public:
00016     /// Constructors
00017     Complement() { m_f = NULL; }
00018     Complement(Implicit *f) { m_f = f; }
00019 
00020 #ifndef INTERVAL_EVAL_ONLY
00021     virtual double proc(gmVector3 x);
00022     virtual gmVector3 grad(gmVector3 x);
00023     virtual gmMatrix3 hess(gmVector3 x);
00024 #endif
00025 
00026     virtual Intervald proc(Box<double>);
00027     virtual Box3d grad(Box<double>);
00028     virtual IMatrix3d hess(Box<double>);
00029 
00030     virtual void procq(gmVector3 p, double * q);
00031 
00032     MAKE_NAME();
00033 };
00034 
00035 #endif
00036 

Generated on Mon Jun 28 14:58:13 2004 for Advanced Surface Library by doxygen 1.3.4