00001 #ifndef CTAUBINSMOOTHER_H 00002 #define CTAUBINSMOOTHER_H 00003 00004 #include <smoothers/CSmoother.h> 00005 00006 //============================================================================== 00011 class CTaubinSmoother : public CSmoother 00012 { 00013 protected : 00014 00016 double dFactor1; 00017 00019 double dFactor2; 00020 00022 int iIterations; 00023 00025 int iLayers; 00026 00027 public : 00028 00030 CTaubinSmoother( double factor1, double factor2, int iterations, int layers = 1 ); 00031 00033 virtual ~CTaubinSmoother(); 00034 00036 virtual bool smooth( CSmoothingMesh * mesh ); 00037 00039 bool smoothVertex( CSmoothingMesh * mesh, 00040 vctl::MCVertex * actual_vertex, 00041 vctl::MCPoint3D & smoothed_point, 00042 double smooth_factor); 00043 00044 }; 00045 00046 #endif // CTAUBINSMOOTHER_H