1 #ifndef COIN_SOFOREIGNFILEKIT_H
2 #define COIN_SOFOREIGNFILEKIT_H
27 #include <Inventor/SbBasic.h>
29 #include <Inventor/nodekits/SoSubKit.h>
30 #include <Inventor/nodekits/SoBaseKit.h>
32 #include <Inventor/fields/SoSFString.h>
34 typedef SbBool SoForeignFileIdentifyFunc(
const char *);
36 class SoForeignFileKitP;
42 SO_KIT_CATALOG_ENTRY_HEADER(topSeparator);
45 static void initClass(
void);
49 static SbBool isFileSupported(
SoInput * in, SbBool exhaust = FALSE);
52 static SbBool isFileSupported(
const char * filename, SbBool exhaust = FALSE);
53 static SoForeignFileKit * createForeignFileKit(
const char * filename, SbBool exhaust = FALSE);
56 virtual SbBool canReadFile(
const char * filename = NULL)
const;
57 virtual SbBool readFile(
const char * filename);
58 virtual SbBool canReadScene(
void)
const;
59 virtual SbBool readScene(
SoNode * scene);
61 virtual SbBool canWriteFile(
const char * filename = NULL)
const;
62 virtual SbBool writeFile(
const char * filename);
63 virtual SbBool canWriteScene(
const char * format = NULL)
const;
64 virtual SbBool writeScene(
SoNode *& root,
const char * format = NULL);
72 static SbBool registerFileExtension(
SoType handler,
SbName extension, SoForeignFileIdentifyFunc * identify);
75 SoForeignFileKitP * pimpl;
79 #endif // !COIN_SOFOREIGNFILEKIT_H