public void stateChanged(final ChangeEvent e) { final SimpleParticleInfluenceFactory.BasicVortex vortex = (SimpleParticleInfluenceFactory.BasicVortex) getEdittedInfluence(); final Line3 axis = new Line3(vortex.getAxis()); axis.setDirection(_vortexDirectionPanel.getValue()); vortex.setAxis(axis); } });
@Override public void prepare(final ParticleSystem system) { _line.setOrigin(_axis.getOrigin()); _line.setDirection(_axis.getDirection()); final ReadOnlyMatrix3 mat = system.getEmitterTransform().getMatrix(); if (_transformWithScene && !mat.isIdentity()) { final Vector3 temp = Vector3.fetchTempInstance(); mat.applyPost(_line.getOrigin(), temp); _line.setOrigin(temp); mat.applyPost(_line.getDirection(), temp); _line.setDirection(temp); Vector3.releaseTempInstance(temp); } if (_type == VT_CYLINDER) { _rot.fromAngleAxis(-_divergence, _line.getDirection()); } }
@Override public void prepare(final ParticleSystem system) { _line.setOrigin(_axis.getOrigin()); _line.setDirection(_axis.getDirection()); final ReadOnlyMatrix3 mat = system.getEmitterTransform().getMatrix(); if (_transformWithScene && !mat.isIdentity()) { final Vector3 temp = Vector3.fetchTempInstance(); mat.applyPost(_line.getOrigin(), temp); _line.setOrigin(temp); mat.applyPost(_line.getDirection(), temp); _line.setDirection(temp); Vector3.releaseTempInstance(temp); } if (_type == VT_CYLINDER) { _rot.fromAngleAxis(-_divergence, _line.getDirection()); } }
@Test public void testGetSet() { final Line3 line1 = new Line3(); assertEquals(Vector3.ZERO, line1.getOrigin()); assertEquals(Vector3.UNIT_Z, line1.getDirection()); line1.setOrigin(Vector3.NEG_ONE); line1.setDirection(Vector3.UNIT_X); assertEquals(Vector3.NEG_ONE, line1.getOrigin()); assertEquals(Vector3.UNIT_X, line1.getDirection()); final Line3 line2 = new Line3(line1); assertEquals(Vector3.NEG_ONE, line2.getOrigin()); assertEquals(Vector3.UNIT_X, line2.getDirection()); final Line3 line3 = new Line3(Vector3.ONE, Vector3.UNIT_Y); assertEquals(Vector3.ONE, line3.getOrigin()); assertEquals(Vector3.UNIT_Y, line3.getDirection()); }