27#include <Inventor/system/inttypes.h>
28#include <Inventor/SbBasic.h>
29#include <Inventor/lists/SbList.h>
33 #include <Inventor/SoDB.h>
44class 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];
The SbDict class organizes a dictionary of keys and values.
Definition SbDict.h:54
The SbList class is a template container class for lists.
Definition SbList.h:61
The SbName class stores strings by reference.
Definition SbName.h:31
The SbStringList class is a container for arrays of SbString pointers.
Definition SbStringList.h:31
The SbString class is a string class with convenience functions for string operations.
Definition SbString.h:42
The SbTime class instances represents time values.
Definition SbTime.h:41
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition SoBase.h:36
The SoDB class keeps track of internal global data.
Definition SoDB.h:46
The SoFieldContainer class is a base class for all classes that contain fields.
Definition SoFieldContainer.h:34
The SoField class is the top-level abstract base class for fields.
Definition SoField.h:38
The SoProto class handles PROTO definitions.
Definition SoProto.h:41
Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.
Generated on Wed Jul 17 2024 for Coin by Doxygen 1.12.0.