430 answer.
resize(numberOfDofs, numberOfDofs);
434 for (
Dof *dof: *
this ) {
442 for (
Dof *dof2: *
this ) {
445 if ( ( id2 == D_u ) || ( id2 == D_v ) || ( id2 == D_w ) ) {
447 (
int ) ( id2 ) - (
int ) ( D_u ) + 1 );
456 for (
Dof *dof2: *
this ) {
459 if ( ( id2 == V_u ) || ( id2 == V_v ) || ( id2 == V_w ) ) {
461 (
int ) ( id2 ) - (
int ) ( V_u ) + 1 );
470 for (
Dof *dof2: *
this ) {
473 if ( ( id2 == R_u ) || ( id2 == R_v ) || ( id2 == R_w ) ) {
475 (
int ) ( id2 ) - (
int ) ( R_u ) + 1 );
484 answer.
at(i, i) = 1.0;
494 answer.
resize(size, size);
497 for (
int i = 1; i <= size; i++ ) {
503 for (
int j = 1; j <= size; j++ ) {
505 if ( ( id2 == D_u ) || ( id2 == D_v ) || ( id2 == D_w ) ) {
506 answer.
at(j, i) =
localCoordinateSystem->at( (
int ) (
id ) - (
int ) ( D_u ) + 1, (
int ) ( id2 ) - (
int ) ( D_u ) + 1 );
515 for (
int j = 1; j <= size; j++ ) {
517 if ( ( id2 == V_u ) || ( id2 == V_v ) || ( id2 == V_w ) ) {
518 answer.
at(j, i) =
localCoordinateSystem->at( (
int ) (
id ) - (
int ) ( V_u ) + 1, (
int ) ( id2 ) - (
int ) ( V_u ) + 1 );
527 for (
int j = 1; j <= size; j++ ) {
529 if ( ( id2 == R_u ) || ( id2 == R_v ) || ( id2 == R_w ) ) {
530 answer.
at(j, i) =
localCoordinateSystem->at( (
int ) (
id ) - (
int ) ( R_u ) + 1, (
int ) ( id2 ) - (
int ) ( R_u ) + 1 );
539 answer.
at(i, i) = 1.0;
622 EASValsSetMType(FILLED_CIRCLE_MARKER);
628 EASValsSetMType(SQUARE_MARKER);
636 EASValsSetColor(
gc.getNodeColor() );
638 EASValsSetColor(
gc.getDeformedElementColor() );
640 EASValsSetColor(
gc.getCrackPatternColor() );
643 bool ordinary =
true;
645 for (
Dof *dof: *
this ) {
653 EASValsSetColor(
gc.getBcIcColor() );
657 go = CreateMarker3D(p);
658 EGWithMaskChangeAttributes(COLOR_MASK | LAYER_MASK | MTYPE_MASK | MSIZE_MASK, go);
659 EMAddGraphicsToModel(ESIModel(), go);
665 EASValsSetColor(
gc.getNodeColor() );
672 go = CreateAnnText3D(p, num);
673 EGWithMaskChangeAttributes(COLOR_MASK | LAYER_MASK, go);
674 EMAddGraphicsToModel(ESIModel(), go);
676 int i, hasDisplSupport [ 3 ], hasRotSupport [ 3 ], hasAny = 0;
684 for ( i = 0; i < 3; i++ ) {
685 hasDisplSupport [ i ] = 0;
686 hasRotSupport [ i ] = 0;
689 for (
Dof *dof: *
this ) {
690 if ( dof->
hasBc(tStep) ) {
693 case D_u: hasDisplSupport [ 0 ] = 1;
695 case D_v: hasDisplSupport [ 1 ] = 1;
697 case D_w: hasDisplSupport [ 2 ] = 1;
699 case R_u: hasRotSupport [ 0 ] = 1;
701 case R_v: hasRotSupport [ 1 ] = 1;
703 case R_w: hasRotSupport [ 2 ] = 1;
711 EASValsSetColor(
gc.getBcIcColor() );
718 for ( i = 0; i < 3; i++ ) {
719 if ( hasDisplSupport [ i ] || hasRotSupport [ i ] ) {
739 pp [ 1 ].x = T->
at(i + 1, 1);
740 pp [ 1 ].y = T->
at(i + 1, 2);
741 pp [ 1 ].z = T->
at(i + 1, 3);
745 if ( hasDisplSupport [ i ] && hasRotSupport [ i ] ) {
746 EASValsSetVecMType(TRIPLE_ARROW_VECMARKER);
749 if ( hasDisplSupport [ i ] ) {
750 EASValsSetVecMType(ARROW_VECMARKER);
753 if ( hasRotSupport [ i ] ) {
754 EASValsSetVecMType(DOUBLE_ARROW_VECMARKER);
757 go = CreateVecMarker3D(pp);
758 EGWithMaskChangeAttributes(COLOR_MASK | LAYER_MASK | VECMTYPE_MASK, go);
759 EMAddGraphicsToModel(ESIModel(), go);
772 double defScale =
gc.getDefScale();
776 pp [ 1 ].x = pp [ 1 ].y = pp [ 1 ].z = 0.0;
794 for (
Dof *dof: *
this ) {
797 case D_u: force.at(1) = defScale * load.
at(i);
799 case D_v: force.at(2) = defScale * load.
at(i);
801 case D_w: force.at(3) = defScale * load.
at(i);
803 case R_u: momentum.
at(1) = defScale * load.
at(i);
805 case R_v: momentum.
at(2) = defScale * load.
at(i);
807 case R_w: momentum.
at(3) = defScale * load.
at(i);
813 EASValsSetColor(
gc.getBcForceColor() );
817 EASValsSetVecMType(ARROW_VECMARKER);
818 pp [ 1 ].x = force.at(1);
819 pp [ 1 ].y = force.at(2);
820 pp [ 1 ].z = force.at(3);
821 go = CreateVector3D(pp);
822 EGWithMaskChangeAttributes(COLOR_MASK | LAYER_MASK | VECMTYPE_MASK, go);
823 EMAddGraphicsToModel(ESIModel(), go);
825 EASValsSetVecMType(DOUBLE_ARROW_VECMARKER);
826 pp [ 1 ].x = momentum.
at(1);
827 pp [ 1 ].y = momentum.
at(2);
828 pp [ 1 ].z = momentum.
at(3);
829 go = CreateVector3D(pp);
830 EGWithMaskChangeAttributes(COLOR_MASK | LAYER_MASK | VECMTYPE_MASK, go);
831 EMAddGraphicsToModel(ESIModel(), go);
836 if (
gc.giveIntVarType() == IST_Velocity ) {
838 double defScale =
gc.getDefScale();
845 for (
Dof *dof: *
this ) {
847 p [ 1 ].x = defScale * dof->
giveUnknown(VM_Total, tStep);
849 p [ 1 ].y = defScale * dof->
giveUnknown(VM_Total, tStep);
851 p [ 1 ].z = defScale * dof->
giveUnknown(VM_Total, tStep);
855 EASValsSetColor(
gc.getDeformedElementColor() );
857 go = CreateVector3D(p);
858 EGWithMaskChangeAttributes(COLOR_MASK | LAYER_MASK, go);
859 EMAddGraphicsToModel(ESIModel(), go);
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]