static PetscErrorCode PetscDrawTensorContour_Zoom(PetscDraw win,void *dctx) { PetscErrorCode ierr; int i; ZoomCtx *ctx = (ZoomCtx*)dctx; PetscFunctionBegin; ierr = PetscDrawTensorContourPatch(win,ctx->m,ctx->n,ctx->x,ctx->y,ctx->max,ctx->min,ctx->v);CHKERRQ(ierr); if (ctx->showgrid) { for (i=0; i<ctx->m; i++) { ierr = PetscDrawLine(win,ctx->x[i],ctx->y[0],ctx->x[i],ctx->y[ctx->n-1],PETSC_DRAW_BLACK);CHKERRQ(ierr); } for (i=0; i<ctx->n; i++) { ierr = PetscDrawLine(win,ctx->x[0],ctx->y[i],ctx->x[ctx->m-1],ctx->y[i],PETSC_DRAW_BLACK);CHKERRQ(ierr); } } PetscFunctionReturn(0); }
void PETSC_STDCALL petscdrawtensorcontourpatch_(PetscDraw draw,int *m,int *n,PetscReal *x,PetscReal *y,PetscReal *max,PetscReal *min,PetscReal *v, int *__ierr ){ *__ierr = PetscDrawTensorContourPatch( (PetscDraw)PetscToPointer((draw) ),*m,*n,x,y,*max,*min,v); }