Table of Contents

Class Buffer

Namespace
easyar

Buffer speichert ein Array von Rohbytes und kann verwendet werden, um auf Bilddaten zuzugreifen. In der Java API kann der Buffer von Image abgerufen und dann Daten in ein Java-Byte-Array kopiert werden. In allen Versionen von EasyAR Sense können Sie auf Bilddaten zugreifen. Siehe Image.

Buffer

Methoden

wrap

Verpackt einen Rohspeicherblock mit angegebener Länge. Wenn der Buffer vollständig freigegeben wird, wird der Deleter-Callback aufgerufen, um benutzerdefinierte Speicherzerstörungsaktionen auszuführen. Der Deleter muss threadsicher sein.

void easyar_Buffer_wrap(void * ptr, int size, easyar_FunctorOfVoid deleter, easyar_Buffer * * Return)
static std::shared_ptr<Buffer> wrap(void * ptr, int size, std::function<void()> deleter)
public static @Nonnull Buffer wrap(long ptr, int size, @Nonnull FunctorOfVoid deleter)
companion object fun wrap(ptr: Long, size: Int, deleter: FunctorOfVoid): Buffer
+ (easyar_Buffer *)wrap:(void *)ptr size:(int)size deleter:(void (^)())deleter
public static func wrap(_ ptr: OpaquePointer?, _ size: Int32, _ deleter: @escaping () -> Void) -> Buffer
public static Buffer wrap(IntPtr ptr, int size, Action deleter)

Parameter

Name Typ Beschreibung
ptr IntPtr
size Int32
deleter Action

Rückgabewert

Typ Beschreibung
Buffer

create

Erstellt einen Buffer mit angegebener Byte-Länge.

void easyar_Buffer_create(int size, easyar_Buffer * * Return)
static std::shared_ptr<Buffer> create(int size)
public static @Nonnull Buffer create(int size)
companion object fun create(size: Int): Buffer
+ (easyar_Buffer *)create:(int)size
public static func create(_ size: Int32) -> Buffer
public static Buffer create(int size)

Parameter

Name Typ Beschreibung
size Int32

Rückgabewert

Typ Beschreibung
Buffer

data

Gibt die Rohspeicheradresse zurück.

void * easyar_Buffer_data(const easyar_Buffer * This)
void * data()
public long data()
fun data(): Long
- (void *)data
public func data() -> OpaquePointer?
public virtual IntPtr data()

Rückgabewert

Typ Beschreibung
IntPtr

size

Die Byte-Länge des Buffers.

int easyar_Buffer_size(const easyar_Buffer * This)
int size()
public int size()
fun size(): Int
- (int)size
public func size() -> Int32
public virtual int size()

Rückgabewert

Typ Beschreibung
Int32

memoryCopy

Kopiert Rohspeicher. Hauptsächlich für Sprachen oder Umgebungen mit unvollständiger Speicherverwaltung verwendet.

void easyar_Buffer_memoryCopy(void * src, void * dest, int length)
static void memoryCopy(void * src, void * dest, int length)
public static void memoryCopy(long src, long dest, int length)
companion object fun memoryCopy(src: Long, dest: Long, length: Int): Unit
+ (void)memoryCopy:(void *)src dest:(void *)dest length:(int)length
public static func memoryCopy(_ src: OpaquePointer?, _ dest: OpaquePointer?, _ length: Int32) -> Void
public static void memoryCopy(IntPtr src, IntPtr dest, int length)

Parameter

Name Typ Beschreibung
src IntPtr
dest IntPtr
length Int32

Rückgabewert

Typ Beschreibung
Void

tryCopyFrom

Versucht, Daten von einer Rohspeicheradresse in den Buffer zu kopieren. Gibt true zurück, wenn erfolgreich, sonst false. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

bool easyar_Buffer_tryCopyFrom(easyar_Buffer * This, void * src, int srcIndex, int index, int length)
bool tryCopyFrom(void * src, int srcIndex, int index, int length)
public boolean tryCopyFrom(long src, int srcIndex, int index, int length)
fun tryCopyFrom(src: Long, srcIndex: Int, index: Int, length: Int): Boolean
- (bool)tryCopyFrom:(void *)src srcIndex:(int)srcIndex index:(int)index length:(int)length
public func tryCopyFrom(_ src: OpaquePointer?, _ srcIndex: Int32, _ index: Int32, _ length: Int32) -> Bool
public virtual bool tryCopyFrom(IntPtr src, int srcIndex, int index, int length)

Parameter

Name Typ Beschreibung
src IntPtr
srcIndex Int32
index Int32
length Int32

Rückgabewert

Typ Beschreibung
Boolean

tryCopyTo

Versucht, Daten vom Buffer zu einer Rohspeicheradresse zu kopieren. Gibt true zurück, wenn erfolgreich, sonst false. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

bool easyar_Buffer_tryCopyTo(easyar_Buffer * This, int index, void * dest, int destIndex, int length)
bool tryCopyTo(int index, void * dest, int destIndex, int length)
public boolean tryCopyTo(int index, long dest, int destIndex, int length)
fun tryCopyTo(index: Int, dest: Long, destIndex: Int, length: Int): Boolean
- (bool)tryCopyTo:(int)index dest:(void *)dest destIndex:(int)destIndex length:(int)length
public func tryCopyTo(_ index: Int32, _ dest: OpaquePointer?, _ destIndex: Int32, _ length: Int32) -> Bool
public virtual bool tryCopyTo(int index, IntPtr dest, int destIndex, int length)

Parameter

Name Typ Beschreibung
index Int32
dest IntPtr
destIndex Int32
length Int32

Rückgabewert

Typ Beschreibung
Boolean

partition

Erstellt einen Sub-Buffer, der auf den ursprünglichen Buffer verweist. Ein Buffer wird erst freigegeben, wenn alle Sub-Buffer freigegeben sind.

void easyar_Buffer_partition(easyar_Buffer * This, int index, int length, easyar_Buffer * * Return)
std::shared_ptr<Buffer> partition(int index, int length)
public @Nonnull Buffer partition(int index, int length)
fun partition(index: Int, length: Int): Buffer
- (easyar_Buffer *)partition:(int)index length:(int)length
public func partition(_ index: Int32, _ length: Int32) -> Buffer
public virtual Buffer partition(int index, int length)

Parameter

Name Typ Beschreibung
index Int32
length Int32

Rückgabewert

Typ Beschreibung
Buffer

wrapByteArray

Verpackt ein Byte-Array.

public static @Nonnull Buffer wrapByteArray(byte @Nonnull[] bytes)
companion object fun wrapByteArray(bytes: Array<Byte>): Buffer
public static Buffer wrapByteArray(byte[] bytes)

Parameter

Name Typ Beschreibung
bytes

Rückgabewert

Typ Beschreibung
Buffer

wrapByteArray

Verpackt ein Byte-Array. Kann Startposition und Länge angeben, kann festlegen, ob der Buffer nur lesbar oder lesbar/schreibbar ist (schreibgeschützte Buffer können schneller freigegeben werden). Kann einen Deleter-Callback angeben, der aufgerufen wird, wenn der Buffer vollständig freigegeben wird, um benutzerdefinierte Speicherzerstörungsaktionen auszuführen. Der Deleter muss threadsicher sein.

public static @Nonnull Buffer wrapByteArray(byte @Nonnull[] bytes, int index, int length, boolean readOnly, @Nonnull FunctorOfVoid deleter)
companion object fun wrapByteArray(bytes: Array<Byte>, index: Int, length: Int, readOnly: Boolean, deleter: FunctorOfVoid): Buffer

Parameter

Name Typ Beschreibung
bytes
index Int32
length Int32
readOnly Boolean
deleter Action

Rückgabewert

Typ Beschreibung
Buffer

wrapByteArray

Verpackt ein Byte-Array. Kann Startposition und Länge angeben.

public static Buffer wrapByteArray(byte[] bytes, int index, int length)

Parameter

Name Typ Beschreibung
bytes
index Int32
length Int32

Rückgabewert

Typ Beschreibung
Buffer

wrapByteArray

Verpackt ein Byte-Array. Kann Startposition und Länge angeben. Kann einen Deleter-Callback angeben, der aufgerufen wird, wenn der Buffer vollständig freigegeben wird, um benutzerdefinierte Speicherzerstörungsaktionen auszuführen. Der Deleter muss threadsicher sein.

public static Buffer wrapByteArray(byte[] bytes, int index, int length, Action deleter)

Parameter

Name Typ Beschreibung
bytes
index Int32
length Int32
deleter Action

Rückgabewert

Typ Beschreibung
Buffer

wrapBuffer

Verpackt ein java.nio.Buffer.

public static @Nonnull Buffer wrapBuffer(java.nio.@Nonnull Buffer directBuffer)
companion object fun wrapBuffer(directBuffer: java.nio.Buffer): Buffer

Parameter

Name Typ Beschreibung
directBuffer

Rückgabewert

Typ Beschreibung
Buffer

wrapBuffer

Verpackt ein java.nio.Buffer. Kann einen Deleter-Callback angeben, der aufgerufen wird, wenn der Buffer vollständig freigegeben wird, um benutzerdefinierte Speicherzerstörungsaktionen auszuführen. Der Deleter muss threadsicher sein.

public static @Nonnull Buffer wrapBuffer(java.nio.@Nonnull Buffer directBuffer, @Nonnull FunctorOfVoid deleter)
companion object fun wrapBuffer(directBuffer: java.nio.Buffer, deleter: Action): Buffer

Parameter

Name Typ Beschreibung
directBuffer
deleter Action

Rückgabewert

Typ Beschreibung
Buffer

copyFromByteArray

Kopiert Daten von einem Byte-Array in den Buffer. Wenn der Kopiervorgang fehlschlägt, wird eine Ausnahme ausgelöst. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public void copyFromByteArray(byte @Nonnull[] src)
fun copyFromByteArray(src: Array<Byte>): Unit
public void copyFromByteArray(byte[] src)

Parameter

Name Typ Beschreibung
src

copyFromByteArray

Kopiert Daten von einem Byte-Array in den Buffer. Wenn der Kopiervorgang fehlschlägt, wird eine Ausnahme ausgelöst. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public void copyFromByteArray(byte @Nonnull[] src, int srcIndex, int index, int length)
fun copyFromByteArray(src: Array<Byte>, srcIndex: Int, index: Int, length: Int): Unit
public void copyFromByteArray(byte[] src, int srcIndex, int index, int length)

Parameter

Name Typ Beschreibung
src
srcIndex Int32
index Int32
length Int32

copyToByteArray

Kopiert Daten vom Buffer in ein Byte-Array. Wenn der Kopiervorgang fehlschlägt, wird eine Ausnahme ausgelöst. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public void copyToByteArray(byte @Nonnull[] dest)
fun copyToByteArray(dest: Array<Byte>): Unit
public void copyToByteArray(byte[] dest)

Parameter

Name Typ Beschreibung
dest

copyToByteArray

Kopiert Daten vom Buffer in ein Byte-Array. Wenn der Kopiervorgang fehlschlägt, wird eine Ausnahme ausgelöst. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public void copyToByteArray(int index, byte @Nonnull[] dest, int destIndex, int length)
fun copyToByteArray(index: Int, dest: Array<Byte>, destIndex: Int, length: Int): Unit
public void copyToByteArray(int index, byte[] dest, int destIndex, int length)

Parameter

Name Typ Beschreibung
index Int32
dest
destIndex Int32
length Int32

tryCopyFromByteArray

Kopiert Daten von einem Byte-Array in den Buffer. Gibt true zurück, wenn erfolgreich, sonst false. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public func tryCopyFromByteArray(_ src: [UInt8]) -> Bool

Parameter

Name Typ Beschreibung
src

Rückgabewert

Typ Beschreibung
Boolean

tryCopyFromByteArray

Kopiert Daten von einem Byte-Array in den Buffer. Gibt true zurück, wenn erfolgreich, sonst false. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public func tryCopyFromByteArray(_ src: [UInt8], _ srcIndex: Int32, _ index: Int32, _ length: Int32) -> Bool

Parameter

Name Typ Beschreibung
src
srcIndex Int32
index Int32
length Int32

Rückgabewert

Typ Beschreibung
Boolean

tryCopyToByteArray

Kopiert Daten vom Buffer in ein Byte-Array. Gibt true zurück, wenn erfolgreich, sonst false. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public func tryCopyToByteArray(_ dest: [UInt8]) -> Bool

Parameter

Name Typ Beschreibung
dest

Rückgabewert

Typ Beschreibung
Boolean

tryCopyToByteArray

Kopiert Daten vom Buffer in ein Byte-Array. Gibt true zurück, wenn erfolgreich, sonst false. Fehler können auftreten, wenn der Quell- oder Zielbereich außerhalb des verfügbaren Bereichs liegt.

public func tryCopyToByteArray(_ index: Int32, _ dest: [UInt8], _ destIndex: Int32, _ length: Int32) -> Bool

Parameter

Name Typ Beschreibung
index Int32
dest
destIndex Int32
length Int32

Rückgabewert

Typ Beschreibung
Boolean