Lines Matching refs:draw

38 PetscErrorCode PetscDrawSetSave(PetscDraw draw, const char filename[])  in PetscDrawSetSave()  argument
45 PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); in PetscDrawSetSave()
62 if (!savename) PetscCall(PetscObjectGetName((PetscObject)draw, &savename)); in PetscDrawSetSave()
65 draw->savefilecount = 0; in PetscDrawSetSave()
66 PetscCall(PetscFree(draw->savefilename)); in PetscDrawSetSave()
67 PetscCall(PetscFree(draw->saveimageext)); in PetscDrawSetSave()
68 PetscCall(PetscStrallocpy(savename, &draw->savefilename)); in PetscDrawSetSave()
69 PetscCall(PetscStrallocpy(imageext, &draw->saveimageext)); in PetscDrawSetSave()
71 if (draw->savesinglefile) { in PetscDrawSetSave()
72 …PetscCall(PetscInfo(NULL, "Will save image to file %s%s\n", draw->savefilename, draw->saveimageext… in PetscDrawSetSave()
74 …cInfo(NULL, "Will save images to file %s/%s_%%d%s\n", draw->savefilename, draw->savefilename, draw in PetscDrawSetSave()
99 PetscErrorCode PetscDrawSetSaveMovie(PetscDraw draw, const char movieext[]) in PetscDrawSetSaveMovie() argument
102 PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); in PetscDrawSetSaveMovie()
105 if (!draw->savefilename) PetscCall(PetscDrawSetSave(draw, "")); in PetscDrawSetSaveMovie()
107 PetscCall(PetscStrallocpy(movieext, &draw->savemovieext)); in PetscDrawSetSaveMovie()
108 draw->savesinglefile = PETSC_FALSE; /* otherwise we cannot generate movies */ in PetscDrawSetSaveMovie()
110 …PetscCall(PetscInfo(NULL, "Will save movie to file %s%s\n", draw->savefilename, draw->savemovieext… in PetscDrawSetSaveMovie()
141 PetscErrorCode PetscDrawSetSaveFinalImage(PetscDraw draw, const char filename[]) in PetscDrawSetSaveFinalImage() argument
146 PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); in PetscDrawSetSaveFinalImage()
148 if (!draw->savefilename) { in PetscDrawSetSaveFinalImage()
149 PetscCall(PetscObjectGetName((PetscObject)draw, &filename)); in PetscDrawSetSaveFinalImage()
151 PetscCall(PetscSNPrintf(buf, sizeof(buf), "%s%s", draw->savefilename, draw->saveimageext)); in PetscDrawSetSaveFinalImage()
155 PetscCall(PetscFree(draw->savefinalfilename)); in PetscDrawSetSaveFinalImage()
156 PetscCall(PetscStrallocpy(filename, &draw->savefinalfilename)); in PetscDrawSetSaveFinalImage()
175 PetscErrorCode PetscDrawSave(PetscDraw draw) in PetscDrawSave() argument
185 PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); in PetscDrawSave()
186 if (!draw->ops->save && !draw->ops->getimage) PetscFunctionReturn(PETSC_SUCCESS); in PetscDrawSave()
187 if (draw->ops->save) { in PetscDrawSave()
188 PetscUseTypeMethod(draw, save); in PetscDrawSave()
191 if (!draw->savefilename || !draw->saveimageext) PetscFunctionReturn(PETSC_SUCCESS); in PetscDrawSave()
192 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)draw), &rank)); in PetscDrawSave()
194 saveindex = draw->savefilecount++; in PetscDrawSave()
198 if (draw->savesinglefile) { in PetscDrawSave()
199 PetscCall(PetscSNPrintf(path, sizeof(path), "%s%s", draw->savefilename, draw->saveimageext)); in PetscDrawSave()
202 PetscCall(PetscSNPrintf(path, sizeof(path), "%s", draw->savefilename)); in PetscDrawSave()
206 if (draw->savemovieext) { in PetscDrawSave()
207 PetscCall(PetscSNPrintf(path, sizeof(path), "%s%s", draw->savefilename, draw->savemovieext)); in PetscDrawSave()
211 if (draw->savesinglefile) { in PetscDrawSave()
212 PetscCall(PetscSNPrintf(basename, sizeof(basename), "%s", draw->savefilename)); in PetscDrawSave()
216 PetscCall(PetscStrrchr(draw->savefilename, '/', &basefilename)); in PetscDrawSave()
217 if (basefilename != draw->savefilename) { in PetscDrawSave()
218 …PetscCall(PetscSNPrintf(basename, sizeof(basename), "%s_%" PetscInt_FMT, draw->savefilename, savei… in PetscDrawSave()
220 …tscSNPrintf(basename, sizeof(basename), "%s/%s_%" PetscInt_FMT, draw->savefilename, draw->savefile… in PetscDrawSave()
225 PetscUseTypeMethod(draw, getimage, palette, &w, &h, &pixels); in PetscDrawSave()
227 if (rank == 0) PetscCall(PetscDrawImageSave(basename, draw->saveimageext, palette, w, h, pixels)); in PetscDrawSave()
229 PetscCallMPI(MPI_Barrier(PetscObjectComm((PetscObject)draw))); in PetscDrawSave()
233 PetscCall(PetscDrawSave_SAWs(draw)); in PetscDrawSave()
255 PetscErrorCode PetscDrawSaveMovie(PetscDraw draw) in PetscDrawSaveMovie() argument
260 PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); in PetscDrawSaveMovie()
261 if (!draw->ops->save && !draw->ops->getimage) PetscFunctionReturn(PETSC_SUCCESS); in PetscDrawSaveMovie()
262 …if (!draw->savefilename || !draw->savemovieext || draw->savesinglefile) PetscFunctionReturn(PETSC_… in PetscDrawSaveMovie()
263 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)draw), &rank)); in PetscDrawSaveMovie()
265 const char *fname = draw->savefilename; in PetscDrawSaveMovie()
266 const char *imext = draw->saveimageext; in PetscDrawSaveMovie()
267 const char *mvext = draw->savemovieext; in PetscDrawSaveMovie()
268 …if (rank == 0) PetscCall(PetscDrawMovieSave(fname, draw->savefilecount, imext, draw->savemoviefps,… in PetscDrawSaveMovie()
269 PetscCallMPI(MPI_Barrier(PetscObjectComm((PetscObject)draw))); in PetscDrawSaveMovie()
338 static PetscErrorCode PetscDrawSave_SAWs(PetscDraw draw) in PetscDrawSave_SAWs() argument
345 if (!draw->savefilename || !draw->saveimageext) PetscFunctionReturn(PETSC_SUCCESS); in PetscDrawSave_SAWs()
346 PetscCall(PetscImageListAdd(draw->savefilename, draw->saveimageext, draw->savefilecount - 1)); in PetscDrawSave_SAWs()
351 if (draw->savesinglefile) { in PetscDrawSave_SAWs()
360 if (draw->savefilecount > 0) PetscCallSAWs(SAWs_Pop_Body, ("index.html", 1)); in PetscDrawSave_SAWs()