1 #ifndef COIN_SOOUTPUT_H 
    2 #define COIN_SOOUTPUT_H 
   27 #include <Inventor/system/inttypes.h> 
   28 #include <Inventor/SbBasic.h> 
   29 #include <Inventor/SbString.h> 
   40 typedef void * SoOutputReallocCB(
void * ptr, 
size_t newSize);
 
   44   enum Stage { COUNT_REFS, WRITE };
 
   52   virtual void setFilePointer(FILE * newFP);
 
   53   virtual FILE * getFilePointer(
void) 
const;
 
   54   virtual SbBool openFile(
const char * 
const fileName);
 
   55   virtual void closeFile(
void);
 
   57   SbBool setCompression(
const SbName & compmethod,
 
   58                         const float level = 0.5f);
 
   59   static const SbName * getAvailableCompressionMethods(
unsigned int & num);
 
   61   virtual void setBuffer(
void * bufPointer, 
size_t initSize,
 
   62                          SoOutputReallocCB * reallocFunc, int32_t offset = 0);
 
   63   virtual SbBool getBuffer(
void * & bufPointer, 
size_t & nBytes) 
const;
 
   64   virtual size_t getBufferSize(
void) 
const;
 
   65   virtual void resetBuffer(
void);
 
   66   virtual void setBinary(
const SbBool flag);
 
   67   virtual SbBool isBinary(
void) 
const;
 
   68   virtual void setHeaderString(
const SbString & str);
 
   69   virtual void resetHeaderString(
void);
 
   70   virtual void setFloatPrecision(
const int precision);
 
   72   void setStage(Stage stage);
 
   73   Stage getStage(
void) 
const;
 
   75   void incrementIndent(
const int levels = 1);
 
   76   void decrementIndent(
const int levels = 1);
 
   78   virtual void write(
const char c);
 
   79   virtual void write(
const char * s);
 
   80   virtual void write(
const SbString & s);
 
   81   virtual void write(
const SbName & n);
 
   82   virtual void write(
const int i);
 
   83   virtual void write(
const unsigned int i);
 
   84   virtual void write(
const short s);
 
   85   virtual void write(
const unsigned short s);
 
   86   virtual void write(
const float f);
 
   87   virtual void write(
const double d);
 
   88   virtual void writeBinaryArray(
const unsigned char * c, 
const int length);
 
   89   virtual void writeBinaryArray(
const int32_t * 
const l, 
const int length);
 
   90   virtual void writeBinaryArray(
const float * 
const f, 
const int length);
 
   91   virtual void writeBinaryArray(
const double * 
const d, 
const int length);
 
   93   virtual void indent(
void);
 
   94   virtual void reset(
void);
 
   95   void setCompact(SbBool flag);
 
   96   SbBool isCompact(
void) 
const;
 
   97   void setAnnotation(uint32_t bits);
 
   98   uint32_t getAnnotation(
void);
 
  100   static SbString getDefaultASCIIHeader(
void);
 
  101   static SbString getDefaultBinaryHeader(
void);
 
  103   int addReference(
const SoBase * base);
 
  104   int findReference(
const SoBase * base) 
const;
 
  105   void setReference(
const SoBase * base, 
int refid);
 
  107   void addDEFNode(
SbName name);
 
  108   SbBool lookupDEFNode(
SbName name);
 
  109   void removeDEFNode(
SbName name);
 
  111   void pushProto(
SoProto * proto);
 
  112   SoProto * getCurrentProto(
void) 
const;
 
  117   void resolveRoutes(
void);
 
  120   SbBool isToBuffer(
void) 
const;
 
  121   size_t bytesInBuf(
void) 
const;
 
  122   SbBool makeRoomInBuf(
size_t nBytes);
 
  123   void convertShort(
short s, 
char * to);
 
  124   void convertInt32(int32_t l, 
char * to);
 
  125   void convertFloat(
float f, 
char * to);
 
  126   void convertDouble(
double d, 
char * to);
 
  127   void convertShortArray(
short * from, 
char * to, 
int len);
 
  128   void convertInt32Array(int32_t * from, 
char * to, 
int len);
 
  129   void convertFloatArray(
float * from, 
char * to, 
int len);
 
  130   void convertDoubleArray(
double * from, 
char * to, 
int len);
 
  139   void constructorCommon(
void);
 
  141   void checkHeader(
void);
 
  142   void writeBytesWithPadding(
const char * 
const p, 
const size_t nr);
 
  145   friend class SoWriterefCounter; 
 
  146   void removeSoBase2IdRef(
const SoBase * base);
 
  149 #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:36
The SoOutput class is an abstraction of an output stream.SoOutput offers the ability to write basic t...
Definition: SoOutput.h:42
Annotations
Definition: SoOutput.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
SbBool wroteHeader
Definition: SoOutput.h:134
The SoProto class handles PROTO definitions. 
Definition: SoProto.h:41
Stage
Definition: SoOutput.h:44
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