/******************************************************************************* * Copyright (c) 2007- VTT Technical Research Centre of Finland. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.proconf.g3d.shapes; import com.jme.renderer.ColorRGBA; import com.jme.renderer.Renderer; import com.jme.scene.Geometry; import com.jme.scene.Line; import com.jme.scene.state.MaterialState; import com.jme.util.geom.BufferUtils; public class AxesShape { public static Geometry getShape(Renderer renderer) { float[] coords = new float[]{0.f,0.f,0.f, 1.f,0.f,0.f, 0.f,0.f,0.f, 0.f,1.f,0.f, 0.f,0.f,0.f, 0.f,0.f,1.f}; float colors[] = new float[]{1.f,0.f,0.f,0.f, 1.f,0.f,0.f,0.f, 0.f,1.f,0.f,0.f, 0.f,1.f,0.f,0.f, 0.f,0.f,1.f,0.f, 0.f,0.f,1.f,0.f}; Line shape = new Line("",BufferUtils.createFloatBuffer(coords),null,BufferUtils.createFloatBuffer(colors),null); shape.setMode(Line.SEGMENTS); shape.setIsCollidable(false); shape.setLineWidth(3.f); MaterialState ms = renderer.createMaterialState(); ms.setColorMaterial(MaterialState.CM_EMISSIVE); ms.setEmissive(new ColorRGBA(1.f,1.f,1.f,1.f)); shape.setRenderState(ms); return shape; } }