00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SOWRITEACTION_H
00021
#define COIN_SOWRITEACTION_H
00022
00023
#include <Inventor/actions/SoAction.h>
00024
#include <Inventor/actions/SoSubAction.h>
00025
00026
class SoVRMLPROTODef;
00027
class SoVRMLEXTERNPROTODef;
00028
00029
00030 class COIN_DLL_API SoWriteAction :
public SoAction {
00031
typedef SoAction inherited;
00032
00033 SO_ACTION_HEADER(SoWriteAction);
00034
00035
public:
00036 SoWriteAction(
void);
00037 SoWriteAction(
SoOutput * out);
00038
virtual ~SoWriteAction();
00039
00040
static void initClass(
void);
00041
00042
SoOutput * getOutput(
void)
const;
00043
00044
void continueToApply(
SoNode * node);
00045
void continueToApply(
SoPath * path);
00046
00047
protected:
00048
virtual void beginTraversal(
SoNode * node);
00049
virtual SbBool shouldCompactPathLists(
void)
const;
00050
00051
private:
00052
void commonConstructor(
SoOutput * out);
00053
00054
SoOutput * outobj;
00055 SbBool localoutputalloc;
00056 SbBool continuing;
00057 };
00058
00059
#endif // !COIN_SOWRITEACTION_H