package org.jzy3d.plot3d.primitives.log;

import java.util.ArrayList;
import java.util.List;

import org.jzy3d.maths.BoundingBox3d;
import org.jzy3d.maths.Coord3d;
import org.jzy3d.plot3d.primitives.LightPoint;
import org.jzy3d.plot3d.primitives.ScatterPoint;
import org.jzy3d.plot3d.rendering.compat.GLES2CompatUtils;
import org.jzy3d.plot3d.transform.space.SpaceTransformer;

import com.jogamp.opengl.GL;
import com.jogamp.opengl.GL2;

public class AxeTransformableScatterPoint extends ScatterPoint{

	SpaceTransformer transformers;
	
    public AxeTransformableScatterPoint(SpaceTransformer transformers) {
        bbox = new BoundingBox3d();
        setWidth(1.0f);
        setPoints(new ArrayList());
        this.transformers = transformers;
    }

    public AxeTransformableScatterPoint(List points, float width, SpaceTransformer transformers) {
        bbox = new BoundingBox3d();
        setPoints(points);
        setWidth(width);
        this.transformers = transformers;
    }

 
    @Override
    public void drawGLES2() {
        GLES2CompatUtils.glPointSize(width);
        GLES2CompatUtils.glBegin(GL2.GL_POINTS);
        if (points != null) {
            for (LightPoint p : points) {
                GLES2CompatUtils.glColor4f(p.rgb.r, p.rgb.g, p.rgb.b, p.rgb.a);
                GLES2CompatUtils.glVertex3f(transformers.getX().compute(p.xyz.x), transformers.getY().compute(p.xyz.y), transformers.getZ().compute(p.xyz.z));
            }
        }
        GLES2CompatUtils.glEnd();
    }

    @Override
    public void drawGL2(GL gl) {
        gl.getGL2().glPointSize(width);
        gl.getGL2().glBegin(GL2.GL_POINTS);
        if (points != null) {
            for (LightPoint p : points) {
                gl.getGL2().glColor4f(p.rgb.r, p.rgb.g, p.rgb.b, p.rgb.a);
                GlVertexExecutor.Vertex(gl, new Coord3d(p.xyz.x, p.xyz.y, p.xyz.z), transformers);
            }
        }
        gl.getGL2().glEnd();
    }
    
    @Override
    public void updateBounds() {
        bbox.reset();
        for (LightPoint c : points)
            bbox.add(transformers.compute(c.xyz));
    }

}

 

Ads help maintain this website.