MeshKit  1.0
CAMALSizeEval.hpp
Go to the documentation of this file.
00001 #ifndef MESHKIT_CAMAL_SIZE_EVAL_HPP
00002 #define MESHKIT_CAMAL_SIZE_EVAL_HPP
00003 
00004 #include "CMLSizeEval.hpp"
00005 #include "meshkit/SizingFunction.hpp"
00006 namespace MeshKit 
00007 {
00008 
00012 class CAMALSizeEval : public ::CMLSizeEval
00013 {
00014 public:
00018   CAMALSizeEval(double size, SizingFunction * szf = NULL);
00019   
00022   virtual ~CAMALSizeEval();
00023   
00035   virtual bool size_at_point(double x, double y, double z, double& size, 
00036                              int level = -1);
00037 
00053   virtual bool stretch_vector(double loc_x, double loc_y, double loc_z,
00054                               double& vec_x, double& vec_y, double& vec_z);
00055 
00066   virtual bool tensor_at_point(double x, double y, double z, 
00067                                double*& size);
00068 
00079   virtual bool size_at_point(double u, double v, double& size, 
00080                              int level = -1);
00081 
00096   virtual bool stretch_vector(double loc_u, double loc_v,
00097                               double& vec_u, double& vec_v);
00098 
00108   virtual bool tensor_at_point(double u, double v, 
00109                                double*& size);
00110 
00120   virtual bool size_at_point(double u, double& size, 
00121                              int level = -1);
00122 
00126   virtual bool is_anisotropic();
00127 
00131   double get_size();
00132   
00136   void set_size(double mesh_size);
00137   
00138 private:
00139   double meshSize;
00140   SizingFunction * sizingFunc;
00141 };
00142 
00143 
00144 inline double CAMALSizeEval::get_size() 
00145 {
00146   return meshSize;
00147 }
00148 
00149 inline void CAMALSizeEval::set_size(double mesh_size)
00150 {
00151   meshSize = mesh_size;
00152 }
00153   
00154 } // namespace MeshKit
00155 
00156 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines