7double b_0_basis_value_2d_single_0(
double x,
double y) {
15void b_0_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
16result_0.resize(uv.rows(), 1);
19 for (Eigen::Index i = 0; i < uv.rows(); ++i)
20 result_0(i, 0) = b_0_basis_value_2d_single_0(uv(i, 0), uv(i, 1));
22 default: assert(
false);
25void b_0_basis_grad_value_2d_single_0(
double x,
double y,
double *
val) {
32void b_0_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
33val.resize(uv.rows(), 2);
37 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
38 b_0_basis_grad_value_2d_single_0(uv(i, 0), uv(i, 1), gradient);
39 val(i, 0) = gradient[0];
40 val(i, 1) = gradient[1];
43 default: assert(
false);
48double b_1_basis_value_2d_single_0(
double x,
double y) {
54double b_1_basis_value_2d_single_1(
double x,
double y) {
60double b_1_basis_value_2d_single_2(
double x,
double y) {
68void b_1_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
69result_0.resize(uv.rows(), 1);
72 for (Eigen::Index i = 0; i < uv.rows(); ++i)
73 result_0(i, 0) = b_1_basis_value_2d_single_0(uv(i, 0), uv(i, 1));
76 for (Eigen::Index i = 0; i < uv.rows(); ++i)
77 result_0(i, 0) = b_1_basis_value_2d_single_1(uv(i, 0), uv(i, 1));
80 for (Eigen::Index i = 0; i < uv.rows(); ++i)
81 result_0(i, 0) = b_1_basis_value_2d_single_2(uv(i, 0), uv(i, 1));
83 default: assert(
false);
86void b_1_basis_grad_value_2d_single_0(
double x,
double y,
double *
val) {
91void b_1_basis_grad_value_2d_single_1(
double x,
double y,
double *
val) {
96void b_1_basis_grad_value_2d_single_2(
double x,
double y,
double *
val) {
103void b_1_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
104val.resize(uv.rows(), 2);
108 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
109 b_1_basis_grad_value_2d_single_0(uv(i, 0), uv(i, 1), gradient);
110 val(i, 0) = gradient[0];
111 val(i, 1) = gradient[1];
115 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
116 b_1_basis_grad_value_2d_single_1(uv(i, 0), uv(i, 1), gradient);
117 val(i, 0) = gradient[0];
118 val(i, 1) = gradient[1];
122 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
123 b_1_basis_grad_value_2d_single_2(uv(i, 0), uv(i, 1), gradient);
124 val(i, 0) = gradient[0];
125 val(i, 1) = gradient[1];
128 default: assert(
false);
133double b_2_basis_value_2d_single_0(
double x,
double y) {
135result = pow(
x +
y - 1, 2);
139double b_2_basis_value_2d_single_1(
double x,
double y) {
145double b_2_basis_value_2d_single_2(
double x,
double y) {
151double b_2_basis_value_2d_single_3(
double x,
double y) {
153result = -2*
x*(
x +
y - 1);
157double b_2_basis_value_2d_single_4(
double x,
double y) {
163double b_2_basis_value_2d_single_5(
double x,
double y) {
165result = -2*
y*(
x +
y - 1);
171void b_2_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
172result_0.resize(uv.rows(), 1);
175 for (Eigen::Index i = 0; i < uv.rows(); ++i)
176 result_0(i, 0) = b_2_basis_value_2d_single_0(uv(i, 0), uv(i, 1));
179 for (Eigen::Index i = 0; i < uv.rows(); ++i)
180 result_0(i, 0) = b_2_basis_value_2d_single_1(uv(i, 0), uv(i, 1));
183 for (Eigen::Index i = 0; i < uv.rows(); ++i)
184 result_0(i, 0) = b_2_basis_value_2d_single_2(uv(i, 0), uv(i, 1));
187 for (Eigen::Index i = 0; i < uv.rows(); ++i)
188 result_0(i, 0) = b_2_basis_value_2d_single_3(uv(i, 0), uv(i, 1));
191 for (Eigen::Index i = 0; i < uv.rows(); ++i)
192 result_0(i, 0) = b_2_basis_value_2d_single_4(uv(i, 0), uv(i, 1));
195 for (Eigen::Index i = 0; i < uv.rows(); ++i)
196 result_0(i, 0) = b_2_basis_value_2d_single_5(uv(i, 0), uv(i, 1));
198 default: assert(
false);
201void b_2_basis_grad_value_2d_single_0(
double x,
double y,
double *
val) {
202{
val[0] = 2*(
x +
y - 1);}
203{
val[1] = 2*(
x +
y - 1);}
206void b_2_basis_grad_value_2d_single_1(
double x,
double y,
double *
val) {
211void b_2_basis_grad_value_2d_single_2(
double x,
double y,
double *
val) {
216void b_2_basis_grad_value_2d_single_3(
double x,
double y,
double *
val) {
217{
val[0] = 2*(-2*
x -
y + 1);}
221void b_2_basis_grad_value_2d_single_4(
double x,
double y,
double *
val) {
226void b_2_basis_grad_value_2d_single_5(
double x,
double y,
double *
val) {
228{
val[1] = 2*(-
x - 2*
y + 1);}
233void b_2_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
234val.resize(uv.rows(), 2);
238 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
239 b_2_basis_grad_value_2d_single_0(uv(i, 0), uv(i, 1), gradient);
240 val(i, 0) = gradient[0];
241 val(i, 1) = gradient[1];
245 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
246 b_2_basis_grad_value_2d_single_1(uv(i, 0), uv(i, 1), gradient);
247 val(i, 0) = gradient[0];
248 val(i, 1) = gradient[1];
252 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
253 b_2_basis_grad_value_2d_single_2(uv(i, 0), uv(i, 1), gradient);
254 val(i, 0) = gradient[0];
255 val(i, 1) = gradient[1];
259 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
260 b_2_basis_grad_value_2d_single_3(uv(i, 0), uv(i, 1), gradient);
261 val(i, 0) = gradient[0];
262 val(i, 1) = gradient[1];
266 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
267 b_2_basis_grad_value_2d_single_4(uv(i, 0), uv(i, 1), gradient);
268 val(i, 0) = gradient[0];
269 val(i, 1) = gradient[1];
273 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
274 b_2_basis_grad_value_2d_single_5(uv(i, 0), uv(i, 1), gradient);
275 val(i, 0) = gradient[0];
276 val(i, 1) = gradient[1];
279 default: assert(
false);
284double b_3_basis_value_2d_single_0(
double x,
double y) {
286result = -pow(
x +
y - 1, 3);
290double b_3_basis_value_2d_single_1(
double x,
double y) {
296double b_3_basis_value_2d_single_2(
double x,
double y) {
302double b_3_basis_value_2d_single_3(
double x,
double y) {
304result = 3*
x*pow(
x +
y - 1, 2);
308double b_3_basis_value_2d_single_4(
double x,
double y) {
310result = -3*pow(
x, 2)*(
x +
y - 1);
314double b_3_basis_value_2d_single_5(
double x,
double y) {
316result = 3*pow(
x, 2)*
y;
320double b_3_basis_value_2d_single_6(
double x,
double y) {
322result = 3*
x*pow(
y, 2);
326double b_3_basis_value_2d_single_7(
double x,
double y) {
328result = -3*pow(
y, 2)*(
x +
y - 1);
332double b_3_basis_value_2d_single_8(
double x,
double y) {
334result = 3*
y*pow(
x +
y - 1, 2);
338double b_3_basis_value_2d_single_9(
double x,
double y) {
340result = -6*
x*
y*(
x +
y - 1);
346void b_3_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
347result_0.resize(uv.rows(), 1);
350 for (Eigen::Index i = 0; i < uv.rows(); ++i)
351 result_0(i, 0) = b_3_basis_value_2d_single_0(uv(i, 0), uv(i, 1));
354 for (Eigen::Index i = 0; i < uv.rows(); ++i)
355 result_0(i, 0) = b_3_basis_value_2d_single_1(uv(i, 0), uv(i, 1));
358 for (Eigen::Index i = 0; i < uv.rows(); ++i)
359 result_0(i, 0) = b_3_basis_value_2d_single_2(uv(i, 0), uv(i, 1));
362 for (Eigen::Index i = 0; i < uv.rows(); ++i)
363 result_0(i, 0) = b_3_basis_value_2d_single_3(uv(i, 0), uv(i, 1));
366 for (Eigen::Index i = 0; i < uv.rows(); ++i)
367 result_0(i, 0) = b_3_basis_value_2d_single_4(uv(i, 0), uv(i, 1));
370 for (Eigen::Index i = 0; i < uv.rows(); ++i)
371 result_0(i, 0) = b_3_basis_value_2d_single_5(uv(i, 0), uv(i, 1));
374 for (Eigen::Index i = 0; i < uv.rows(); ++i)
375 result_0(i, 0) = b_3_basis_value_2d_single_6(uv(i, 0), uv(i, 1));
378 for (Eigen::Index i = 0; i < uv.rows(); ++i)
379 result_0(i, 0) = b_3_basis_value_2d_single_7(uv(i, 0), uv(i, 1));
382 for (Eigen::Index i = 0; i < uv.rows(); ++i)
383 result_0(i, 0) = b_3_basis_value_2d_single_8(uv(i, 0), uv(i, 1));
386 for (Eigen::Index i = 0; i < uv.rows(); ++i)
387 result_0(i, 0) = b_3_basis_value_2d_single_9(uv(i, 0), uv(i, 1));
389 default: assert(
false);
392void b_3_basis_grad_value_2d_single_0(
double x,
double y,
double *
val) {
393{
val[0] = -3*pow(
x +
y - 1, 2);}
394{
val[1] = -3*pow(
x +
y - 1, 2);}
397void b_3_basis_grad_value_2d_single_1(
double x,
double y,
double *
val) {
398{
val[0] = 3*pow(
x, 2);}
402void b_3_basis_grad_value_2d_single_2(
double x,
double y,
double *
val) {
404{
val[1] = 3*pow(
y, 2);}
407void b_3_basis_grad_value_2d_single_3(
double x,
double y,
double *
val) {
408{
double helper_0 =
y - 1;
409val[0] = 3*(helper_0 +
x)*(helper_0 + 3*
x);}
410{
val[1] = 6*
x*(
x +
y - 1);}
413void b_3_basis_grad_value_2d_single_4(
double x,
double y,
double *
val) {
414{
double helper_0 = 3*
x;
415val[0] = -helper_0*(helper_0 + 2*
y - 2);}
416{
val[1] = -3*pow(
x, 2);}
419void b_3_basis_grad_value_2d_single_5(
double x,
double y,
double *
val) {
421{
val[1] = 3*pow(
x, 2);}
424void b_3_basis_grad_value_2d_single_6(
double x,
double y,
double *
val) {
425{
val[0] = 3*pow(
y, 2);}
429void b_3_basis_grad_value_2d_single_7(
double x,
double y,
double *
val) {
430{
val[0] = -3*pow(
y, 2);}
431{
double helper_0 = 3*
y;
432val[1] = -helper_0*(helper_0 + 2*
x - 2);}
435void b_3_basis_grad_value_2d_single_8(
double x,
double y,
double *
val) {
436{
val[0] = 6*
y*(
x +
y - 1);}
437{
double helper_0 =
x - 1;
438val[1] = 3*(helper_0 +
y)*(helper_0 + 3*
y);}
441void b_3_basis_grad_value_2d_single_9(
double x,
double y,
double *
val) {
442{
val[0] = -6*
y*(2*
x +
y - 1);}
443{
val[1] = -6*
x*(
x + 2*
y - 1);}
448void b_3_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
449val.resize(uv.rows(), 2);
453 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
454 b_3_basis_grad_value_2d_single_0(uv(i, 0), uv(i, 1), gradient);
455 val(i, 0) = gradient[0];
456 val(i, 1) = gradient[1];
460 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
461 b_3_basis_grad_value_2d_single_1(uv(i, 0), uv(i, 1), gradient);
462 val(i, 0) = gradient[0];
463 val(i, 1) = gradient[1];
467 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
468 b_3_basis_grad_value_2d_single_2(uv(i, 0), uv(i, 1), gradient);
469 val(i, 0) = gradient[0];
470 val(i, 1) = gradient[1];
474 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
475 b_3_basis_grad_value_2d_single_3(uv(i, 0), uv(i, 1), gradient);
476 val(i, 0) = gradient[0];
477 val(i, 1) = gradient[1];
481 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
482 b_3_basis_grad_value_2d_single_4(uv(i, 0), uv(i, 1), gradient);
483 val(i, 0) = gradient[0];
484 val(i, 1) = gradient[1];
488 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
489 b_3_basis_grad_value_2d_single_5(uv(i, 0), uv(i, 1), gradient);
490 val(i, 0) = gradient[0];
491 val(i, 1) = gradient[1];
495 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
496 b_3_basis_grad_value_2d_single_6(uv(i, 0), uv(i, 1), gradient);
497 val(i, 0) = gradient[0];
498 val(i, 1) = gradient[1];
502 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
503 b_3_basis_grad_value_2d_single_7(uv(i, 0), uv(i, 1), gradient);
504 val(i, 0) = gradient[0];
505 val(i, 1) = gradient[1];
509 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
510 b_3_basis_grad_value_2d_single_8(uv(i, 0), uv(i, 1), gradient);
511 val(i, 0) = gradient[0];
512 val(i, 1) = gradient[1];
516 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
517 b_3_basis_grad_value_2d_single_9(uv(i, 0), uv(i, 1), gradient);
518 val(i, 0) = gradient[0];
519 val(i, 1) = gradient[1];
522 default: assert(
false);
527double b_4_basis_value_2d_single_0(
double x,
double y) {
529result = pow(
x +
y - 1, 4);
533double b_4_basis_value_2d_single_1(
double x,
double y) {
539double b_4_basis_value_2d_single_2(
double x,
double y) {
545double b_4_basis_value_2d_single_3(
double x,
double y) {
547result = -4*
x*pow(
x +
y - 1, 3);
551double b_4_basis_value_2d_single_4(
double x,
double y) {
553result = 6*pow(
x, 2)*pow(
x +
y - 1, 2);
557double b_4_basis_value_2d_single_5(
double x,
double y) {
559result = -4*pow(
x, 3)*(
x +
y - 1);
563double b_4_basis_value_2d_single_6(
double x,
double y) {
565result = 4*pow(
x, 3)*
y;
569double b_4_basis_value_2d_single_7(
double x,
double y) {
571result = 6*pow(
x, 2)*pow(
y, 2);
575double b_4_basis_value_2d_single_8(
double x,
double y) {
577result = 4*
x*pow(
y, 3);
581double b_4_basis_value_2d_single_9(
double x,
double y) {
583result = -4*pow(
y, 3)*(
x +
y - 1);
587double b_4_basis_value_2d_single_10(
double x,
double y) {
589result = 6*pow(
y, 2)*pow(
x +
y - 1, 2);
593double b_4_basis_value_2d_single_11(
double x,
double y) {
595result = -4*
y*pow(
x +
y - 1, 3);
599double b_4_basis_value_2d_single_12(
double x,
double y) {
601result = 12*
x*
y*pow(
x +
y - 1, 2);
605double b_4_basis_value_2d_single_13(
double x,
double y) {
607result = -12*
x*pow(
y, 2)*(
x +
y - 1);
611double b_4_basis_value_2d_single_14(
double x,
double y) {
613result = -12*pow(
x, 2)*
y*(
x +
y - 1);
619void b_4_basis_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
620result_0.resize(uv.rows(), 1);
623 for (Eigen::Index i = 0; i < uv.rows(); ++i)
624 result_0(i, 0) = b_4_basis_value_2d_single_0(uv(i, 0), uv(i, 1));
627 for (Eigen::Index i = 0; i < uv.rows(); ++i)
628 result_0(i, 0) = b_4_basis_value_2d_single_1(uv(i, 0), uv(i, 1));
631 for (Eigen::Index i = 0; i < uv.rows(); ++i)
632 result_0(i, 0) = b_4_basis_value_2d_single_2(uv(i, 0), uv(i, 1));
635 for (Eigen::Index i = 0; i < uv.rows(); ++i)
636 result_0(i, 0) = b_4_basis_value_2d_single_3(uv(i, 0), uv(i, 1));
639 for (Eigen::Index i = 0; i < uv.rows(); ++i)
640 result_0(i, 0) = b_4_basis_value_2d_single_4(uv(i, 0), uv(i, 1));
643 for (Eigen::Index i = 0; i < uv.rows(); ++i)
644 result_0(i, 0) = b_4_basis_value_2d_single_5(uv(i, 0), uv(i, 1));
647 for (Eigen::Index i = 0; i < uv.rows(); ++i)
648 result_0(i, 0) = b_4_basis_value_2d_single_6(uv(i, 0), uv(i, 1));
651 for (Eigen::Index i = 0; i < uv.rows(); ++i)
652 result_0(i, 0) = b_4_basis_value_2d_single_7(uv(i, 0), uv(i, 1));
655 for (Eigen::Index i = 0; i < uv.rows(); ++i)
656 result_0(i, 0) = b_4_basis_value_2d_single_8(uv(i, 0), uv(i, 1));
659 for (Eigen::Index i = 0; i < uv.rows(); ++i)
660 result_0(i, 0) = b_4_basis_value_2d_single_9(uv(i, 0), uv(i, 1));
663 for (Eigen::Index i = 0; i < uv.rows(); ++i)
664 result_0(i, 0) = b_4_basis_value_2d_single_10(uv(i, 0), uv(i, 1));
667 for (Eigen::Index i = 0; i < uv.rows(); ++i)
668 result_0(i, 0) = b_4_basis_value_2d_single_11(uv(i, 0), uv(i, 1));
671 for (Eigen::Index i = 0; i < uv.rows(); ++i)
672 result_0(i, 0) = b_4_basis_value_2d_single_12(uv(i, 0), uv(i, 1));
675 for (Eigen::Index i = 0; i < uv.rows(); ++i)
676 result_0(i, 0) = b_4_basis_value_2d_single_13(uv(i, 0), uv(i, 1));
679 for (Eigen::Index i = 0; i < uv.rows(); ++i)
680 result_0(i, 0) = b_4_basis_value_2d_single_14(uv(i, 0), uv(i, 1));
682 default: assert(
false);
685void b_4_basis_grad_value_2d_single_0(
double x,
double y,
double *
val) {
686{
val[0] = 4*pow(
x +
y - 1, 3);}
687{
val[1] = 4*pow(
x +
y - 1, 3);}
690void b_4_basis_grad_value_2d_single_1(
double x,
double y,
double *
val) {
691{
val[0] = 4*pow(
x, 3);}
695void b_4_basis_grad_value_2d_single_2(
double x,
double y,
double *
val) {
697{
val[1] = 4*pow(
y, 3);}
700void b_4_basis_grad_value_2d_single_3(
double x,
double y,
double *
val) {
701{
double helper_0 =
y - 1;
702val[0] = -4*pow(helper_0 +
x, 2)*(helper_0 + 4*
x);}
703{
val[1] = -12*
x*pow(
x +
y - 1, 2);}
706void b_4_basis_grad_value_2d_single_4(
double x,
double y,
double *
val) {
707{
double helper_0 =
y - 1;
708val[0] = 12*
x*(helper_0 +
x)*(helper_0 + 2*
x);}
709{
val[1] = 12*pow(
x, 2)*(
x +
y - 1);}
712void b_4_basis_grad_value_2d_single_5(
double x,
double y,
double *
val) {
713{
val[0] = -4*pow(
x, 2)*(4*
x + 3*
y - 3);}
714{
val[1] = -4*pow(
x, 3);}
717void b_4_basis_grad_value_2d_single_6(
double x,
double y,
double *
val) {
718{
val[0] = 12*pow(
x, 2)*
y;}
719{
val[1] = 4*pow(
x, 3);}
722void b_4_basis_grad_value_2d_single_7(
double x,
double y,
double *
val) {
723{
val[0] = 12*
x*pow(
y, 2);}
724{
val[1] = 12*pow(
x, 2)*
y;}
727void b_4_basis_grad_value_2d_single_8(
double x,
double y,
double *
val) {
728{
val[0] = 4*pow(
y, 3);}
729{
val[1] = 12*
x*pow(
y, 2);}
732void b_4_basis_grad_value_2d_single_9(
double x,
double y,
double *
val) {
733{
val[0] = -4*pow(
y, 3);}
734{
val[1] = -4*pow(
y, 2)*(3*
x + 4*
y - 3);}
737void b_4_basis_grad_value_2d_single_10(
double x,
double y,
double *
val) {
738{
val[0] = 12*pow(
y, 2)*(
x +
y - 1);}
739{
double helper_0 =
x - 1;
740val[1] = 12*
y*(helper_0 +
y)*(helper_0 + 2*
y);}
743void b_4_basis_grad_value_2d_single_11(
double x,
double y,
double *
val) {
744{
val[0] = -12*
y*pow(
x +
y - 1, 2);}
745{
double helper_0 =
x - 1;
746val[1] = -4*pow(helper_0 +
y, 2)*(helper_0 + 4*
y);}
749void b_4_basis_grad_value_2d_single_12(
double x,
double y,
double *
val) {
750{
double helper_0 =
y - 1;
751val[0] = 12*
y*(helper_0 +
x)*(helper_0 + 3*
x);}
752{
double helper_0 =
x - 1;
753val[1] = 12*
x*(helper_0 +
y)*(helper_0 + 3*
y);}
756void b_4_basis_grad_value_2d_single_13(
double x,
double y,
double *
val) {
757{
val[0] = -12*pow(
y, 2)*(2*
x +
y - 1);}
758{
val[1] = -12*
x*
y*(2*
x + 3*
y - 2);}
761void b_4_basis_grad_value_2d_single_14(
double x,
double y,
double *
val) {
762{
val[0] = -12*
x*
y*(3*
x + 2*
y - 2);}
763{
val[1] = -12*pow(
x, 2)*(
x + 2*
y - 1);}
768void b_4_basis_grad_value_2d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
769val.resize(uv.rows(), 2);
773 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
774 b_4_basis_grad_value_2d_single_0(uv(i, 0), uv(i, 1), gradient);
775 val(i, 0) = gradient[0];
776 val(i, 1) = gradient[1];
780 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
781 b_4_basis_grad_value_2d_single_1(uv(i, 0), uv(i, 1), gradient);
782 val(i, 0) = gradient[0];
783 val(i, 1) = gradient[1];
787 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
788 b_4_basis_grad_value_2d_single_2(uv(i, 0), uv(i, 1), gradient);
789 val(i, 0) = gradient[0];
790 val(i, 1) = gradient[1];
794 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
795 b_4_basis_grad_value_2d_single_3(uv(i, 0), uv(i, 1), gradient);
796 val(i, 0) = gradient[0];
797 val(i, 1) = gradient[1];
801 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
802 b_4_basis_grad_value_2d_single_4(uv(i, 0), uv(i, 1), gradient);
803 val(i, 0) = gradient[0];
804 val(i, 1) = gradient[1];
808 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
809 b_4_basis_grad_value_2d_single_5(uv(i, 0), uv(i, 1), gradient);
810 val(i, 0) = gradient[0];
811 val(i, 1) = gradient[1];
815 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
816 b_4_basis_grad_value_2d_single_6(uv(i, 0), uv(i, 1), gradient);
817 val(i, 0) = gradient[0];
818 val(i, 1) = gradient[1];
822 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
823 b_4_basis_grad_value_2d_single_7(uv(i, 0), uv(i, 1), gradient);
824 val(i, 0) = gradient[0];
825 val(i, 1) = gradient[1];
829 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
830 b_4_basis_grad_value_2d_single_8(uv(i, 0), uv(i, 1), gradient);
831 val(i, 0) = gradient[0];
832 val(i, 1) = gradient[1];
836 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
837 b_4_basis_grad_value_2d_single_9(uv(i, 0), uv(i, 1), gradient);
838 val(i, 0) = gradient[0];
839 val(i, 1) = gradient[1];
843 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
844 b_4_basis_grad_value_2d_single_10(uv(i, 0), uv(i, 1), gradient);
845 val(i, 0) = gradient[0];
846 val(i, 1) = gradient[1];
850 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
851 b_4_basis_grad_value_2d_single_11(uv(i, 0), uv(i, 1), gradient);
852 val(i, 0) = gradient[0];
853 val(i, 1) = gradient[1];
857 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
858 b_4_basis_grad_value_2d_single_12(uv(i, 0), uv(i, 1), gradient);
859 val(i, 0) = gradient[0];
860 val(i, 1) = gradient[1];
864 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
865 b_4_basis_grad_value_2d_single_13(uv(i, 0), uv(i, 1), gradient);
866 val(i, 0) = gradient[0];
867 val(i, 1) = gradient[1];
871 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
872 b_4_basis_grad_value_2d_single_14(uv(i, 0), uv(i, 1), gradient);
873 val(i, 0) = gradient[0];
874 val(i, 1) = gradient[1];
877 default: assert(
false);
885void b_basis_value_2d(
const int b,
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
888 case 0: b_0_basis_value_2d(local_index, uv,
val);
break;
889 case 1: b_1_basis_value_2d(local_index, uv,
val);
break;
890 case 2: b_2_basis_value_2d(local_index, uv,
val);
break;
891 case 3: b_3_basis_value_2d(local_index, uv,
val);
break;
892 case 4: b_4_basis_value_2d(local_index, uv,
val);
break;
893 default: assert(
false);
899 case 0: b_0_basis_grad_value_2d(local_index, uv,
val);
break;
900 case 1: b_1_basis_grad_value_2d(local_index, uv,
val);
break;
901 case 2: b_2_basis_grad_value_2d(local_index, uv,
val);
break;
902 case 3: b_3_basis_grad_value_2d(local_index, uv,
val);
break;
903 case 4: b_4_basis_grad_value_2d(local_index, uv,
val);
break;
904 default: assert(
false);
908double b_0_basis_value_3d_single_0(
double x,
double y,
double z) {
916void b_0_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
917result_0.resize(uv.rows(), 1);
920 for (Eigen::Index i = 0; i < uv.rows(); ++i)
921 result_0(i, 0) = b_0_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
923 default: assert(
false);
926void b_0_basis_grad_value_3d_single_0(
double x,
double y,
double z,
double *
val) {
934void b_0_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
935val.resize(uv.rows(), 3);
939 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
940 b_0_basis_grad_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
941 val(i, 0) = gradient[0];
942 val(i, 1) = gradient[1];
943 val(i, 2) = gradient[2];
946 default: assert(
false);
951double b_1_basis_value_3d_single_0(
double x,
double y,
double z) {
953result = -
x -
y -
z + 1;
957double b_1_basis_value_3d_single_1(
double x,
double y,
double z) {
963double b_1_basis_value_3d_single_2(
double x,
double y,
double z) {
969double b_1_basis_value_3d_single_3(
double x,
double y,
double z) {
977void b_1_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
978result_0.resize(uv.rows(), 1);
981 for (Eigen::Index i = 0; i < uv.rows(); ++i)
982 result_0(i, 0) = b_1_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
985 for (Eigen::Index i = 0; i < uv.rows(); ++i)
986 result_0(i, 0) = b_1_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
989 for (Eigen::Index i = 0; i < uv.rows(); ++i)
990 result_0(i, 0) = b_1_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
993 for (Eigen::Index i = 0; i < uv.rows(); ++i)
994 result_0(i, 0) = b_1_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
996 default: assert(
false);
999void b_1_basis_grad_value_3d_single_0(
double x,
double y,
double z,
double *
val) {
1005void b_1_basis_grad_value_3d_single_1(
double x,
double y,
double z,
double *
val) {
1011void b_1_basis_grad_value_3d_single_2(
double x,
double y,
double z,
double *
val) {
1017void b_1_basis_grad_value_3d_single_3(
double x,
double y,
double z,
double *
val) {
1025void b_1_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
1026val.resize(uv.rows(), 3);
1030 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1031 b_1_basis_grad_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1032 val(i, 0) = gradient[0];
1033 val(i, 1) = gradient[1];
1034 val(i, 2) = gradient[2];
1038 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1039 b_1_basis_grad_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1040 val(i, 0) = gradient[0];
1041 val(i, 1) = gradient[1];
1042 val(i, 2) = gradient[2];
1046 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1047 b_1_basis_grad_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1048 val(i, 0) = gradient[0];
1049 val(i, 1) = gradient[1];
1050 val(i, 2) = gradient[2];
1054 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1055 b_1_basis_grad_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1056 val(i, 0) = gradient[0];
1057 val(i, 1) = gradient[1];
1058 val(i, 2) = gradient[2];
1061 default: assert(
false);
1066double b_2_basis_value_3d_single_0(
double x,
double y,
double z) {
1068result = pow(
x +
y +
z - 1, 2);
1072double b_2_basis_value_3d_single_1(
double x,
double y,
double z) {
1078double b_2_basis_value_3d_single_2(
double x,
double y,
double z) {
1084double b_2_basis_value_3d_single_3(
double x,
double y,
double z) {
1090double b_2_basis_value_3d_single_4(
double x,
double y,
double z) {
1092result = -2*
x*(
x +
y +
z - 1);
1096double b_2_basis_value_3d_single_5(
double x,
double y,
double z) {
1102double b_2_basis_value_3d_single_6(
double x,
double y,
double z) {
1104result = -2*
y*(
x +
y +
z - 1);
1108double b_2_basis_value_3d_single_7(
double x,
double y,
double z) {
1110result = -2*
z*(
x +
y +
z - 1);
1114double b_2_basis_value_3d_single_8(
double x,
double y,
double z) {
1120double b_2_basis_value_3d_single_9(
double x,
double y,
double z) {
1128void b_2_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
1129result_0.resize(uv.rows(), 1);
1132 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1133 result_0(i, 0) = b_2_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
1136 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1137 result_0(i, 0) = b_2_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
1140 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1141 result_0(i, 0) = b_2_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
1144 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1145 result_0(i, 0) = b_2_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
1148 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1149 result_0(i, 0) = b_2_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
1152 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1153 result_0(i, 0) = b_2_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
1156 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1157 result_0(i, 0) = b_2_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
1160 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1161 result_0(i, 0) = b_2_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
1164 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1165 result_0(i, 0) = b_2_basis_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2));
1168 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1169 result_0(i, 0) = b_2_basis_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2));
1171 default: assert(
false);
1174void b_2_basis_grad_value_3d_single_0(
double x,
double y,
double z,
double *
val) {
1175{
val[0] = 2*(
x +
y +
z - 1);}
1176{
val[1] = 2*(
x +
y +
z - 1);}
1177{
val[2] = 2*(
x +
y +
z - 1);}
1180void b_2_basis_grad_value_3d_single_1(
double x,
double y,
double z,
double *
val) {
1186void b_2_basis_grad_value_3d_single_2(
double x,
double y,
double z,
double *
val) {
1192void b_2_basis_grad_value_3d_single_3(
double x,
double y,
double z,
double *
val) {
1198void b_2_basis_grad_value_3d_single_4(
double x,
double y,
double z,
double *
val) {
1199{
val[0] = 2*(-2*
x -
y -
z + 1);}
1204void b_2_basis_grad_value_3d_single_5(
double x,
double y,
double z,
double *
val) {
1210void b_2_basis_grad_value_3d_single_6(
double x,
double y,
double z,
double *
val) {
1212{
val[1] = 2*(-
x - 2*
y -
z + 1);}
1216void b_2_basis_grad_value_3d_single_7(
double x,
double y,
double z,
double *
val) {
1219{
val[2] = 2*(-
x -
y - 2*
z + 1);}
1222void b_2_basis_grad_value_3d_single_8(
double x,
double y,
double z,
double *
val) {
1228void b_2_basis_grad_value_3d_single_9(
double x,
double y,
double z,
double *
val) {
1236void b_2_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
1237val.resize(uv.rows(), 3);
1241 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1242 b_2_basis_grad_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1243 val(i, 0) = gradient[0];
1244 val(i, 1) = gradient[1];
1245 val(i, 2) = gradient[2];
1249 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1250 b_2_basis_grad_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1251 val(i, 0) = gradient[0];
1252 val(i, 1) = gradient[1];
1253 val(i, 2) = gradient[2];
1257 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1258 b_2_basis_grad_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1259 val(i, 0) = gradient[0];
1260 val(i, 1) = gradient[1];
1261 val(i, 2) = gradient[2];
1265 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1266 b_2_basis_grad_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1267 val(i, 0) = gradient[0];
1268 val(i, 1) = gradient[1];
1269 val(i, 2) = gradient[2];
1273 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1274 b_2_basis_grad_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1275 val(i, 0) = gradient[0];
1276 val(i, 1) = gradient[1];
1277 val(i, 2) = gradient[2];
1281 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1282 b_2_basis_grad_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1283 val(i, 0) = gradient[0];
1284 val(i, 1) = gradient[1];
1285 val(i, 2) = gradient[2];
1289 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1290 b_2_basis_grad_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1291 val(i, 0) = gradient[0];
1292 val(i, 1) = gradient[1];
1293 val(i, 2) = gradient[2];
1297 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1298 b_2_basis_grad_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1299 val(i, 0) = gradient[0];
1300 val(i, 1) = gradient[1];
1301 val(i, 2) = gradient[2];
1305 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1306 b_2_basis_grad_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1307 val(i, 0) = gradient[0];
1308 val(i, 1) = gradient[1];
1309 val(i, 2) = gradient[2];
1313 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1314 b_2_basis_grad_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1315 val(i, 0) = gradient[0];
1316 val(i, 1) = gradient[1];
1317 val(i, 2) = gradient[2];
1320 default: assert(
false);
1325double b_3_basis_value_3d_single_0(
double x,
double y,
double z) {
1327result = -pow(
x +
y +
z - 1, 3);
1331double b_3_basis_value_3d_single_1(
double x,
double y,
double z) {
1337double b_3_basis_value_3d_single_2(
double x,
double y,
double z) {
1343double b_3_basis_value_3d_single_3(
double x,
double y,
double z) {
1349double b_3_basis_value_3d_single_4(
double x,
double y,
double z) {
1351result = 3*
x*pow(
x +
y +
z - 1, 2);
1355double b_3_basis_value_3d_single_5(
double x,
double y,
double z) {
1357result = -3*pow(
x, 2)*(
x +
y +
z - 1);
1361double b_3_basis_value_3d_single_6(
double x,
double y,
double z) {
1363result = 3*pow(
x, 2)*
y;
1367double b_3_basis_value_3d_single_7(
double x,
double y,
double z) {
1369result = 3*
x*pow(
y, 2);
1373double b_3_basis_value_3d_single_8(
double x,
double y,
double z) {
1375result = -3*pow(
y, 2)*(
x +
y +
z - 1);
1379double b_3_basis_value_3d_single_9(
double x,
double y,
double z) {
1381result = 3*
y*pow(
x +
y +
z - 1, 2);
1385double b_3_basis_value_3d_single_10(
double x,
double y,
double z) {
1387result = 3*
z*pow(
x +
y +
z - 1, 2);
1391double b_3_basis_value_3d_single_11(
double x,
double y,
double z) {
1393result = -3*pow(
z, 2)*(
x +
y +
z - 1);
1397double b_3_basis_value_3d_single_12(
double x,
double y,
double z) {
1399result = 3*pow(
x, 2)*
z;
1403double b_3_basis_value_3d_single_13(
double x,
double y,
double z) {
1405result = 3*
x*pow(
z, 2);
1409double b_3_basis_value_3d_single_14(
double x,
double y,
double z) {
1411result = 3*pow(
y, 2)*
z;
1415double b_3_basis_value_3d_single_15(
double x,
double y,
double z) {
1417result = 3*
y*pow(
z, 2);
1421double b_3_basis_value_3d_single_16(
double x,
double y,
double z) {
1423result = -6*
x*
y*(
x +
y +
z - 1);
1427double b_3_basis_value_3d_single_17(
double x,
double y,
double z) {
1429result = -6*
x*
z*(
x +
y +
z - 1);
1433double b_3_basis_value_3d_single_18(
double x,
double y,
double z) {
1439double b_3_basis_value_3d_single_19(
double x,
double y,
double z) {
1441result = -6*
y*
z*(
x +
y +
z - 1);
1447void b_3_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
1448result_0.resize(uv.rows(), 1);
1451 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1452 result_0(i, 0) = b_3_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
1455 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1456 result_0(i, 0) = b_3_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
1459 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1460 result_0(i, 0) = b_3_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
1463 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1464 result_0(i, 0) = b_3_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
1467 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1468 result_0(i, 0) = b_3_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
1471 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1472 result_0(i, 0) = b_3_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
1475 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1476 result_0(i, 0) = b_3_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
1479 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1480 result_0(i, 0) = b_3_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
1483 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1484 result_0(i, 0) = b_3_basis_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2));
1487 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1488 result_0(i, 0) = b_3_basis_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2));
1491 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1492 result_0(i, 0) = b_3_basis_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2));
1495 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1496 result_0(i, 0) = b_3_basis_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2));
1499 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1500 result_0(i, 0) = b_3_basis_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2));
1503 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1504 result_0(i, 0) = b_3_basis_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2));
1507 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1508 result_0(i, 0) = b_3_basis_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2));
1511 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1512 result_0(i, 0) = b_3_basis_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2));
1515 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1516 result_0(i, 0) = b_3_basis_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2));
1519 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1520 result_0(i, 0) = b_3_basis_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2));
1523 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1524 result_0(i, 0) = b_3_basis_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2));
1527 for (Eigen::Index i = 0; i < uv.rows(); ++i)
1528 result_0(i, 0) = b_3_basis_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2));
1530 default: assert(
false);
1533void b_3_basis_grad_value_3d_single_0(
double x,
double y,
double z,
double *
val) {
1534{
val[0] = -3*pow(
x +
y +
z - 1, 2);}
1535{
val[1] = -3*pow(
x +
y +
z - 1, 2);}
1536{
val[2] = -3*pow(
x +
y +
z - 1, 2);}
1539void b_3_basis_grad_value_3d_single_1(
double x,
double y,
double z,
double *
val) {
1540{
val[0] = 3*pow(
x, 2);}
1545void b_3_basis_grad_value_3d_single_2(
double x,
double y,
double z,
double *
val) {
1547{
val[1] = 3*pow(
y, 2);}
1551void b_3_basis_grad_value_3d_single_3(
double x,
double y,
double z,
double *
val) {
1554{
val[2] = 3*pow(
z, 2);}
1557void b_3_basis_grad_value_3d_single_4(
double x,
double y,
double z,
double *
val) {
1558{
double helper_0 =
y +
z - 1;
1559val[0] = 3*(helper_0 +
x)*(helper_0 + 3*
x);}
1560{
val[1] = 6*
x*(
x +
y +
z - 1);}
1561{
val[2] = 6*
x*(
x +
y +
z - 1);}
1564void b_3_basis_grad_value_3d_single_5(
double x,
double y,
double z,
double *
val) {
1565{
double helper_0 = 3*
x;
1566val[0] = -helper_0*(helper_0 + 2*
y + 2*
z - 2);}
1567{
val[1] = -3*pow(
x, 2);}
1568{
val[2] = -3*pow(
x, 2);}
1571void b_3_basis_grad_value_3d_single_6(
double x,
double y,
double z,
double *
val) {
1573{
val[1] = 3*pow(
x, 2);}
1577void b_3_basis_grad_value_3d_single_7(
double x,
double y,
double z,
double *
val) {
1578{
val[0] = 3*pow(
y, 2);}
1583void b_3_basis_grad_value_3d_single_8(
double x,
double y,
double z,
double *
val) {
1584{
val[0] = -3*pow(
y, 2);}
1585{
double helper_0 = 3*
y;
1586val[1] = -helper_0*(helper_0 + 2*
x + 2*
z - 2);}
1587{
val[2] = -3*pow(
y, 2);}
1590void b_3_basis_grad_value_3d_single_9(
double x,
double y,
double z,
double *
val) {
1591{
val[0] = 6*
y*(
x +
y +
z - 1);}
1592{
double helper_0 =
x +
z - 1;
1593val[1] = 3*(helper_0 +
y)*(helper_0 + 3*
y);}
1594{
val[2] = 6*
y*(
x +
y +
z - 1);}
1597void b_3_basis_grad_value_3d_single_10(
double x,
double y,
double z,
double *
val) {
1598{
val[0] = 6*
z*(
x +
y +
z - 1);}
1599{
val[1] = 6*
z*(
x +
y +
z - 1);}
1600{
double helper_0 =
x +
y - 1;
1601val[2] = 3*(helper_0 +
z)*(helper_0 + 3*
z);}
1604void b_3_basis_grad_value_3d_single_11(
double x,
double y,
double z,
double *
val) {
1605{
val[0] = -3*pow(
z, 2);}
1606{
val[1] = -3*pow(
z, 2);}
1607{
double helper_0 = 3*
z;
1608val[2] = -helper_0*(helper_0 + 2*
x + 2*
y - 2);}
1611void b_3_basis_grad_value_3d_single_12(
double x,
double y,
double z,
double *
val) {
1614{
val[2] = 3*pow(
x, 2);}
1617void b_3_basis_grad_value_3d_single_13(
double x,
double y,
double z,
double *
val) {
1618{
val[0] = 3*pow(
z, 2);}
1623void b_3_basis_grad_value_3d_single_14(
double x,
double y,
double z,
double *
val) {
1626{
val[2] = 3*pow(
y, 2);}
1629void b_3_basis_grad_value_3d_single_15(
double x,
double y,
double z,
double *
val) {
1631{
val[1] = 3*pow(
z, 2);}
1635void b_3_basis_grad_value_3d_single_16(
double x,
double y,
double z,
double *
val) {
1636{
val[0] = -6*
y*(2*
x +
y +
z - 1);}
1637{
val[1] = -6*
x*(
x + 2*
y +
z - 1);}
1641void b_3_basis_grad_value_3d_single_17(
double x,
double y,
double z,
double *
val) {
1642{
val[0] = -6*
z*(2*
x +
y +
z - 1);}
1644{
val[2] = -6*
x*(
x +
y + 2*
z - 1);}
1647void b_3_basis_grad_value_3d_single_18(
double x,
double y,
double z,
double *
val) {
1653void b_3_basis_grad_value_3d_single_19(
double x,
double y,
double z,
double *
val) {
1655{
val[1] = -6*
z*(
x + 2*
y +
z - 1);}
1656{
val[2] = -6*
y*(
x +
y + 2*
z - 1);}
1661void b_3_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
1662val.resize(uv.rows(), 3);
1666 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1667 b_3_basis_grad_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1668 val(i, 0) = gradient[0];
1669 val(i, 1) = gradient[1];
1670 val(i, 2) = gradient[2];
1674 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1675 b_3_basis_grad_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1676 val(i, 0) = gradient[0];
1677 val(i, 1) = gradient[1];
1678 val(i, 2) = gradient[2];
1682 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1683 b_3_basis_grad_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1684 val(i, 0) = gradient[0];
1685 val(i, 1) = gradient[1];
1686 val(i, 2) = gradient[2];
1690 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1691 b_3_basis_grad_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1692 val(i, 0) = gradient[0];
1693 val(i, 1) = gradient[1];
1694 val(i, 2) = gradient[2];
1698 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1699 b_3_basis_grad_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1700 val(i, 0) = gradient[0];
1701 val(i, 1) = gradient[1];
1702 val(i, 2) = gradient[2];
1706 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1707 b_3_basis_grad_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1708 val(i, 0) = gradient[0];
1709 val(i, 1) = gradient[1];
1710 val(i, 2) = gradient[2];
1714 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1715 b_3_basis_grad_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1716 val(i, 0) = gradient[0];
1717 val(i, 1) = gradient[1];
1718 val(i, 2) = gradient[2];
1722 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1723 b_3_basis_grad_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1724 val(i, 0) = gradient[0];
1725 val(i, 1) = gradient[1];
1726 val(i, 2) = gradient[2];
1730 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1731 b_3_basis_grad_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1732 val(i, 0) = gradient[0];
1733 val(i, 1) = gradient[1];
1734 val(i, 2) = gradient[2];
1738 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1739 b_3_basis_grad_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1740 val(i, 0) = gradient[0];
1741 val(i, 1) = gradient[1];
1742 val(i, 2) = gradient[2];
1746 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1747 b_3_basis_grad_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1748 val(i, 0) = gradient[0];
1749 val(i, 1) = gradient[1];
1750 val(i, 2) = gradient[2];
1754 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1755 b_3_basis_grad_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1756 val(i, 0) = gradient[0];
1757 val(i, 1) = gradient[1];
1758 val(i, 2) = gradient[2];
1762 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1763 b_3_basis_grad_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1764 val(i, 0) = gradient[0];
1765 val(i, 1) = gradient[1];
1766 val(i, 2) = gradient[2];
1770 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1771 b_3_basis_grad_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1772 val(i, 0) = gradient[0];
1773 val(i, 1) = gradient[1];
1774 val(i, 2) = gradient[2];
1778 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1779 b_3_basis_grad_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1780 val(i, 0) = gradient[0];
1781 val(i, 1) = gradient[1];
1782 val(i, 2) = gradient[2];
1786 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1787 b_3_basis_grad_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1788 val(i, 0) = gradient[0];
1789 val(i, 1) = gradient[1];
1790 val(i, 2) = gradient[2];
1794 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1795 b_3_basis_grad_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1796 val(i, 0) = gradient[0];
1797 val(i, 1) = gradient[1];
1798 val(i, 2) = gradient[2];
1802 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1803 b_3_basis_grad_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1804 val(i, 0) = gradient[0];
1805 val(i, 1) = gradient[1];
1806 val(i, 2) = gradient[2];
1810 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1811 b_3_basis_grad_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1812 val(i, 0) = gradient[0];
1813 val(i, 1) = gradient[1];
1814 val(i, 2) = gradient[2];
1818 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
1819 b_3_basis_grad_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
1820 val(i, 0) = gradient[0];
1821 val(i, 1) = gradient[1];
1822 val(i, 2) = gradient[2];
1825 default: assert(
false);
1830double b_4_basis_value_3d_single_0(
double x,
double y,
double z) {
1832result = pow(
x +
y +
z - 1, 4);
1836double b_4_basis_value_3d_single_1(
double x,
double y,
double z) {
1842double b_4_basis_value_3d_single_2(
double x,
double y,
double z) {
1848double b_4_basis_value_3d_single_3(
double x,
double y,
double z) {
1854double b_4_basis_value_3d_single_4(
double x,
double y,
double z) {
1856result = -4*
x*pow(
x +
y +
z - 1, 3);
1860double b_4_basis_value_3d_single_5(
double x,
double y,
double z) {
1862result = 6*pow(
x, 2)*pow(
x +
y +
z - 1, 2);
1866double b_4_basis_value_3d_single_6(
double x,
double y,
double z) {
1868result = -4*pow(
x, 3)*(
x +
y +
z - 1);
1872double b_4_basis_value_3d_single_7(
double x,
double y,
double z) {
1874result = 4*pow(
x, 3)*
y;
1878double b_4_basis_value_3d_single_8(
double x,
double y,
double z) {
1880result = 6*pow(
x, 2)*pow(
y, 2);
1884double b_4_basis_value_3d_single_9(
double x,
double y,
double z) {
1886result = 4*
x*pow(
y, 3);
1890double b_4_basis_value_3d_single_10(
double x,
double y,
double z) {
1892result = -4*pow(
y, 3)*(
x +
y +
z - 1);
1896double b_4_basis_value_3d_single_11(
double x,
double y,
double z) {
1898result = 6*pow(
y, 2)*pow(
x +
y +
z - 1, 2);
1902double b_4_basis_value_3d_single_12(
double x,
double y,
double z) {
1904result = -4*
y*pow(
x +
y +
z - 1, 3);
1908double b_4_basis_value_3d_single_13(
double x,
double y,
double z) {
1910result = -4*
z*pow(
x +
y +
z - 1, 3);
1914double b_4_basis_value_3d_single_14(
double x,
double y,
double z) {
1916result = 6*pow(
z, 2)*pow(
x +
y +
z - 1, 2);
1920double b_4_basis_value_3d_single_15(
double x,
double y,
double z) {
1922result = -4*pow(
z, 3)*(
x +
y +
z - 1);
1926double b_4_basis_value_3d_single_16(
double x,
double y,
double z) {
1928result = 4*pow(
x, 3)*
z;
1932double b_4_basis_value_3d_single_17(
double x,
double y,
double z) {
1934result = 6*pow(
x, 2)*pow(
z, 2);
1938double b_4_basis_value_3d_single_18(
double x,
double y,
double z) {
1940result = 4*
x*pow(
z, 3);
1944double b_4_basis_value_3d_single_19(
double x,
double y,
double z) {
1946result = 4*pow(
y, 3)*
z;
1950double b_4_basis_value_3d_single_20(
double x,
double y,
double z) {
1952result = 6*pow(
y, 2)*pow(
z, 2);
1956double b_4_basis_value_3d_single_21(
double x,
double y,
double z) {
1958result = 4*
y*pow(
z, 3);
1962double b_4_basis_value_3d_single_22(
double x,
double y,
double z) {
1964result = 12*
x*
y*pow(
x +
y +
z - 1, 2);
1968double b_4_basis_value_3d_single_23(
double x,
double y,
double z) {
1970result = -12*
x*pow(
y, 2)*(
x +
y +
z - 1);
1974double b_4_basis_value_3d_single_24(
double x,
double y,
double z) {
1976result = -12*pow(
x, 2)*
y*(
x +
y +
z - 1);
1980double b_4_basis_value_3d_single_25(
double x,
double y,
double z) {
1982result = 12*
x*
z*pow(
x +
y +
z - 1, 2);
1986double b_4_basis_value_3d_single_26(
double x,
double y,
double z) {
1988result = -12*
x*pow(
z, 2)*(
x +
y +
z - 1);
1992double b_4_basis_value_3d_single_27(
double x,
double y,
double z) {
1994result = -12*pow(
x, 2)*
z*(
x +
y +
z - 1);
1998double b_4_basis_value_3d_single_28(
double x,
double y,
double z) {
2000result = 12*pow(
x, 2)*
y*
z;
2004double b_4_basis_value_3d_single_29(
double x,
double y,
double z) {
2006result = 12*
x*
y*pow(
z, 2);
2010double b_4_basis_value_3d_single_30(
double x,
double y,
double z) {
2012result = 12*
x*pow(
y, 2)*
z;
2016double b_4_basis_value_3d_single_31(
double x,
double y,
double z) {
2018result = -12*pow(
y, 2)*
z*(
x +
y +
z - 1);
2022double b_4_basis_value_3d_single_32(
double x,
double y,
double z) {
2024result = -12*
y*pow(
z, 2)*(
x +
y +
z - 1);
2028double b_4_basis_value_3d_single_33(
double x,
double y,
double z) {
2030result = 12*
y*
z*pow(
x +
y +
z - 1, 2);
2034double b_4_basis_value_3d_single_34(
double x,
double y,
double z) {
2036result = -24*
x*
y*
z*(
x +
y +
z - 1);
2042void b_4_basis_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
2043result_0.resize(uv.rows(), 1);
2046 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2047 result_0(i, 0) = b_4_basis_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2));
2050 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2051 result_0(i, 0) = b_4_basis_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2));
2054 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2055 result_0(i, 0) = b_4_basis_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2));
2058 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2059 result_0(i, 0) = b_4_basis_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2));
2062 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2063 result_0(i, 0) = b_4_basis_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2));
2066 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2067 result_0(i, 0) = b_4_basis_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2));
2070 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2071 result_0(i, 0) = b_4_basis_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2));
2074 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2075 result_0(i, 0) = b_4_basis_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2));
2078 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2079 result_0(i, 0) = b_4_basis_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2));
2082 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2083 result_0(i, 0) = b_4_basis_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2));
2086 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2087 result_0(i, 0) = b_4_basis_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2));
2090 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2091 result_0(i, 0) = b_4_basis_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2));
2094 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2095 result_0(i, 0) = b_4_basis_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2));
2098 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2099 result_0(i, 0) = b_4_basis_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2));
2102 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2103 result_0(i, 0) = b_4_basis_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2));
2106 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2107 result_0(i, 0) = b_4_basis_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2));
2110 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2111 result_0(i, 0) = b_4_basis_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2));
2114 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2115 result_0(i, 0) = b_4_basis_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2));
2118 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2119 result_0(i, 0) = b_4_basis_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2));
2122 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2123 result_0(i, 0) = b_4_basis_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2));
2126 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2127 result_0(i, 0) = b_4_basis_value_3d_single_20(uv(i, 0), uv(i, 1), uv(i, 2));
2130 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2131 result_0(i, 0) = b_4_basis_value_3d_single_21(uv(i, 0), uv(i, 1), uv(i, 2));
2134 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2135 result_0(i, 0) = b_4_basis_value_3d_single_22(uv(i, 0), uv(i, 1), uv(i, 2));
2138 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2139 result_0(i, 0) = b_4_basis_value_3d_single_23(uv(i, 0), uv(i, 1), uv(i, 2));
2142 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2143 result_0(i, 0) = b_4_basis_value_3d_single_24(uv(i, 0), uv(i, 1), uv(i, 2));
2146 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2147 result_0(i, 0) = b_4_basis_value_3d_single_25(uv(i, 0), uv(i, 1), uv(i, 2));
2150 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2151 result_0(i, 0) = b_4_basis_value_3d_single_26(uv(i, 0), uv(i, 1), uv(i, 2));
2154 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2155 result_0(i, 0) = b_4_basis_value_3d_single_27(uv(i, 0), uv(i, 1), uv(i, 2));
2158 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2159 result_0(i, 0) = b_4_basis_value_3d_single_28(uv(i, 0), uv(i, 1), uv(i, 2));
2162 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2163 result_0(i, 0) = b_4_basis_value_3d_single_29(uv(i, 0), uv(i, 1), uv(i, 2));
2166 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2167 result_0(i, 0) = b_4_basis_value_3d_single_30(uv(i, 0), uv(i, 1), uv(i, 2));
2170 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2171 result_0(i, 0) = b_4_basis_value_3d_single_31(uv(i, 0), uv(i, 1), uv(i, 2));
2174 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2175 result_0(i, 0) = b_4_basis_value_3d_single_32(uv(i, 0), uv(i, 1), uv(i, 2));
2178 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2179 result_0(i, 0) = b_4_basis_value_3d_single_33(uv(i, 0), uv(i, 1), uv(i, 2));
2182 for (Eigen::Index i = 0; i < uv.rows(); ++i)
2183 result_0(i, 0) = b_4_basis_value_3d_single_34(uv(i, 0), uv(i, 1), uv(i, 2));
2185 default: assert(
false);
2188void b_4_basis_grad_value_3d_single_0(
double x,
double y,
double z,
double *
val) {
2189{
val[0] = 4*pow(
x +
y +
z - 1, 3);}
2190{
val[1] = 4*pow(
x +
y +
z - 1, 3);}
2191{
val[2] = 4*pow(
x +
y +
z - 1, 3);}
2194void b_4_basis_grad_value_3d_single_1(
double x,
double y,
double z,
double *
val) {
2195{
val[0] = 4*pow(
x, 3);}
2200void b_4_basis_grad_value_3d_single_2(
double x,
double y,
double z,
double *
val) {
2202{
val[1] = 4*pow(
y, 3);}
2206void b_4_basis_grad_value_3d_single_3(
double x,
double y,
double z,
double *
val) {
2209{
val[2] = 4*pow(
z, 3);}
2212void b_4_basis_grad_value_3d_single_4(
double x,
double y,
double z,
double *
val) {
2213{
double helper_0 =
y +
z - 1;
2214val[0] = -4*pow(helper_0 +
x, 2)*(helper_0 + 4*
x);}
2215{
val[1] = -12*
x*pow(
x +
y +
z - 1, 2);}
2216{
val[2] = -12*
x*pow(
x +
y +
z - 1, 2);}
2219void b_4_basis_grad_value_3d_single_5(
double x,
double y,
double z,
double *
val) {
2220{
double helper_0 =
y +
z - 1;
2221val[0] = 12*
x*(helper_0 +
x)*(helper_0 + 2*
x);}
2222{
val[1] = 12*pow(
x, 2)*(
x +
y +
z - 1);}
2223{
val[2] = 12*pow(
x, 2)*(
x +
y +
z - 1);}
2226void b_4_basis_grad_value_3d_single_6(
double x,
double y,
double z,
double *
val) {
2227{
val[0] = -4*pow(
x, 2)*(4*
x + 3*
y + 3*
z - 3);}
2228{
val[1] = -4*pow(
x, 3);}
2229{
val[2] = -4*pow(
x, 3);}
2232void b_4_basis_grad_value_3d_single_7(
double x,
double y,
double z,
double *
val) {
2233{
val[0] = 12*pow(
x, 2)*
y;}
2234{
val[1] = 4*pow(
x, 3);}
2238void b_4_basis_grad_value_3d_single_8(
double x,
double y,
double z,
double *
val) {
2239{
val[0] = 12*
x*pow(
y, 2);}
2240{
val[1] = 12*pow(
x, 2)*
y;}
2244void b_4_basis_grad_value_3d_single_9(
double x,
double y,
double z,
double *
val) {
2245{
val[0] = 4*pow(
y, 3);}
2246{
val[1] = 12*
x*pow(
y, 2);}
2250void b_4_basis_grad_value_3d_single_10(
double x,
double y,
double z,
double *
val) {
2251{
val[0] = -4*pow(
y, 3);}
2252{
val[1] = -4*pow(
y, 2)*(3*
x + 4*
y + 3*
z - 3);}
2253{
val[2] = -4*pow(
y, 3);}
2256void b_4_basis_grad_value_3d_single_11(
double x,
double y,
double z,
double *
val) {
2257{
val[0] = 12*pow(
y, 2)*(
x +
y +
z - 1);}
2258{
double helper_0 =
x +
z - 1;
2259val[1] = 12*
y*(helper_0 +
y)*(helper_0 + 2*
y);}
2260{
val[2] = 12*pow(
y, 2)*(
x +
y +
z - 1);}
2263void b_4_basis_grad_value_3d_single_12(
double x,
double y,
double z,
double *
val) {
2264{
val[0] = -12*
y*pow(
x +
y +
z - 1, 2);}
2265{
double helper_0 =
x +
z - 1;
2266val[1] = -4*pow(helper_0 +
y, 2)*(helper_0 + 4*
y);}
2267{
val[2] = -12*
y*pow(
x +
y +
z - 1, 2);}
2270void b_4_basis_grad_value_3d_single_13(
double x,
double y,
double z,
double *
val) {
2271{
val[0] = -12*
z*pow(
x +
y +
z - 1, 2);}
2272{
val[1] = -12*
z*pow(
x +
y +
z - 1, 2);}
2273{
double helper_0 =
x +
y - 1;
2274val[2] = -4*pow(helper_0 +
z, 2)*(helper_0 + 4*
z);}
2277void b_4_basis_grad_value_3d_single_14(
double x,
double y,
double z,
double *
val) {
2278{
val[0] = 12*pow(
z, 2)*(
x +
y +
z - 1);}
2279{
val[1] = 12*pow(
z, 2)*(
x +
y +
z - 1);}
2280{
double helper_0 =
x +
y - 1;
2281val[2] = 12*
z*(helper_0 +
z)*(helper_0 + 2*
z);}
2284void b_4_basis_grad_value_3d_single_15(
double x,
double y,
double z,
double *
val) {
2285{
val[0] = -4*pow(
z, 3);}
2286{
val[1] = -4*pow(
z, 3);}
2287{
val[2] = -4*pow(
z, 2)*(3*
x + 3*
y + 4*
z - 3);}
2290void b_4_basis_grad_value_3d_single_16(
double x,
double y,
double z,
double *
val) {
2291{
val[0] = 12*pow(
x, 2)*
z;}
2293{
val[2] = 4*pow(
x, 3);}
2296void b_4_basis_grad_value_3d_single_17(
double x,
double y,
double z,
double *
val) {
2297{
val[0] = 12*
x*pow(
z, 2);}
2299{
val[2] = 12*pow(
x, 2)*
z;}
2302void b_4_basis_grad_value_3d_single_18(
double x,
double y,
double z,
double *
val) {
2303{
val[0] = 4*pow(
z, 3);}
2305{
val[2] = 12*
x*pow(
z, 2);}
2308void b_4_basis_grad_value_3d_single_19(
double x,
double y,
double z,
double *
val) {
2310{
val[1] = 12*pow(
y, 2)*
z;}
2311{
val[2] = 4*pow(
y, 3);}
2314void b_4_basis_grad_value_3d_single_20(
double x,
double y,
double z,
double *
val) {
2316{
val[1] = 12*
y*pow(
z, 2);}
2317{
val[2] = 12*pow(
y, 2)*
z;}
2320void b_4_basis_grad_value_3d_single_21(
double x,
double y,
double z,
double *
val) {
2322{
val[1] = 4*pow(
z, 3);}
2323{
val[2] = 12*
y*pow(
z, 2);}
2326void b_4_basis_grad_value_3d_single_22(
double x,
double y,
double z,
double *
val) {
2327{
double helper_0 =
y +
z - 1;
2328val[0] = 12*
y*(helper_0 +
x)*(helper_0 + 3*
x);}
2329{
double helper_0 =
x +
z - 1;
2330val[1] = 12*
x*(helper_0 +
y)*(helper_0 + 3*
y);}
2334void b_4_basis_grad_value_3d_single_23(
double x,
double y,
double z,
double *
val) {
2335{
val[0] = -12*pow(
y, 2)*(2*
x +
y +
z - 1);}
2336{
val[1] = -12*
x*
y*(2*
x + 3*
y + 2*
z - 2);}
2337{
val[2] = -12*
x*pow(
y, 2);}
2340void b_4_basis_grad_value_3d_single_24(
double x,
double y,
double z,
double *
val) {
2341{
val[0] = -12*
x*
y*(3*
x + 2*
y + 2*
z - 2);}
2342{
val[1] = -12*pow(
x, 2)*(
x + 2*
y +
z - 1);}
2343{
val[2] = -12*pow(
x, 2)*
y;}
2346void b_4_basis_grad_value_3d_single_25(
double x,
double y,
double z,
double *
val) {
2347{
double helper_0 =
y +
z - 1;
2348val[0] = 12*
z*(helper_0 +
x)*(helper_0 + 3*
x);}
2350{
double helper_0 =
x +
y - 1;
2351val[2] = 12*
x*(helper_0 +
z)*(helper_0 + 3*
z);}
2354void b_4_basis_grad_value_3d_single_26(
double x,
double y,
double z,
double *
val) {
2355{
val[0] = -12*pow(
z, 2)*(2*
x +
y +
z - 1);}
2356{
val[1] = -12*
x*pow(
z, 2);}
2357{
val[2] = -12*
x*
z*(2*
x + 2*
y + 3*
z - 2);}
2360void b_4_basis_grad_value_3d_single_27(
double x,
double y,
double z,
double *
val) {
2361{
val[0] = -12*
x*
z*(3*
x + 2*
y + 2*
z - 2);}
2362{
val[1] = -12*pow(
x, 2)*
z;}
2363{
val[2] = -12*pow(
x, 2)*(
x +
y + 2*
z - 1);}
2366void b_4_basis_grad_value_3d_single_28(
double x,
double y,
double z,
double *
val) {
2368{
val[1] = 12*pow(
x, 2)*
z;}
2369{
val[2] = 12*pow(
x, 2)*
y;}
2372void b_4_basis_grad_value_3d_single_29(
double x,
double y,
double z,
double *
val) {
2373{
val[0] = 12*
y*pow(
z, 2);}
2374{
val[1] = 12*
x*pow(
z, 2);}
2378void b_4_basis_grad_value_3d_single_30(
double x,
double y,
double z,
double *
val) {
2379{
val[0] = 12*pow(
y, 2)*
z;}
2381{
val[2] = 12*
x*pow(
y, 2);}
2384void b_4_basis_grad_value_3d_single_31(
double x,
double y,
double z,
double *
val) {
2385{
val[0] = -12*pow(
y, 2)*
z;}
2386{
val[1] = -12*
y*
z*(2*
x + 3*
y + 2*
z - 2);}
2387{
val[2] = -12*pow(
y, 2)*(
x +
y + 2*
z - 1);}
2390void b_4_basis_grad_value_3d_single_32(
double x,
double y,
double z,
double *
val) {
2391{
val[0] = -12*
y*pow(
z, 2);}
2392{
val[1] = -12*pow(
z, 2)*(
x + 2*
y +
z - 1);}
2393{
val[2] = -12*
y*
z*(2*
x + 2*
y + 3*
z - 2);}
2396void b_4_basis_grad_value_3d_single_33(
double x,
double y,
double z,
double *
val) {
2398{
double helper_0 =
x +
z - 1;
2399val[1] = 12*
z*(helper_0 +
y)*(helper_0 + 3*
y);}
2400{
double helper_0 =
x +
y - 1;
2401val[2] = 12*
y*(helper_0 +
z)*(helper_0 + 3*
z);}
2404void b_4_basis_grad_value_3d_single_34(
double x,
double y,
double z,
double *
val) {
2405{
val[0] = -24*
y*
z*(2*
x +
y +
z - 1);}
2406{
val[1] = -24*
x*
z*(
x + 2*
y +
z - 1);}
2407{
val[2] = -24*
x*
y*(
x +
y + 2*
z - 1);}
2412void b_4_basis_grad_value_3d(
const int local_index,
const Eigen::MatrixXd &uv, Eigen::MatrixXd &
val){
2413val.resize(uv.rows(), 3);
2417 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2418 b_4_basis_grad_value_3d_single_0(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2419 val(i, 0) = gradient[0];
2420 val(i, 1) = gradient[1];
2421 val(i, 2) = gradient[2];
2425 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2426 b_4_basis_grad_value_3d_single_1(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2427 val(i, 0) = gradient[0];
2428 val(i, 1) = gradient[1];
2429 val(i, 2) = gradient[2];
2433 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2434 b_4_basis_grad_value_3d_single_2(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2435 val(i, 0) = gradient[0];
2436 val(i, 1) = gradient[1];
2437 val(i, 2) = gradient[2];
2441 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2442 b_4_basis_grad_value_3d_single_3(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2443 val(i, 0) = gradient[0];
2444 val(i, 1) = gradient[1];
2445 val(i, 2) = gradient[2];
2449 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2450 b_4_basis_grad_value_3d_single_4(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2451 val(i, 0) = gradient[0];
2452 val(i, 1) = gradient[1];
2453 val(i, 2) = gradient[2];
2457 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2458 b_4_basis_grad_value_3d_single_5(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2459 val(i, 0) = gradient[0];
2460 val(i, 1) = gradient[1];
2461 val(i, 2) = gradient[2];
2465 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2466 b_4_basis_grad_value_3d_single_6(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2467 val(i, 0) = gradient[0];
2468 val(i, 1) = gradient[1];
2469 val(i, 2) = gradient[2];
2473 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2474 b_4_basis_grad_value_3d_single_7(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2475 val(i, 0) = gradient[0];
2476 val(i, 1) = gradient[1];
2477 val(i, 2) = gradient[2];
2481 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2482 b_4_basis_grad_value_3d_single_8(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2483 val(i, 0) = gradient[0];
2484 val(i, 1) = gradient[1];
2485 val(i, 2) = gradient[2];
2489 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2490 b_4_basis_grad_value_3d_single_9(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2491 val(i, 0) = gradient[0];
2492 val(i, 1) = gradient[1];
2493 val(i, 2) = gradient[2];
2497 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2498 b_4_basis_grad_value_3d_single_10(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2499 val(i, 0) = gradient[0];
2500 val(i, 1) = gradient[1];
2501 val(i, 2) = gradient[2];
2505 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2506 b_4_basis_grad_value_3d_single_11(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2507 val(i, 0) = gradient[0];
2508 val(i, 1) = gradient[1];
2509 val(i, 2) = gradient[2];
2513 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2514 b_4_basis_grad_value_3d_single_12(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2515 val(i, 0) = gradient[0];
2516 val(i, 1) = gradient[1];
2517 val(i, 2) = gradient[2];
2521 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2522 b_4_basis_grad_value_3d_single_13(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2523 val(i, 0) = gradient[0];
2524 val(i, 1) = gradient[1];
2525 val(i, 2) = gradient[2];
2529 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2530 b_4_basis_grad_value_3d_single_14(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2531 val(i, 0) = gradient[0];
2532 val(i, 1) = gradient[1];
2533 val(i, 2) = gradient[2];
2537 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2538 b_4_basis_grad_value_3d_single_15(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2539 val(i, 0) = gradient[0];
2540 val(i, 1) = gradient[1];
2541 val(i, 2) = gradient[2];
2545 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2546 b_4_basis_grad_value_3d_single_16(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2547 val(i, 0) = gradient[0];
2548 val(i, 1) = gradient[1];
2549 val(i, 2) = gradient[2];
2553 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2554 b_4_basis_grad_value_3d_single_17(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2555 val(i, 0) = gradient[0];
2556 val(i, 1) = gradient[1];
2557 val(i, 2) = gradient[2];
2561 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2562 b_4_basis_grad_value_3d_single_18(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2563 val(i, 0) = gradient[0];
2564 val(i, 1) = gradient[1];
2565 val(i, 2) = gradient[2];
2569 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2570 b_4_basis_grad_value_3d_single_19(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2571 val(i, 0) = gradient[0];
2572 val(i, 1) = gradient[1];
2573 val(i, 2) = gradient[2];
2577 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2578 b_4_basis_grad_value_3d_single_20(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2579 val(i, 0) = gradient[0];
2580 val(i, 1) = gradient[1];
2581 val(i, 2) = gradient[2];
2585 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2586 b_4_basis_grad_value_3d_single_21(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2587 val(i, 0) = gradient[0];
2588 val(i, 1) = gradient[1];
2589 val(i, 2) = gradient[2];
2593 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2594 b_4_basis_grad_value_3d_single_22(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2595 val(i, 0) = gradient[0];
2596 val(i, 1) = gradient[1];
2597 val(i, 2) = gradient[2];
2601 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2602 b_4_basis_grad_value_3d_single_23(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2603 val(i, 0) = gradient[0];
2604 val(i, 1) = gradient[1];
2605 val(i, 2) = gradient[2];
2609 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2610 b_4_basis_grad_value_3d_single_24(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2611 val(i, 0) = gradient[0];
2612 val(i, 1) = gradient[1];
2613 val(i, 2) = gradient[2];
2617 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2618 b_4_basis_grad_value_3d_single_25(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2619 val(i, 0) = gradient[0];
2620 val(i, 1) = gradient[1];
2621 val(i, 2) = gradient[2];
2625 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2626 b_4_basis_grad_value_3d_single_26(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2627 val(i, 0) = gradient[0];
2628 val(i, 1) = gradient[1];
2629 val(i, 2) = gradient[2];
2633 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2634 b_4_basis_grad_value_3d_single_27(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2635 val(i, 0) = gradient[0];
2636 val(i, 1) = gradient[1];
2637 val(i, 2) = gradient[2];
2641 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2642 b_4_basis_grad_value_3d_single_28(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2643 val(i, 0) = gradient[0];
2644 val(i, 1) = gradient[1];
2645 val(i, 2) = gradient[2];
2649 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2650 b_4_basis_grad_value_3d_single_29(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2651 val(i, 0) = gradient[0];
2652 val(i, 1) = gradient[1];
2653 val(i, 2) = gradient[2];
2657 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2658 b_4_basis_grad_value_3d_single_30(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2659 val(i, 0) = gradient[0];
2660 val(i, 1) = gradient[1];
2661 val(i, 2) = gradient[2];
2665 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2666 b_4_basis_grad_value_3d_single_31(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2667 val(i, 0) = gradient[0];
2668 val(i, 1) = gradient[1];
2669 val(i, 2) = gradient[2];
2673 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2674 b_4_basis_grad_value_3d_single_32(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2675 val(i, 0) = gradient[0];
2676 val(i, 1) = gradient[1];
2677 val(i, 2) = gradient[2];
2681 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2682 b_4_basis_grad_value_3d_single_33(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2683 val(i, 0) = gradient[0];
2684 val(i, 1) = gradient[1];
2685 val(i, 2) = gradient[2];
2689 for (Eigen::Index i = 0; i < uv.rows(); ++i) {
2690 b_4_basis_grad_value_3d_single_34(uv(i, 0), uv(i, 1), uv(i, 2), gradient);
2691 val(i, 0) = gradient[0];
2692 val(i, 1) = gradient[1];
2693 val(i, 2) = gradient[2];
2696 default: assert(
false);
2707 case 0: b_0_basis_value_3d(local_index, uv,
val);
break;
2708 case 1: b_1_basis_value_3d(local_index, uv,
val);
break;
2709 case 2: b_2_basis_value_3d(local_index, uv,
val);
break;
2710 case 3: b_3_basis_value_3d(local_index, uv,
val);
break;
2711 case 4: b_4_basis_value_3d(local_index, uv,
val);
break;
2712 default: assert(
false);
2718 case 0: b_0_basis_grad_value_3d(local_index, uv,
val);
break;
2719 case 1: b_1_basis_grad_value_3d(local_index, uv,
val);
break;
2720 case 2: b_2_basis_grad_value_3d(local_index, uv,
val);
break;
2721 case 3: b_3_basis_grad_value_3d(local_index, uv,
val);
break;
2722 case 4: b_4_basis_grad_value_3d(local_index, uv,
val);
break;
2723 default: assert(
false);