changa  3.5
 All Classes Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
DumpFrameData.h
1 #ifndef DUMP_FRAME_DATA_H
2 #define DUMP_FRAME_DATA_H
3 
4 #include "ParallelGravity.h"
5 #include "Reductions.h"
6 
8 class 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
pixel of a dumpframe image
Definition: dumpframe.h:21
Group to hold the frame buffer memory.
Definition: DumpFrameData.h:8
Data needed for a TreePiece to render its part of the image.
Definition: dumpframe.h:116