1 #ifndef COIN_SOOUTPUT_H 2 #define COIN_SOOUTPUT_H 36 #include <Inventor/system/inttypes.h> 37 #include <Inventor/SbBasic.h> 38 #include <Inventor/SbString.h> 49 typedef void * SoOutputReallocCB(
void * ptr,
size_t newSize);
53 enum Stage { COUNT_REFS, WRITE };
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);
70 virtual void setBuffer(
void * bufPointer,
size_t initSize,
71 SoOutputReallocCB * reallocFunc, int32_t offset = 0);
72 virtual SbBool getBuffer(
void * & bufPointer,
size_t & nBytes)
const;
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;
119 void setReference(
const SoBase * base,
int refid);
121 void addDEFNode(
SbName name);
122 SbBool lookupDEFNode(
SbName name);
123 void removeDEFNode(
SbName name);
125 void pushProto(
SoProto * proto);
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);
163 #endif // !COIN_SOOUTPUT_H The SoBase class is the top-level superclass for a number of class-hierarchies.SoBase provides the ba...
Definition: SoBase.h:45
The SoOutput class is an abstraction of an output stream.SoOutput offers the ability to write basic t...
Definition: SoOutput.h:51
Annotations
Definition: SoOutput.h:55
The SoFieldContainer class is a base class for all classes that contain fields.The classes containing...
Definition: SoFieldContainer.h:43
The SoField class is the top-level abstract base class for fields.Fields is the mechanism used throug...
Definition: SoField.h:47
The SbDict class organizes a dictionary of keys and values.It uses hashing to quickly insert and find...
Definition: SbDict.h:63
SbBool wroteHeader
Definition: SoOutput.h:148
The SoProto class handles PROTO definitions.
Definition: SoProto.h:50
Stage
Definition: SoOutput.h:53
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:52
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:40