36#include <Inventor/system/inttypes.h>
37#include <Inventor/SbBasic.h>
38#include <Inventor/SbString.h>
49typedef void * SoOutputReallocCB(
void * ptr,
size_t newSize);
61 virtual void setFilePointer(
FILE *
newFP);
62 virtual FILE * getFilePointer(
void)
const;
63 virtual SbBool openFile(
const char *
const fileName);
64 virtual void closeFile(
void);
66 SbBool setCompression(
const SbName & compmethod,
67 const float level = 0.5f);
68 static const SbName * getAvailableCompressionMethods(
unsigned int & num);
71 SoOutputReallocCB *
reallocFunc, int32_t offset = 0);
73 virtual size_t getBufferSize(
void)
const;
74 virtual void resetBuffer(
void);
75 virtual void setBinary(
const SbBool
flag);
76 virtual SbBool isBinary(
void)
const;
77 virtual void setHeaderString(
const SbString & str);
78 virtual void resetHeaderString(
void);
79 virtual void setFloatPrecision(
const int precision);
81 void setStage(Stage stage);
82 Stage getStage(
void)
const;
84 void incrementIndent(
const int levels = 1);
85 void decrementIndent(
const int levels = 1);
87 virtual void write(
const char c);
88 virtual void write(
const char * s);
89 virtual void write(
const SbString & s);
90 virtual void write(
const SbName &
n);
91 virtual void write(
const int i);
92 virtual void write(
const unsigned int i);
93 virtual void write(
const short s);
94 virtual void write(
const unsigned short s);
95 virtual void write(
const float f);
96 virtual void write(
const double d);
99 void write(
long int i);
100 void write(
long unsigned int i);
102 virtual void writeBinaryArray(
const unsigned char * c,
const int length);
103 virtual void writeBinaryArray(
const int32_t *
const l,
const int length);
104 virtual void writeBinaryArray(
const float *
const f,
const int length);
105 virtual void writeBinaryArray(
const double *
const d,
const int length);
107 virtual void indent(
void);
108 virtual void reset(
void);
109 void setCompact(SbBool
flag);
110 SbBool isCompact(
void)
const;
111 void setAnnotation(uint32_t
bits);
112 uint32_t getAnnotation(
void);
114 static SbString getDefaultASCIIHeader(
void);
115 static SbString getDefaultBinaryHeader(
void);
117 int addReference(
const SoBase * base);
118 int findReference(
const SoBase * base)
const;
121 void addDEFNode(
SbName name);
122 SbBool lookupDEFNode(
SbName name);
123 void removeDEFNode(
SbName name);
126 SoProto * getCurrentProto(
void)
const;
131 void resolveRoutes(
void);
134 SbBool isToBuffer(
void)
const;
135 size_t bytesInBuf(
void)
const;
136 SbBool makeRoomInBuf(
size_t nBytes);
137 void convertShort(
short s,
char * to);
138 void convertInt32(int32_t
l,
char * to);
139 void convertFloat(
float f,
char * to);
140 void convertDouble(
double d,
char * to);
141 void convertShortArray(
short * from,
char * to,
int len);
142 void convertInt32Array(int32_t * from,
char * to,
int len);
143 void convertFloatArray(
float * from,
char * to,
int len);
144 void convertDoubleArray(
double * from,
char * to,
int len);
153 void constructorCommon(
void);
155 void checkHeader(
void);
156 void writeBytesWithPadding(
const char *
const p,
const size_t nr);
159 friend class SoWriterefCounter;
160 void removeSoBase2IdRef(
const SoBase * base);
The SbDict class organizes a dictionary of keys and values.
Definition SbDict.h:63
The SbList class is a template container class for lists.
Definition SbList.h:70
The SbName class stores strings by reference.
Definition SbName.h:40
The SbString class is a string class with convenience functions for string operations.
Definition SbString.h:52
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition SoBase.h:45
The SoFieldContainer class is a base class for all classes that contain fields.
Definition SoFieldContainer.h:43
The SoField class is the top-level abstract base class for fields.
Definition SoField.h:47
The SoOutput class is an abstraction of an output stream.
Definition SoOutput.h:51
SbBool wroteHeader
Definition SoOutput.h:148
Annotations
Definition SoOutput.h:55
Stage
Definition SoOutput.h:53
@ COUNT_REFS
Definition SoOutput.h:53
The SoProto class handles PROTO definitions.
Definition SoProto.h:50