1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/**************************************************************************\
*
* This file is part of the Coin 3D visualization library.
* Copyright (C) 1998-2003 by Systems in Motion. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation. See the
* file LICENSE.LGPL at the root directory of the distribution for
* more details.
*
* If you want to use Coin for applications not compatible with the
* LGPL, please contact SIM to acquire a Professional Edition license.
*
* Systems in Motion, Teknobyen, Abels Gate 5, 7030 Trondheim, NORWAY
* http://www.sim.no support@sim.no Voice: +47 22114160 Fax: +47 22207097
*
\**************************************************************************/
#ifndef COIN_SOFILE_H
#define COIN_SOFILE_H
#include <Inventor/nodes/SoSubNode.h>
#include <Inventor/fields/SoSFString.h>
class SoFieldSensor;
class SoGroup;
class SoSensor;
class COIN_DLL_API SoFile : public SoNode {
typedef SoNode inherited;
SO_NODE_HEADER(SoFile);
public:
static void initClass(void);
SoFile(void);
SoSFString name;
virtual void doAction(SoAction * action);
virtual void callback(SoCallbackAction * action);
virtual void GLRender(SoGLRenderAction * action);
virtual void getBoundingBox(SoGetBoundingBoxAction * action);
virtual void getMatrix(SoGetMatrixAction * action);
virtual void handleEvent(SoHandleEventAction * action);
virtual void pick(SoPickAction * action);
virtual void getPrimitiveCount(SoGetPrimitiveCountAction * action);
SoGroup * copyChildren(void) const;
virtual SoChildList * getChildren(void) const;
virtual void copyContents(const SoFieldContainer * from,
SbBool copyconnections);
const SbString & getFullName(void) const;
protected:
virtual ~SoFile();
virtual SbBool readInstance(SoInput * in, unsigned short flags);
private:
SbBool readNamedFile(SoInput * in);
static void nameFieldModified(void * userdata, SoSensor * sensor);
SoChildList * children;
SoFieldSensor * namesensor;
SbString fullname;
};
#endif // !COIN_SOFILE_H
|