proj home

Files   Classes   Functions   Hierarchy  

d4minoperator.h

Go to the documentation of this file.
00001 #ifndef D4MINOPERATOR_H
00002 #define D4MINOPERATOR_H
00003 
00004 typedef unsigned int uint;
00005 typedef unsigned int const uintc;
00006 
00007 class d4tess;
00008 
00009 class d4minoperator
00010 {
00011 public:
00012 
00013   d4tess & tess;
00014 
00015   d4minoperator(d4tess & _tess);
00016   virtual ~d4minoperator() {}
00017 
00018   // If the tessellation is changed return true.
00019   //   a and b are generally neighbouring tetrahedrons
00020   virtual bool const eval(uintc a, uintc b)
00021     { return false; }
00022 
00023   
00024   // Iterate around all faces except index evaluating until
00025   //   a successful eval(a,i) or no more faces. 
00026   //   I consider this operator a mathematical complement to eval.
00027   //   Let eval be operator M then let this be operator M'.
00028   bool const evalInvert(uintc a, uintc index);
00029 
00030   bool const twotetrahedronMInvert
00031   (
00032     uintc a, 
00033     uintc ai, 
00034     uintc b, 
00035     uintc bi
00036   );
00037 
00038 
00039    
00040 
00041 /*
00042   // Are tetrahedrons a and b connected?
00043   // ai and bi are local indexes to B and A respectively.
00044   bool const isconnected
00045   (
00046     uint & ai, 
00047     uint & bi,
00048     uintc a,
00049     uintc b
00050   ) const;  
00051 
00052   // Do the two adjacent tetrahedrons joined form a convex shape?
00053   bool const isconvex( uintc a, uintc b ) const;
00054 */
00055 
00056 protected:
00057 
00058   // A small fraction used in approximatelyequal function.
00059   //   ie set this ratio to a small fraction.
00060   static double delta;
00061 
00062   // Are a and b approximately equal in magnitude?
00063   bool const approximatelyequal
00064   (
00065     double const a, 
00066     double const b
00067   );
00068 
00069 };
00070 
00071 
00072 
00073 
00074 #endif
00075 

Generated on Fri Mar 4 00:49:31 2011 for Chelton Evans Source by  doxygen 1.5.8