00001 #ifndef COIN_SONOTIFICATION_H
00002 #define COIN_SONOTIFICATION_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <Inventor/misc/SoNotRec.h>
00028 #include <stdio.h>
00029
00030 class SoEngineOutput;
00031 class SoField;
00032
00033
00034 class COIN_DLL_API SoNotList {
00035 public:
00036 SoNotList(void);
00037 SoNotList(const SoNotList * nl);
00038
00039 void append(SoNotRec * const rec);
00040 void append(SoNotRec * const rec, SoField * const field);
00041 void append(SoNotRec * const rec, SoEngineOutput * const engineout);
00042 void setLastType(const SoNotRec::Type type);
00043 SoNotRec * getFirstRec(void) const;
00044 SoNotRec * getLastRec(void) const;
00045 SoNotRec * getFirstRecAtNode(void) const;
00046 SoField * getLastField(void) const;
00047 SoEngineOutput * getLastEngineOutput(void) const;
00048 uint32_t getTimeStamp(void) const;
00049
00050 void print(FILE * const file = stdout) const;
00051
00052 private:
00053 SoNotRec * head;
00054 SoNotRec * tail;
00055 SoNotRec * firstnoderec;
00056 SoField * lastfield;
00057 SoEngineOutput * lastengine;
00058 uint32_t stamp;
00059 };
00060
00061 #endif // !COIN_SONOTIFICATION_H