Open Inventor Reference
SoByteStream Class Reference

Converts scene graph objects to character byte streams. More...

#include <Inventor/misc/SoByteStream.h>

Public Member Functions

 SoByteStream ()
 Constructor and destructor. More...
 
 ~SoByteStream ()
 Constructor and destructor. More...
 
void convert (SoNode *node, bool binaryFormat=TRUE)
 Convert the passed node, path, or path list into a byte stream. More...
 
void convert (SoPath *path, bool binaryFormat=TRUE)
 
void convert (SoPathList *pathList, bool binaryFormat=TRUE)
 These convert the passed scene graph object(s) into a byte stream. More...
 
void * getData ()
 Returns the data from the last convert() operation. More...
 
uint32_t getNumBytes ()
 Returns the number of bytes from the last convert() operation. More...
 
void copy (void *d, size_t len)
 This allows apps to store raw data here without converting an Inventor node, path, or path list. More...
 
bool isRawData () const
 

Static Public Member Functions

static SoPathListunconvert (SoByteStream *byteStream)
 Unconvert a byte stream back to a path list. More...
 
static SoPathListunconvert (void *data, uint32_t numBytes)
 These take byte stream data and unconvert it back to scene graph objects. More...
 

Detailed Description

This class creates a byte stream representation of a scene graph, using an SoWriteAction to write path lists to an in-memory buffer. Byte streams are commonly used to transfer data in copy and paste operations.

Definition at line 78 of file SoByteStream.h.

Constructor & Destructor Documentation

◆ SoByteStream()

SoByteStream::SoByteStream ( )

◆ ~SoByteStream()

SoByteStream::~SoByteStream ( )

Member Function Documentation

◆ convert() [1/3]

void SoByteStream::convert ( SoNode node,
bool  binaryFormat = TRUE 
)

Caller may specify whether the byte stream is written in binary (TRUE) or ascii (FALSE) format. The converted data can be accessed through getData() and getNumBytes().

See also
convert(SoPathList *pathList, bool binaryFormat)

◆ convert() [2/3]

void SoByteStream::convert ( SoPath path,
bool  binaryFormat = TRUE 
)

◆ convert() [3/3]

void SoByteStream::convert ( SoPathList pathList,
bool  binaryFormat = TRUE 
)

The caller may specify whether the byte stream is written in binary (TRUE) or ASCII (FALSE) format, and can pass the object(s) by node, path, or pathList.

◆ copy()

void SoByteStream::copy ( void *  d,
size_t  len 
)

This sets isRaw to TRUE, and that data cannot be unconverted.

◆ getData()

void* SoByteStream::getData ( )
inline

This byte stream format is well suited to data transfers, like copy and paste.

Definition at line 105 of file SoByteStream.h.

◆ getNumBytes()

uint32_t SoByteStream::getNumBytes ( )
inline

Definition at line 108 of file SoByteStream.h.

◆ isRawData()

bool SoByteStream::isRawData ( ) const
inline

Definition at line 127 of file SoByteStream.h.

◆ unconvert() [1/2]

static SoPathList* SoByteStream::unconvert ( SoByteStream byteStream)
static

This static routine performs an SoDB::read on the data, and returns a path list of the paths read in. These take byte stream data and unconvert it back to scene graph objects. The objects are returned in a path list.

◆ unconvert() [2/2]

static SoPathList* SoByteStream::unconvert ( void *  data,
uint32_t  numBytes 
)
static

The objects are returned in a path list.


The documentation for this class was generated from the following file: