118 double dn1 = ksi - 0.5;
119 double dn2 = ksi + 0.5;
120 double dn3 = -2.0 * ksi;
122 double x1 = this->
giveNode(1)->giveCoordinate(1);
123 double x2 = this->
giveNode(2)->giveCoordinate(1);
124 double x3 = this->
giveNode(3)->giveCoordinate(1);
126 double y1 = this->
giveNode(1)->giveCoordinate(2);
127 double y2 = this->
giveNode(2)->giveCoordinate(2);
128 double y3 = this->
giveNode(3)->giveCoordinate(2);
130 double dx = ( dn1 * x1 ) + ( dn2 * x2 ) + ( dn3 * x3 );
131 double dy = ( dn1 * y1 ) + ( dn2 * y2 ) + ( dn3 * y3 );
136 double n3 = 1. - ksi * ksi;
137 double n1 = ( 1. - ksi ) * 0.5 - 0.5 * n3;
138 double n2 = ( 1. + ksi ) * 0.5 - 0.5 * n3;
139 r = n1*this->
giveNode(1)->giveCoordinate(1) + n2*this->
giveNode(2)->giveCoordinate(1)+ n3*this->
giveNode(3)->giveCoordinate(1);
142 return sqrt(dx * dx + dy * dy) * weight * thickness * r;
177InterfaceElem2dQuad :: computeGtoLRotationMatrix(
FloatMatrix &answer)
183 double dn1 = ksi - 0.5;
184 double dn2 = ksi + 0.5;
185 double dn3 = -2.0 * ksi;
188 grad.
at(1) = dn1 * this->
giveNode(1)->giveCoordinate(1) + dn2 *this->
giveNode(2)->giveCoordinate(1) + dn3 *this->
giveNode(3)->giveCoordinate(1);
189 grad.
at(2) = dn1 * this->
giveNode(1)->giveCoordinate(2) + dn2 *this->
giveNode(2)->giveCoordinate(2) + dn3 *this->
giveNode(3)->giveCoordinate(2);
193 for (
int i = 0; i < 6; i++ ) {
194 answer.
at(i * 2 + 1, i * 2 + 1) = grad.
at(1);
195 answer.
at(i * 2 + 1, i * 2 + 2) = grad.
at(2);
196 answer.
at(i * 2 + 2, i * 2 + 1) = -grad.
at(2);
197 answer.
at(i * 2 + 2, i * 2 + 2) = grad.
at(1);
248 if ( !
gc.testElementGraphicActivity(
this) ) {
253 EASValsSetColor(
gc.getElementColor() );
255 p [ 0 ].x = ( FPNum ) this->
giveNode(1)->giveCoordinate(1);
256 p [ 0 ].y = ( FPNum ) this->
giveNode(1)->giveCoordinate(2);
258 p [ 1 ].x = ( FPNum ) this->
giveNode(3)->giveCoordinate(1);
259 p [ 1 ].y = ( FPNum ) this->
giveNode(3)->giveCoordinate(2);
261 go = CreateLine3D(p);
262 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
263 EGAttachObject(go, ( EObjectP )
this);
264 EMAddGraphicsToModel(ESIModel(), go);
265 p [ 0 ].x = ( FPNum ) this->
giveNode(3)->giveCoordinate(1);
266 p [ 0 ].y = ( FPNum ) this->
giveNode(3)->giveCoordinate(2);
268 p [ 1 ].x = ( FPNum ) this->
giveNode(2)->giveCoordinate(1);
269 p [ 1 ].y = ( FPNum ) this->
giveNode(2)->giveCoordinate(2);
271 go = CreateLine3D(p);
272 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
273 EGAttachObject(go, ( EObjectP )
this);
274 EMAddGraphicsToModel(ESIModel(), go);
283 if ( !
gc.testElementGraphicActivity(
this) ) {
287 double defScale =
gc.getDefScale();
290 EASValsSetColor(
gc.getDeformedElementColor() );
292 p [ 0 ].x = ( FPNum ) this->
giveNode(1)->giveUpdatedCoordinate(1, tStep, defScale);
293 p [ 0 ].y = ( FPNum ) this->
giveNode(1)->giveUpdatedCoordinate(2, tStep, defScale);
295 p [ 1 ].x = ( FPNum ) this->
giveNode(2)->giveUpdatedCoordinate(1, tStep, defScale);
296 p [ 1 ].y = ( FPNum ) this->
giveNode(2)->giveUpdatedCoordinate(2, tStep, defScale);
298 go = CreateLine3D(p);
299 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
300 EMAddGraphicsToModel(ESIModel(), go);
302 p [ 0 ].x = ( FPNum ) this->
giveNode(4)->giveUpdatedCoordinate(1, tStep, defScale);
303 p [ 0 ].y = ( FPNum ) this->
giveNode(4)->giveUpdatedCoordinate(2, tStep, defScale);
305 p [ 1 ].x = ( FPNum ) this->
giveNode(5)->giveUpdatedCoordinate(1, tStep, defScale);
306 p [ 1 ].y = ( FPNum ) this->
giveNode(5)->giveUpdatedCoordinate(2, tStep, defScale);
308 go = CreateLine3D(p);
309 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
310 EMAddGraphicsToModel(ESIModel(), go);
316 int indx, result = 0;
322 if ( !
gc.testElementGraphicActivity(
this) ) {
337 indx =
gc.giveIntVarIndx();
341 p [ 0 ].x = ( FPNum ) gcoord.at(1);
342 p [ 0 ].y = ( FPNum ) gcoord.at(2);
345 val [ 0 ] = v1.
at(indx);
346 gc.updateFringeTableMinMax(val, 1);
350 EASValsSetMType(FILLED_CIRCLE_MARKER);
351 go = CreateMarkerWD3D(p, val [ 0 ]);
352 EGWithMaskChangeAttributes(LAYER_MASK | FILL_MASK | MTYPE_MASK, go);
353 EMAddGraphicsToModel(ESIModel(), go);
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
#define OOFEG_VARPLOT_PATTERN_LAYER
#define OOFEG_DEFORMED_GEOMETRY_LAYER
#define OOFEG_DEFORMED_GEOMETRY_WIDTH
#define OOFEG_RAW_GEOMETRY_WIDTH
#define OOFEG_RAW_GEOMETRY_LAYER