Branch data Line data Source code
1 : : /*
2 : : * SizingFunctionVar.cpp
3 : : *
4 : : * Created on: Jun 24, 2011
5 : : * Author: iulian
6 : : */
7 : :
8 : : #include "meshkit/SizingFunctionVar.hpp"
9 : :
10 : : namespace MeshKit {
11 : :
12 : 4 : SizingFunctionVar::SizingFunctionVar(MKCore *mkcore, int num_int, double int_size):
13 : 4 : SizingFunction(mkcore, num_int, int_size)
14 : : {
15 : : // TODO Auto-generated constructor stub
16 : :
17 : 4 : }
18 : :
19 : 5 : SizingFunctionVar::~SizingFunctionVar()
20 : : {
21 : : // TODO Auto-generated destructor stub
22 [ - + ]: 3 : }
23 : :
24 : 4 : void SizingFunctionVar::set_linear_coeff(double * fixedPoint, double * coeff)
25 : : {
26 : 4 : fixed[0] = fixedPoint[0];
27 : 4 : fixed[1] = fixedPoint[1];
28 : 4 : fixed[2] = fixedPoint[2];
29 : 4 : a = coeff[0]; b= coeff[1]; c=coeff[2]; d = coeff[3];
30 : 4 : }
31 : :
32 : : // another version, easier to pythonize
33 : : // this is just because I don't understand swig
34 : 0 : void SizingFunctionVar::set_coeff(double x0, double y0, double z0, double a1,
35 : : double b1, double c1, double d1)
36 : : {
37 : 0 : fixed[0] = x0;
38 : 0 : fixed[1] = y0;
39 : 0 : fixed[2] = z0;
40 : 0 : a = a1; b= b1; c=c1; d = d1;
41 : 0 : }
42 : :
43 : 4054 : double SizingFunctionVar::size(double *xyz ) const
44 : : {
45 : 4054 : double sz = d;
46 [ + + ]: 4054 : if (xyz)
47 : : {
48 : 4009 : sz = sz+(xyz[0]-fixed[0])*a + (xyz[1]-fixed[1])*b + (xyz[2]-fixed[2])*c ;
49 : : }
50 : 4054 : return sz;
51 : : }
52 [ + - ][ + - ]: 16 : }
|