package com.android.droidgraph.shape; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; import com.android.droidgraph.geom.Bounds; import com.android.droidgraph.util.SGColorF; import com.android.droidgraph.vecmath.Point3d; public abstract class GLShape implements IGLShape{ SGColorF color = new SGColorF(1,1,1,1); FloatBuffer colorBuffer; public GLShape() { initBuffer(); setColor(new SGColorF(1,1,1,1)); } public void setColor(SGColorF color) { this.color = color; updateBuffer(); } public SGColorF getColor() { return color; } private void initBuffer() { ByteBuffer byteBuff = ByteBuffer.allocateDirect(color.color.length * 4); byteBuff.order(ByteOrder.nativeOrder()); colorBuffer = byteBuff.asFloatBuffer(); colorBuffer.put(color.color); colorBuffer.position(0); } private void updateBuffer() { colorBuffer.put(color.color); colorBuffer.position(0); } public Bounds getBounds() { return null; } public boolean contains(Point3d point) { return false; } }