00001 00006 #ifndef __IMPLICITSPHERE__H__ 00007 #define __IMPLICITSPHERE__H__ 00008 00009 #include <maya/MPoint.h> 00010 #include <maya/MTransformationMatrix.h> 00011 #include <maya/MString.h> 00012 #include <maya/MDistance.h> 00013 #include <maya/MMatrix.h> 00014 #include <maya/MQuaternion.h> 00015 #include <maya/MVector.h> 00016 #include <maya/MGlobal.h> 00017 00018 #include "ImplicitFunction.h" 00019 00021 00031 class ImplicitSphere : public ImplicitFunction 00032 { 00033 public: 00035 00049 ImplicitSphere(MDistance r, float w, MPoint c); 00050 00052 00055 virtual ~ImplicitSphere() {}; 00056 00058 00073 virtual float implicitValue(MPoint p); 00074 00076 00085 virtual void applyMatrix(MTransformationMatrix matrix); 00086 00088 00096 virtual void applyRadiusWeight(MDistance r, float w); 00097 00099 00107 virtual bool testInfluance(MPoint p); 00108 00110 00113 MDistance radius; 00114 00116 00119 MPoint center; 00120 00122 00125 double a; 00126 00128 00131 double b; 00132 00134 00137 double z; 00138 00139 }; 00140 00141 #endif