Table of Contents

Class Buffer

Spazio dei nomi
easyar

Buffer memorizza un array di byte grezzi, utilizzabile per accedere ai dati dell'immagine. Nelle API Java, puoi ottenere il buffer da Image e copiare i dati in un array di byte Java. In tutte le versioni di EasyAR Sense, puoi accedere ai dati dell'immagine. Consulta Image.

Buffer

Metodi

wrap

Involucra un blocco di memoria grezza di lunghezza specificata. Quando il Buffer viene completamente rilasciato, viene chiamato il callback deleter per eseguire la distruzione della memoria personalizzata dall'utente. Il deleter deve essere thread-safe.

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)

Parametri

Nome Tipo Descrizione
ptr IntPtr
size Int32
deleter Action

Valore restituito

Tipo Descrizione
Buffer

create

Crea un Buffer con una lunghezza in byte specificata.

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)

Parametri

Nome Tipo Descrizione
size Int32

Valore restituito

Tipo Descrizione
Buffer

data

Restituisce l'indirizzo di memoria grezzo.

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()

Valore restituito

Tipo Descrizione
IntPtr

size

Lunghezza in byte del Buffer.

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()

Valore restituito

Tipo Descrizione
Int32

memoryCopy

Copia la memoria grezza. Utilizzato principalmente per linguaggi o ambienti con operazioni di memoria non ottimizzate.

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)

Parametri

Nome Tipo Descrizione
src IntPtr
dest IntPtr
length Int32

Valore restituito

Tipo Descrizione
Void

tryCopyFrom

Tenta di copiare i dati da un indirizzo di memoria grezzo nel Buffer. Restituisce true se la copia ha successo, altrimenti false. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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)

Parametri

Nome Tipo Descrizione
src IntPtr
srcIndex Int32
index Int32
length Int32

Valore restituito

Tipo Descrizione
Boolean

tryCopyTo

Tenta di copiare i dati dal Buffer in un indirizzo di memoria grezzo. Restituisce true se la copia ha successo, altrimenti false. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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)

Parametri

Nome Tipo Descrizione
index Int32
dest IntPtr
destIndex Int32
length Int32

Valore restituito

Tipo Descrizione
Boolean

partition

Crea un sub-Buffer che fa riferimento al Buffer originale. Un Buffer viene rilasciato solo dopo che tutti i suoi sub-Buffer sono stati rilasciati.

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)

Parametri

Nome Tipo Descrizione
index Int32
length Int32

Valore restituito

Tipo Descrizione
Buffer

wrapByteArray

Involucra un array di byte.

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

Parametri

Nome Tipo Descrizione
bytes

Valore restituito

Tipo Descrizione
Buffer

wrapByteArray

Involucra un array di byte. È possibile specificare l'indice iniziale e la lunghezza, e se il Buffer è di sola lettura o leggibile/scrivibile (i Buffer di sola lettura potrebbero essere rilasciati più velocemente). È possibile specificare un callback deleter, chiamato quando il Buffer viene completamente rilasciato, per eseguire la distruzione della memoria personalizzata dall'utente. Il deleter deve essere thread-safe.

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

Parametri

Nome Tipo Descrizione
bytes
index Int32
length Int32
readOnly Boolean
deleter Action

Valore restituito

Tipo Descrizione
Buffer

wrapByteArray

Involucra un array di byte. È possibile specificare l'indice iniziale e la lunghezza.

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

Parametri

Nome Tipo Descrizione
bytes
index Int32
length Int32

Valore restituito

Tipo Descrizione
Buffer

wrapByteArray

Involucra un array di byte. È possibile specificare l'indice iniziale e la lunghezza. È possibile specificare un callback deleter, chiamato quando il Buffer viene completamente rilasciato, per eseguire la distruzione della memoria personalizzata dall'utente. Il deleter deve essere thread-safe.

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

Parametri

Nome Tipo Descrizione
bytes
index Int32
length Int32
deleter Action

Valore restituito

Tipo Descrizione
Buffer

wrapBuffer

Involucra un java.nio.Buffer.

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

Parametri

Nome Tipo Descrizione
directBuffer

Valore restituito

Tipo Descrizione
Buffer

wrapBuffer

Involucra un java.nio.Buffer. È possibile specificare un callback deleter, chiamato quando il Buffer viene completamente rilasciato, per eseguire la distruzione della memoria personalizzata dall'utente. Il deleter deve essere thread-safe.

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

Parametri

Nome Tipo Descrizione
directBuffer
deleter Action

Valore restituito

Tipo Descrizione
Buffer

copyFromByteArray

Copia i dati da un array di byte nel Buffer. Se la copia fallisce, viene generata un'eccezione. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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

Parametri

Nome Tipo Descrizione
src

copyFromByteArray

Copia i dati da un array di byte nel Buffer. Se la copia fallisce, viene generata un'eccezione. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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)

Parametri

Nome Tipo Descrizione
src
srcIndex Int32
index Int32
length Int32

copyToByteArray

Copia i dati dal Buffer in un array di byte. Se la copia fallisce, viene generata un'eccezione. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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

Parametri

Nome Tipo Descrizione
dest

copyToByteArray

Copia i dati dal Buffer in un array di byte. Se la copia fallisce, viene generata un'eccezione. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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)

Parametri

Nome Tipo Descrizione
index Int32
dest
destIndex Int32
length Int32

tryCopyFromByteArray

Copia i dati da un array di byte nel Buffer. Restituisce true se la copia ha successo, altrimenti false. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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

Parametri

Nome Tipo Descrizione
src

Valore restituito

Tipo Descrizione
Boolean

tryCopyFromByteArray

Copia i dati da un array di byte nel Buffer. Restituisce true se la copia ha successo, altrimenti false. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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

Parametri

Nome Tipo Descrizione
src
srcIndex Int32
index Int32
length Int32

Valore restituito

Tipo Descrizione
Boolean

tryCopyToByteArray

Copia i dati dal Buffer in un array di byte. Restituisce true se la copia ha successo, altrimenti false. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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

Parametri

Nome Tipo Descrizione
dest

Valore restituito

Tipo Descrizione
Boolean

tryCopyToByteArray

Copia i dati dal Buffer in un array di byte. Restituisce true se la copia ha successo, altrimenti false. I fallimenti possono essere dovuti a: intervallo dei dati di origine o di destinazione fuori dai limiti disponibili.

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

Parametri

Nome Tipo Descrizione
index Int32
dest
destIndex Int32
length Int32

Valore restituito

Tipo Descrizione
Boolean