protected void buildAxis() { xAxis = new Arrow("_xAxis", length, width); xAxis.setDefaultColor(xAxisColor); xAxis.setRotation(new Matrix3().fromAngles(0, 0, -90 * MathUtils.DEG_TO_RAD)); xAxis.setTranslation(length * .5, 0, 0); attachChild(xAxis); yAxis = new Arrow("yAxis", length, width); yAxis.setDefaultColor(yAxisColor); yAxis.setTranslation(0, length * .5, 0); attachChild(yAxis); zAxis = new Arrow("zAxis", length, width); zAxis.setDefaultColor(zAxisColor); if (rightHanded) { zAxis.setRotation(new Matrix3().fromAngles(90 * MathUtils.DEG_TO_RAD, 0, 0)); zAxis.setTranslation(0, 0, length * .5); } else { zAxis.setRotation(new Matrix3().fromAngles(-90 * MathUtils.DEG_TO_RAD, 0, 0)); zAxis.setTranslation(0, 0, -length * .5); } attachChild(zAxis); }
protected void buildAxis() { xAxis = new Arrow("_xAxis", length, width); xAxis.setDefaultColor(xAxisColor); xAxis.setRotation(new Matrix3().fromAngles(0, 0, -90 * MathUtils.DEG_TO_RAD)); xAxis.setTranslation(length * .5, 0, 0); attachChild(xAxis); yAxis = new Arrow("yAxis", length, width); yAxis.setDefaultColor(yAxisColor); yAxis.setTranslation(0, length * .5, 0); attachChild(yAxis); zAxis = new Arrow("zAxis", length, width); zAxis.setDefaultColor(zAxisColor); if (rightHanded) { zAxis.setRotation(new Matrix3().fromAngles(90 * MathUtils.DEG_TO_RAD, 0, 0)); zAxis.setTranslation(0, 0, length * .5); } else { zAxis.setRotation(new Matrix3().fromAngles(-90 * MathUtils.DEG_TO_RAD, 0, 0)); zAxis.setTranslation(0, 0, -length * .5); } attachChild(zAxis); }
public void stateChanged(final ChangeEvent e) { final Vector3 val = _rotationPanel.getValue().multiplyLocal(MathUtils.DEG_TO_RAD); final Matrix3 mat = Matrix3.fetchTempInstance().fromAngles(val.getX(), val.getY(), val.getZ()); getEdittedParticles().setRotation(mat); Matrix3.releaseTempInstance(mat); } });
public ReadOnlyTransform getValue() { final Transform t = new Transform(); t.setTranslation(_translationX.getDoubleValue(), _translationY.getDoubleValue(), 0); final double val = _rotation.getDoubleValue() * MathUtils.DEG_TO_RAD; final Matrix3 mat = Matrix3.fetchTempInstance().fromAngles(0, 0, val); t.setRotation(mat); Matrix3.releaseTempInstance(mat); t.setScale(_scale.getDoubleValue()); return t; }
public ReadOnlyTransform getValue() { final Transform t = new Transform(); t.setTranslation(_translation.getValue()); final Vector3 val = _rotation.getValue().multiplyLocal(MathUtils.DEG_TO_RAD); final Matrix3 mat = Matrix3.fetchTempInstance().fromAngles(val.getX(), val.getY(), val.getZ()); t.setRotation(mat); Matrix3.releaseTempInstance(mat); t.setScale(_scale.getValue()); return t; }
_skyboxQuads[Face.North.ordinal()].setRotation(new Matrix3().fromAngles(0, Math.toRadians(180), 0)); _skyboxQuads[Face.North.ordinal()].setTranslation(new Vector3(0, 0, _zExtent)); _skyboxQuads[Face.South.ordinal()] = new Quad("south", _xExtent * 2, _yExtent * 2); _skyboxQuads[Face.South.ordinal()].setTranslation(new Vector3(0, 0, -_zExtent)); _skyboxQuads[Face.East.ordinal()] = new Quad("east", _zExtent * 2, _yExtent * 2); _skyboxQuads[Face.East.ordinal()].setRotation(new Matrix3().fromAngles(0, Math.toRadians(90), 0)); _skyboxQuads[Face.East.ordinal()].setTranslation(new Vector3(-_xExtent, 0, 0)); _skyboxQuads[Face.West.ordinal()] = new Quad("west", _zExtent * 2, _yExtent * 2); _skyboxQuads[Face.West.ordinal()].setRotation(new Matrix3().fromAngles(0, Math.toRadians(270), 0)); _skyboxQuads[Face.West.ordinal()].setTranslation(new Vector3(_xExtent, 0, 0)); _skyboxQuads[Face.Up.ordinal()] = new Quad("up", _xExtent * 2, _zExtent * 2); _skyboxQuads[Face.Up.ordinal()] .setRotation(new Matrix3().fromAngles(Math.toRadians(90), Math.toRadians(270), 0)); _skyboxQuads[Face.Up.ordinal()].setTranslation(new Vector3(0, _yExtent, 0)); _skyboxQuads[Face.Down.ordinal()] = new Quad("down", _xExtent * 2, _zExtent * 2); _skyboxQuads[Face.Down.ordinal()] .setRotation(new Matrix3().fromAngles(Math.toRadians(270), Math.toRadians(270), 0)); _skyboxQuads[Face.Down.ordinal()].setTranslation(new Vector3(0, -_yExtent, 0));
_skyboxQuads[Face.North.ordinal()].setRotation(new Matrix3().fromAngles(0, Math.toRadians(180), 0)); _skyboxQuads[Face.North.ordinal()].setTranslation(new Vector3(0, 0, _zExtent)); _skyboxQuads[Face.South.ordinal()] = new Quad("south", _xExtent * 2, _yExtent * 2); _skyboxQuads[Face.South.ordinal()].setTranslation(new Vector3(0, 0, -_zExtent)); _skyboxQuads[Face.East.ordinal()] = new Quad("east", _zExtent * 2, _yExtent * 2); _skyboxQuads[Face.East.ordinal()].setRotation(new Matrix3().fromAngles(0, Math.toRadians(90), 0)); _skyboxQuads[Face.East.ordinal()].setTranslation(new Vector3(-_xExtent, 0, 0)); _skyboxQuads[Face.West.ordinal()] = new Quad("west", _zExtent * 2, _yExtent * 2); _skyboxQuads[Face.West.ordinal()].setRotation(new Matrix3().fromAngles(0, Math.toRadians(270), 0)); _skyboxQuads[Face.West.ordinal()].setTranslation(new Vector3(_xExtent, 0, 0)); _skyboxQuads[Face.Up.ordinal()] = new Quad("up", _xExtent * 2, _zExtent * 2); _skyboxQuads[Face.Up.ordinal()] .setRotation(new Matrix3().fromAngles(Math.toRadians(90), Math.toRadians(270), 0)); _skyboxQuads[Face.Up.ordinal()].setTranslation(new Vector3(0, _yExtent, 0)); _skyboxQuads[Face.Down.ordinal()] = new Quad("down", _xExtent * 2, _zExtent * 2); _skyboxQuads[Face.Down.ordinal()].setRotation(new Matrix3().fromAngles(Math.toRadians(270), Math.toRadians(270), 0)); _skyboxQuads[Face.Down.ordinal()].setTranslation(new Vector3(0, -_yExtent, 0));
final Matrix3 mat3A = new Matrix3().fromAngles(MathUtils.HALF_PI, MathUtils.QUARTER_PI, MathUtils.PI); mat3A.applyPost(rotated, rotated); final Matrix3 mat3B = new Matrix3().fromAngles(MathUtils.QUARTER_PI, MathUtils.PI, MathUtils.HALF_PI); rotated.set(1, 1, 1); mat3B.applyPost(rotated, rotated); mat3A.fromAngles(MathUtils.HALF_PI, MathUtils.QUARTER_PI, MathUtils.PI); final double[] angles = mat3A.toAngles(null); worker.fromAngles(angles[0], angles[1], angles[2]); assertEquals(mat3A, worker); mat3A.fromAngles(MathUtils.HALF_PI, MathUtils.QUARTER_PI, MathUtils.HALF_PI); mat3A.toAngles(angles); worker.fromAngles(angles[0], angles[1], angles[2]); assertEquals(mat3A, worker); mat3A.fromAngles(MathUtils.HALF_PI, MathUtils.QUARTER_PI, -MathUtils.HALF_PI); mat3A.toAngles(angles); worker.fromAngles(angles[0], angles[1], angles[2]); assertEquals(mat3A, worker);
public BasicText(final String name, final String text, final BMFont font, final double fontSize) { super(name, text, font); getSceneHints().setRenderBucketType(RenderBucketType.Ortho); setFontScale(fontSize); setAutoFade(AutoFade.Off); setAutoScale(AutoScale.Off); setAutoRotate(false); setRotation(new Matrix3().fromAngles(-MathUtils.HALF_PI, 0, 0)); final ZBufferState zState = new ZBufferState(); zState.setEnabled(false); zState.setWritable(false); setRenderState(zState); final CullState cState = new CullState(); cState.setEnabled(false); setRenderState(cState); final BlendState blend = new BlendState(); blend.setBlendEnabled(true); blend.setSourceFunction(BlendState.SourceFunction.SourceAlpha); blend.setDestinationFunction(BlendState.DestinationFunction.OneMinusSourceAlpha); blend.setTestEnabled(true); blend.setReference(0f); blend.setTestFunction(BlendState.TestFunction.GreaterThan); setRenderState(blend); getSceneHints().setLightCombineMode(LightCombineMode.Off); getSceneHints().setTextureCombineMode(TextureCombineMode.Replace); updateModelBound(); }
public BasicText(final String name, final String text, final BMFont font, final double fontSize) { super(name, text, font); setFontScale(fontSize); setAutoFade(AutoFade.Off); setAutoScale(AutoScale.Off); setAutoRotate(false); setRotation(new Matrix3().fromAngles(-MathUtils.HALF_PI, 0, 0)); final ZBufferState zState = new ZBufferState(); zState.setEnabled(false); zState.setWritable(false); setRenderState(zState); final CullState cState = new CullState(); cState.setEnabled(false); setRenderState(cState); final BlendState blend = new BlendState(); blend.setBlendEnabled(true); blend.setSourceFunction(BlendState.SourceFunction.SourceAlpha); blend.setDestinationFunction(BlendState.DestinationFunction.OneMinusSourceAlpha); blend.setTestEnabled(true); blend.setReference(0f); blend.setTestFunction(BlendState.TestFunction.GreaterThan); setRenderState(blend); getSceneHints().setRenderBucketType(RenderBucketType.OrthoOrder); getSceneHints().setCullHint(CullHint.Never); getSceneHints().setLightCombineMode(LightCombineMode.Off); getSceneHints().setTextureCombineMode(TextureCombineMode.Replace); updateModelBound(); }