ultimatepp/examples/AndroidMath/Vector.java
klugier 5e35e7ae7e Examples, Android: reverted last change.
git-svn-id: svn://ultimatepp.org/upp/trunk@16027 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2021-07-19 21:06:16 +00:00

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;
/**
* We override finalize method, because we need to destroy native c++ object when
* there is not more reference to Java object. This method is called by default
* by garbage collector.
*/
@Override
protected void finalize() throws Throwable
{
nativeFinalize();
super.finalize();
}
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 nativeFinalize();
}