Table of Contents

Class Buffer

Espaço de nomes
easyar

Buffer armazena o array de bytes original, que pode ser usado para acessar dados de imagem. Na API Java, você pode obter o buffer de Image e copiar os dados para um array de bytes Java. Em todas as versões do EasyAR Sense, você pode acessar dados de imagem. Consulte Image.

Buffer

Métodos

wrap

Encapsula um bloco de memória bruta de comprimento especificado. Quando o Buffer é completamente liberado, o callback deleter é chamado para executar o comportamento personalizado de destruição de memória definido pelo usuário. O deleter deve ser seguro para threads.

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)

Parâmetros

Nome Tipo Descrição
ptr IntPtr
size Int32
deleter Action

Retorna

Tipo Descrição
Buffer

create

Cria um Buffer com um comprimento de bytes especificado.

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)

Parâmetros

Nome Tipo Descrição
size Int32

Retorna

Tipo Descrição
Buffer

data

Retorna o endereço de memória bruta.

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

Retorna

Tipo Descrição
IntPtr

size

Comprimento em bytes do 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()

Retorna

Tipo Descrição
Int32

memoryCopy

Copia a memória bruta. Principalmente usado em linguagens ou ambientes onde a manipulação de memória não é perfeita.

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)

Parâmetros

Nome Tipo Descrição
src IntPtr
dest IntPtr
length Int32

Retorna

Tipo Descrição
Void

tryCopyFrom

Tenta copiar dados de um endereço de memória bruta para o Buffer. Se a cópia for bem-sucedida, retorna true; caso contrário, retorna false. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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)

Parâmetros

Nome Tipo Descrição
src IntPtr
srcIndex Int32
index Int32
length Int32

Retorna

Tipo Descrição
Boolean

tryCopyTo

Tenta copiar dados do Buffer para um endereço de memória bruta. Se a cópia for bem-sucedida, retorna true; caso contrário, retorna false. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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)

Parâmetros

Nome Tipo Descrição
index Int32
dest IntPtr
destIndex Int32
length Int32

Retorna

Tipo Descrição
Boolean

partition

Cria um sub-Buffer que referencia o Buffer original. Um Buffer só será liberado após todos os seus sub-Buffers serem liberados.

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)

Parâmetros

Nome Tipo Descrição
index Int32
length Int32

Retorna

Tipo Descrição
Buffer

wrapByteArray

Encapsula um array de bytes.

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

Parâmetros

Nome Tipo Descrição
bytes

Retorna

Tipo Descrição
Buffer

wrapByteArray

Encapsula um array de bytes. Pode-se especificar a posição inicial e o comprimento, pode-se especificar se o Buffer é somente leitura ou leitura/escrita (Buffers somente leitura podem ser liberados mais rapidamente). Pode-se especificar um callback deleter, que é chamado quando o Buffer é completamente liberado para executar o comportamento personalizado de destruição de memória definido pelo usuário. O deleter deve ser seguro para threads.

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

Parâmetros

Nome Tipo Descrição
bytes
index Int32
length Int32
readOnly Boolean
deleter Action

Retorna

Tipo Descrição
Buffer

wrapByteArray

Encapsula um array de bytes. Pode-se especificar a posição inicial e o comprimento.

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

Parâmetros

Nome Tipo Descrição
bytes
index Int32
length Int32

Retorna

Tipo Descrição
Buffer

wrapByteArray

Encapsula um array de bytes. Pode-se especificar a posição inicial e o comprimento. Pode-se especificar um callback deleter, que é chamado quando o Buffer é completamente liberado para executar o comportamento personalizado de destruição de memória definido pelo usuário. O deleter deve ser seguro para threads.

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

Parâmetros

Nome Tipo Descrição
bytes
index Int32
length Int32
deleter Action

Retorna

Tipo Descrição
Buffer

wrapBuffer

Encapsula um java.nio.Buffer.

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

Parâmetros

Nome Tipo Descrição
directBuffer

Retorna

Tipo Descrição
Buffer

wrapBuffer

Encapsula um java.nio.Buffer. Pode-se especificar um callback deleter, que é chamado quando o Buffer é completamente liberado para executar o comportamento personalizado de destruição de memória definido pelo usuário. O deleter deve ser seguro para threads.

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

Parâmetros

Nome Tipo Descrição
directBuffer
deleter Action

Retorna

Tipo Descrição
Buffer

copyFromByteArray

Copia dados de um array de bytes para o Buffer. Se a cópia falhar, uma exceção é lançada. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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

Parâmetros

Nome Tipo Descrição
src

copyFromByteArray

Copia dados de um array de bytes para o Buffer. Se a cópia falhar, uma exceção é lançada. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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)

Parâmetros

Nome Tipo Descrição
src
srcIndex Int32
index Int32
length Int32

copyToByteArray

Copia dados do Buffer para um array de bytes. Se a cópia falhar, uma exceção é lançada. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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

Parâmetros

Nome Tipo Descrição
dest

copyToByteArray

Copia dados do Buffer para um array de bytes. Se a cópia falhar, uma exceção é lançada. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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)

Parâmetros

Nome Tipo Descrição
index Int32
dest
destIndex Int32
length Int32

tryCopyFromByteArray

Copia dados de um array de bytes para o Buffer. Se a cópia for bem-sucedida, retorna true; caso contrário, retorna false. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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

Parâmetros

Nome Tipo Descrição
src

Retorna

Tipo Descrição
Boolean

tryCopyFromByteArray

Copia dados de um array de bytes para o Buffer. Se a cópia for bem-sucedida, retorna true; caso contrário, retorna false. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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

Parâmetros

Nome Tipo Descrição
src
srcIndex Int32
index Int32
length Int32

Retorna

Tipo Descrição
Boolean

tryCopyToByteArray

Copia dados do Buffer para um array de bytes. Se a cópia for bem-sucedida, retorna true; caso contrário, retorna false. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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

Parâmetros

Nome Tipo Descrição
dest

Retorna

Tipo Descrição
Boolean

tryCopyToByteArray

Copia dados do Buffer para um array de bytes. Se a cópia for bem-sucedida, retorna true; caso contrário, retorna false. Os motivos de falha incluem: o intervalo de dados de origem ou destino está fora do intervalo disponível.

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

Parâmetros

Nome Tipo Descrição
index Int32
dest
destIndex Int32
length Int32

Retorna

Tipo Descrição
Boolean