27 #include <Inventor/system/inttypes.h>
28 #include <Inventor/SbBasic.h>
29 #include <Inventor/lists/SbList.h>
33 #include <Inventor/SoDB.h>
34 #endif // COIN_INTERNAL
44 class SoInput_FileInfo;
59 void pushProto(
SoProto * proto);
60 SoProto * getCurrentProto(
void)
const;
63 void addRoute(
const SbName & fromnode,
const SbName & fromfield,
70 virtual void setFilePointer(FILE * newFP);
71 virtual SbBool openFile(
const char * fileName, SbBool okIfNotFound = FALSE);
72 virtual SbBool pushFile(
const char * fileName);
73 virtual void closeFile(
void);
74 virtual SbBool isValidFile(
void);
75 virtual SbBool isValidBuffer(
void);
76 virtual FILE * getCurFile(
void)
const;
77 virtual const char * getCurFileName(
void)
const;
78 virtual void setBuffer(
void * bufpointer,
size_t bufsize);
79 void setStringArray(
const char * strings[]);
80 virtual size_t getNumBytesRead(
void)
const;
82 virtual float getIVVersion(
void);
83 virtual SbBool isBinary(
void);
85 virtual SbBool
get(
char & c);
86 virtual SbBool getASCIIBuffer(
char & c);
87 virtual SbBool getASCIIFile(
char & c);
88 virtual SbBool readHex(uint32_t & l);
89 virtual SbBool read(
char & c);
90 virtual SbBool read(
char & c, SbBool skip);
92 virtual SbBool read(
SbName & n, SbBool validIdent = FALSE);
93 virtual SbBool read(
int & i);
94 virtual SbBool read(
unsigned int & i);
95 virtual SbBool read(
short & s);
96 virtual SbBool read(
unsigned short & s);
97 virtual SbBool read(
float & f);
98 virtual SbBool read(
double & d);
99 virtual SbBool readByte(int8_t & b);
100 virtual SbBool readByte(uint8_t & b);
101 virtual SbBool readBinaryArray(
unsigned char * c,
int length);
102 virtual SbBool readBinaryArray(int32_t * l,
int length);
103 virtual SbBool readBinaryArray(
float * f,
int length);
104 virtual SbBool readBinaryArray(
double * d,
int length);
105 virtual SbBool eof(
void)
const;
107 SbBool isFileVRML1(
void);
108 SbBool isFileVRML2(
void);
109 virtual void resetFilePointer(FILE * fptr);
111 virtual void getLocationString(
SbString &
string)
const;
112 virtual void putBack(
const char c);
113 virtual void putBack(
const char * str);
114 virtual void addReference(
const SbName & name,
SoBase * base,
115 SbBool addToGlobalDict = TRUE);
116 virtual void removeReference(
const SbName & name);
117 virtual SoBase * findReference(
const SbName & name)
const;
119 static void addDirectoryFirst(
const char * dirName);
120 static void addDirectoryLast(
const char * dirName);
121 static void addEnvDirectoriesFirst(
const char * envVarName,
122 const char * separator =
":\t ");
123 static void addEnvDirectoriesLast(
const char * envVarName,
124 const char * separator =
":\t ");
125 static void removeDirectory(
const char * dirName);
126 static void clearDirectories(
void);
129 static void init(
void);
131 static SbString getPathname(
const char *
const filename);
133 static SbString getBasename(
const char *
const filename);
142 virtual SbBool popFile(
void);
143 void setIVVersion(
float version);
144 FILE * findFile(
const char * fileName,
SbString & fullName);
145 void initFile(FILE * newFP,
const char * fileName,
SbString * fullName,
146 SbBool openedHere,
SbDict * refDict = NULL);
147 SbBool checkHeader(SbBool bValidateBufferHeader = FALSE);
148 SbBool fromBuffer(
void)
const;
149 SbBool skipWhiteSpace(
void);
150 size_t freeBytesInBuf(
void)
const;
151 SbBool readInteger(int32_t & l);
152 SbBool readUnsignedInteger(uint32_t & l);
153 SbBool readReal(
double & d);
154 SbBool readUnsignedIntegerString(
char * str);
155 int readDigits(
char * str);
156 int readHexDigits(
char * str);
157 int readChar(
char * str,
char charToRead);
159 SbBool makeRoomInBuf(
size_t nBytes);
160 void convertShort(
char * from,
short * s);
161 void convertInt32(
char * from, int32_t * l);
162 void convertFloat(
char * from,
float * f);
163 void convertDouble(
char * from,
double * d);
164 void convertShortArray(
char * from,
short * to,
int len);
165 void convertInt32Array(
char * from, int32_t * to,
int len);
166 void convertFloatArray(
char * from,
float * to,
int len);
167 void convertDoubleArray(
char * from,
double * to,
int len);
168 SbBool isFileURL(
const char * url);
169 char * URLToFile(
char * out_buf,
const char * in_buf);
170 SbBool IsURL(
const char * c_strng);
176 friend class SoInputP;
178 static void clean(
void);
179 void constructorsCommon(
void);
181 static void addDirectoryIdx(
const int idx,
const char * dirName);
182 static void addEnvDirectoriesIdx(
int startidx,
const char * envVarName,
183 const char * separator);
187 SoInput_FileInfo * getTopOfStack(
void)
const {
188 return this->filestack[0];
194 #endif // !COIN_SOINPUT_H
The SoBase class is the top-level superclass for a number of class-hierarchies.SoBase provides the ba...
Definition: SoBase.h:36
The SoDB class keeps track of internal global data.This class collects various methods for initializi...
Definition: SoDB.h:46
The SoFieldContainer class is a base class for all classes that contain fields.The classes containing...
Definition: SoFieldContainer.h:34
The SoField class is the top-level abstract base class for fields.Fields is the mechanism used throug...
Definition: SoField.h:38
The SbDict class organizes a dictionary of keys and values.It uses hashing to quickly insert and find...
Definition: SbDict.h:54
The SoProto class handles PROTO definitions.
Definition: SoProto.h:41
The SbTime class instances represents time values.SbTime is a convenient way of doing system independ...
Definition: SbTime.h:41
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc.
Definition: SbString.h:42
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:31
The SbStringList class is a container for arrays of SbString pointers.Note that upon using the equali...
Definition: SbStringList.h:31