package org.jzy3d.plot3d.transform;
import org.jzy3d.maths.Coord3d;
import org.jzy3d.plot3d.rendering.compat.GLES2CompatUtils;
import com.jogamp.opengl.GL;
/**
* Translate is a {@link Transformer} that stores the offset required to perform
* the effective OpenGL2 translation in the ModelView Matrix.
*
* @author Martin Pernollet
*/
public class Translate implements Transformer {
protected Translate() {
}
/**
* Initialize a Translate.
*
* @param shift
* translation offset.
*/
public Translate(Coord3d shift) {
this.shift = shift;
}
@Override
public void execute(GL gl) {
if (gl.isGL2()) {
gl.getGL2().glTranslatef(shift.x, shift.y, shift.z);
} else {
GLES2CompatUtils.glTranslatef(shift.x, shift.y, shift.z);
}
}
@Override
public Coord3d compute(Coord3d input) {
return input.add(shift);
}
@Override
public String toString() {
return "(Translate)" + shift;
}
/**************************************************/
private Coord3d shift;
}
Ads help maintain this website.