00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SOFILE_H
00021
#define COIN_SOFILE_H
00022
00023
#include <Inventor/nodes/SoSubNode.h>
00024
#include <Inventor/fields/SoSFString.h>
00025
00026
class SoFieldSensor;
00027
class SoGroup;
00028
class SoSensor;
00029
00030
00031 class COIN_DLL_API SoFile :
public SoNode {
00032
typedef SoNode inherited;
00033
00034 SO_NODE_HEADER(SoFile);
00035
00036
public:
00037
static void initClass(
void);
00038 SoFile(
void);
00039
00040
SoSFString name;
00041
00042
virtual void doAction(
SoAction * action);
00043
virtual void callback(
SoCallbackAction * action);
00044
virtual void GLRender(
SoGLRenderAction * action);
00045
virtual void getBoundingBox(
SoGetBoundingBoxAction * action);
00046
virtual void getMatrix(
SoGetMatrixAction * action);
00047
virtual void handleEvent(
SoHandleEventAction * action);
00048
virtual void pick(
SoPickAction * action);
00049
virtual void getPrimitiveCount(
SoGetPrimitiveCountAction * action);
00050
00051
SoGroup * copyChildren(
void)
const;
00052
virtual SoChildList *
getChildren(
void)
const;
00053
virtual void copyContents(
const SoFieldContainer * from,
00054 SbBool copyconnections);
00055
00056
const SbString & getFullName(
void)
const;
00057
00058
protected:
00059
virtual ~SoFile();
00060
00061
virtual SbBool readInstance(
SoInput * in,
unsigned short flags);
00062
00063
private:
00064 SbBool readNamedFile(
SoInput * in);
00065
static void nameFieldModified(
void * userdata,
SoSensor * sensor);
00066
00067
SoChildList * children;
00068
SoFieldSensor * namesensor;
00069
SbString fullname;
00070 };
00071
00072
#endif // !COIN_SOFILE_H