LCOV - code coverage report
Current view: top level - core/meshkit - SizingFunctionVar.hpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 1 1 100.0 %
Date: 2020-07-01 15:24:36 Functions: 1 1 100.0 %
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  * SizingFunctionVar.hpp
       3                 :            :  *
       4                 :            :  *  Created on: Jun 24, 2011
       5                 :            :  *      Author: iulian
       6                 :            :  */
       7                 :            : 
       8                 :            : #ifndef SIZINGFUNCTIONVAR_HPP_
       9                 :            : #define SIZINGFUNCTIONVAR_HPP_
      10                 :            : 
      11                 :            : #include "meshkit/SizingFunction.hpp"
      12                 :            : 
      13                 :            : namespace MeshKit {
      14                 :            : 
      15                 :            : class SizingFunctionVar: public MeshKit::SizingFunction
      16                 :            : {
      17                 :            : public:
      18                 :            :   SizingFunctionVar(MKCore *mkcore, int num_int = -1, double int_size = -1.0);
      19                 :            :   virtual ~SizingFunctionVar();
      20                 :            : 
      21                 :            :   // the function would be something like
      22                 :            :   //  a(x-x0)+b(y-y0)+c(z-z0)+d
      23                 :            :   // at fixed point, the mesh size returned would be d
      24                 :            :   // these should be either read from a file, or
      25                 :            :   // passed as arguments to the test / usage scenario
      26                 :            :   void set_linear_coeff(double * fixedPoint, double * coeff);
      27                 :            : 
      28                 :            :   // another version, easier to pythonize
      29                 :            :   void set_coeff(double x0, double y0, double c0, double a,
      30                 :            :       double b, double c, double d);
      31                 :            : 
      32                 :            :   virtual double size(double *xyz = NULL) const;
      33                 :            :   // will be used by edge meshers to decide are we or not variables
      34                 :            :   // use a different edge mesh strategy then (different enum)
      35                 :         44 :   virtual bool variable() {return true;}
      36                 :            : 
      37                 :            : private:
      38                 :            :   double a, b, c, d;
      39                 :            :   double fixed[3];
      40                 :            : 
      41                 :            : };
      42                 :            : 
      43                 :            : }
      44                 :            : 
      45                 :            : #endif /* SIZINGFUNCTIONVAR_HPP_ */

Generated by: LCOV version 1.11