mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
50 lines
1.1 KiB
Java
50 lines
1.1 KiB
Java
package org.upp.AndroidMath;
|
|
|
|
/**
|
|
* Math vector class which whole implementation is native (c/c++).
|
|
*/
|
|
public class Vector
|
|
{
|
|
/**
|
|
* Field use by MemoryManager to store pointer to c++ object.
|
|
* If you want to use MemoryManager with your class make sure you have this field
|
|
* in your class.
|
|
*/
|
|
private long nativeAdress = 0;
|
|
|
|
/**
|
|
* In order to avoid memory leaks on the native side. The cleaning method needs to be
|
|
* called.
|
|
*
|
|
* In previous version of this example finalize method was used. However, in Java 9 the
|
|
* finalize method was deprecated and we can not longer relay on them.
|
|
*/
|
|
protected void dispose()
|
|
{
|
|
nativeDispose();
|
|
}
|
|
|
|
public Vector(int size)
|
|
{
|
|
construct(size);
|
|
}
|
|
|
|
public Vector(Vector vec)
|
|
{
|
|
copyConstruct(vec);
|
|
}
|
|
|
|
// Native stuff - C/C++
|
|
public native int getSize();
|
|
public native float get(int id);
|
|
|
|
public native void set(int id, float value);
|
|
|
|
public native void multipleByScalar(float scalar);
|
|
|
|
public native String toString();
|
|
|
|
private native void construct(int size);
|
|
private native void copyConstruct(Vector vec);
|
|
private native void nativeDispose();
|
|
}
|