Click or drag to resize
SoBufferObject.Map Method (SoBufferObject, SoBufferObject.AccessModes, UInt64, UInt64)

Maps the current buffer object into the specified buffer object.

Namespace: OIV.Inventor.Devices
Assembly: OIV.Inventor.Base (in OIV.Inventor.Base.dll) Version: 10.12.3.0 (10.12.3.0)
Syntax
public virtual void Map(
	SoBufferObject targetBufferObject,
	SoBufferObject. AccessModes accessMode,
	ulong startPosition,
	ulong mappingSize
)

Parameters

targetBufferObject
Type: OIV.Inventor.Devices.SoBufferObject

The buffer object which will be the mapped version of this buffer.

accessMode
Type: OIV.Inventor.Devices.SoBufferObject.AccessModes

The access mode used for the mapping.

startPosition
Type: System.UInt64

Offset (in bytes) in source buffer to map from (default is start of buffer).

mappingSize
Type: System.UInt64

Size (in bytes) from the startPosition, if SO_BUFFER_SIZE_ALL then the whole buffer is mapped.

Remarks

This is useful in order to use a buffer in multiple contexts. The default is to map the entire contents of this buffer, but it is also possible to map a subset of this buffer's memory using the startPosition and mappingSize parameters.

A source buffer may be mapped into multiple target buffers. However a target buffer can only be mapped from one source buffer at a time. If a different source buffer is currently mapped into the target buffer, it is automatically unmapped and may be left in an undefined state.

Note: If the current buffer is empty or startPosition is beyond the end of the managed memory, the buffer is not mapped (and an error message is issued in debug builds).

See Also