changa 3.5
Loading...
Searching...
No Matches
DumpFrameData.h
1#ifndef DUMP_FRAME_DATA_H
2#define DUMP_FRAME_DATA_H
3
4#include "ParallelGravity.h"
5#include "Reductions.h"
6
8class DumpFrameData : public CBase_DumpFrameData
9{
10 void *bufImage;
11 int nImage;
12 public:
13 void *Image;
14
15 DumpFrameData() { bufImage = NULL; }
16 DumpFrameData(CkMigrateMessage *m) : CBase_DumpFrameData(m) { bufImage = NULL;}
17 void pup(PUP::er &p) { CBase_DumpFrameData::pup(p); }
18 ~DumpFrameData() { if(bufImage) free(bufImage); }
20 void clearFrame(InDumpFrame in, const CkCallback& cb) {
21 if(bufImage == NULL)
22 bufImage = malloc(sizeof(in) + in.nxPix*in.nyPix*sizeof(DFIMAGE));
23 Image = ((char *)bufImage) + sizeof(in);
24 *((struct inDumpFrame *)bufImage) = in; //start of reduction
25 //message is the parameters
26 dfClearImage( &in, Image, &nImage);
27 contribute(cb);
28 }
29
30 void combineFrame(InDumpFrame in, const CkCallback& cb) {
31 contribute(sizeof(in) + nImage, bufImage, dfImageReduction, cb);
32 free(bufImage);
33 bufImage = NULL;
34 }
35 };
36
37#endif
Data needed for a TreePiece to render its part of the image.
Definition dumpframe.h:117