Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all 

NAME
SoInput — used to read Inventor data files
INHERITS FROM
SoInput
SYNOPSIS
#include <Inventor/SoInput.h>
Methods from class SoInput:
SoInput()
~SoInput()
static void addDirectoryFirst(const char *dirName)
static void addDirectoryLast(const char *dirName)
static void addEnvDirectoriesFirst(const char *envVarName)
static void addEnvDirectoriesLast(const char *envVarName)
static void removeDirectory(const char *dirName)
static void clearDirectories()
static const SbStringList & getDirectories()
void setFilePointer(FILE *newFP)
SbBool openFile(const char *fileName, SbBool okIfNotFound = FALSE)
SbBool pushFile(const char *fileName)
closeFile()
SbBool isValidFile()
FILE * getCurFile() const
const char * getCurFileName() const
void setBuffer(void *bufPointer, size_t bufSize)
SbString getHeader()
float getIVVersion()
DESCRIPTION
This class is used by the SoDB reading routines when reading Inventor data files. It supports both ASCII
(default) and binary Inventor formats. Users can also register additional valid file headers. When
reading, SoInput skips over Inventor comments (from '#' to end of line) and can stack input files. When
EOF is reached, the stack is popped. This class can also be used to read from a buffer in memory.
METHODS
SoInput()
~SoInput()
Constructor and destructor. The default SoInput reads from stdin. The destructor closes any files
opened by the SoInput.
static void addDirectoryFirst(const char *dirName)
static void addDirectoryLast(const char *dirName)
static void addEnvDirectoriesFirst(const char *envVarName)
static void addEnvDirectoriesLast(const char *envVarName)
The SoInput class maintains a global list of directories that is searched to find files when opening
them. Directories are searched in order. Each of these routines adds directories to the list, either
at the beginning ("First") or the end ("Last"). The last two routines add directories named in the
value of the given environment variable. Directories may be separated by colons or whitespace in the
variable's value.
static void removeDirectory(const char *dirName)
Removes named directory from the list.
static void clearDirectories()
Clears the list of directories (including the current directory).
static const SbStringList & getDirectories()
Returns the list of directories as an SbStringList.
void setFilePointer(FILE *newFP)
Sets file pointer to read from. Clears the stack of input files if necessary.
SbBool openFile(const char *fileName, SbBool okIfNotFound = FALSE)
Opens named file, sets file pointer to result. Clears the stack of input files if necessary. This
returns FALSE on error; if okIfNotFound is FALSE (the default), this prints an error message if the
file could not be found.
SbBool pushFile(const char *fileName)
Opens named file, pushing the resulting file pointer onto the stack. Returns FALSE on error.
closeFile()
Closes all files on stack opened with openFile() or pushFile().
SbBool isValidFile()
Returns TRUE if the currently open file is a valid Inventor file; that is, it begins with a valid
Inventor header, or one that has been registered with SoDB::registerHeader.
FILE * getCurFile() const
Returns a pointer to the current file, or NULL if reading from a buffer.
const char * getCurFileName() const
Returns full name (including directory path) of current file, or NULL if reading from a buffer.
void setBuffer(void *bufPointer, size_t bufSize)
Sets an in-memory buffer to read from, along with its size.
SbString getHeader()
Returns the header of the file being read.
float getIVVersion()
Returns the Inventor file version of the file being read (e.g. 2.1). If the file has a header
registered through SoDB::registerHeader(), the returned version is the Inventor version registered
with the header.
SEE ALSO
SoDB, SoOutput, SoTranReceiver
SoInput(3IV)()