---
name: "SoByteStream"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoByteStream/3iv"
---

# SoByteStream(3iv)

converts scene graph objects to character byte streams

## NAME

SoByteStream — converts scene graph objects to character byte streams

## INHERITS FROM

SoByteStream

## SYNOPSIS

**#include \<Inventor/misc/SoByteStream.h\>**

Methods from class SoByteStream:

	**SoByteStream()**\
 	**~SoByteStream()**\
 **void**	**convert(SoNode \*node, SbBool binaryFormat = TRUE)**\
 **void**	**convert(SoPath \*path, SbBool binaryFormat = TRUE)**\
 **void**	**convert(SoPathList \*pathList, SbBool binaryFormat = TRUE)**\
 **void \***	**getData()**\
 **uint32\_t**	**getNumBytes()**\
 **static SoPathList \***	**unconvert(SoByteStream \*byteStream)**\
 **static SoPathList \***	**unconvert(void \*data, uint32\_t numBytes)**

## 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. (The **SoXtClipboard** class passes **SoByteStream** data during copy and paste.)

## METHODS

	**SoByteStream()**\
 	**~SoByteStream()**\
 Constructor and destructor.

**void**	**convert(SoNode \*node, SbBool binaryFormat = TRUE)**\
 **void**	**convert(SoPath \*path, SbBool binaryFormat = TRUE)**\
 **void**	**convert(SoPathList \*pathList, SbBool binaryFormat = TRUE)**\
 These convert the passed scene graph object(s) into a byte stream. 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.

**void \***	**getData()**\
 **uint32\_t**	**getNumBytes()**\
 These return the data and number of bytes from the last **convert()** operation. This byte stream format is well suited to data transfers, like copy and paste.

**static SoPathList \***	**unconvert(SoByteStream \*byteStream)**\
 **static SoPathList \***	**unconvert(void \*data, uint32\_t numBytes)**\
 These take byte stream data and unconvert it back to scene graph objects. The objects are returned in a path list.

## SEE ALSO

**SoXtClipboard**
