public void clearMaterials() { for(Geometry g : geometries) { if(g.getUserData("FBXMaterial") != null) g.setUserData("FBXMaterial", null); } }
/** * Batch this batchNode * every geometry of the sub scene graph of this node will be batched into a single mesh that will be rendered in one call */ public void batch() { doBatch(); //we set the batch geometries to ignore transforms to avoid transforms of parent nodes to be applied twice for (Batch batch : batches.getArray()) { batch.geometry.setIgnoreTransform(true); batch.geometry.setUserData(UserData.JME_PHYSICSIGNORE, true); } }
geom.setMesh(newMesh); geometries.add(geom); geom.setUserData("FBXMaterial", materialId);
updateBoneMesh(bGeomO, start, ends); bGeom.setUserData("start", getWorldTransform().transformVector(start, start)); for (int i = 0; i < ends.length; i++) { getWorldTransform().transformVector(ends[i], ends[i]); bGeom.setUserData("end", ends);
setColor(bGeom, outlinesAttach == null ? outlineColor : baseColor); geomToJoint.put(bGeom, joint); bGeom.setUserData("start", getWorldTransform().transformVector(start, start)); for (int i = 0; i < ends.length; i++) { getWorldTransform().transformVector(ends[i], ends[i]); bGeom.setUserData("end", ends); bGeom.setQueueBucket(RenderQueue.Bucket.Transparent); attach(wireAttach, deforms, bGeom);
if (sharedMesh != null) { getMesh().extractVertexData(sharedMesh); setUserData(UserData.JME_SHAREDMESH, null);
geom1.setUserData("shared", sharedUserData); geom2.setUserData("shared", sharedUserData);
instance.setUserData("height", height); instance.setUserData("dir", 1f);
public void clearMaterials() { for(Geometry g : geometries) { if(g.getUserData("FBXMaterial") != null) g.setUserData("FBXMaterial", null); } }
public static Geometry createDisplayGeometry(String id, float width, float height) { Geometry screen = new Geometry("Screen", new Quad(width, height)); screen.setUserData("ID", id); screen.setUserData("ROLE", "Screen"); return screen; }
public float getLayer(Geometry g) { Float d = g.getUserData("effectiveLayer"); if (d != null) return d; d = calculateEffectiveLayer(g); g.setUserData("effectiveLayer", d); return d; }
/** * Batch this batchNode * every geometry of the sub scene graph of this node will be batched into a single mesh that will be rendered in one call */ public void batch() { doBatch(); //we set the batch geometries to ignore transforms to avoid transforms of parent nodes to be applied twice for (Batch batch : batches.getArray()) { batch.geometry.setIgnoreTransform(true); batch.geometry.setUserData(UserData.JME_PHYSICSIGNORE, true); } }
/** * Batch this batchNode * every geometry of the sub scene graph of this node will be batched into a single mesh that will be rendered in one call */ public void batch() { doBatch(); //we set the batch geometries to ignore transforms to avoid transforms of parent nodes to be applied twice for (Batch batch : batches.getArray()) { batch.geometry.setIgnoreTransform(true); batch.geometry.setUserData(UserData.JME_PHYSICSIGNORE, true); } updateGeometricState(); }
geom.setUserData(MATERIAL_ALTERNATIVE_TEXTURES_COUNT, materials.get(materialIndex).size());
geom.setMesh(newMesh); geometries.add(geom); geom.setUserData("FBXMaterial", materialId);
private void fixScreen(Spatial device) { List<Spatial> screens = SpatialUtils.getSpatialsByRole(device, "Screen"); if (screens.size() > 0) { Geometry geo = (Geometry) screens.get(0); Node p = geo.getParent(); geo.removeFromParent(); geo = new Geometry("Screen", new Quad(1f, 0.6f)); geo.setUserData("ID", "Screen1"); geo.setUserData("ROLE", "Screen"); Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setTexture("ColorMap", assetManager.loadTexture("Textures/FrontSmartPhone.jpg")); geo.setMaterial(mat); geo.move(-1.4f, 0f, -0.6f); geo.rotate(-FastMath.HALF_PI, 0f, 0f); geo.setLocalScale(Vector3f.UNIT_XYZ.divide(p.getWorldScale())); p.attachChild(geo); setState(State.Success); return; } }
@Override public void runCommand(Application app) { DevicesAppState devicesAppState = app.getStateManager().getState(DevicesAppState.class); Node device = devicesAppState.getDevice(deviceId); if (device != null) { List<Spatial> screens = SpatialUtils.getSpatialsByRole(device, "Screen"); if (screens.size() > 0) { Geometry geo = (Geometry) screens.get(0); Node p = geo.getParent(); geo.removeFromParent(); geo = new Geometry("Screen", new Quad(1f, 0.6f)); geo.setUserData("ID", "Screen1"); geo.setUserData("ROLE", "Screen"); Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setTexture("ColorMap", assetManager.loadTexture(imagePath)); geo.setMaterial(mat); geo.move(-1.4f, 0f, -0.6f); geo.rotate(-FastMath.HALF_PI, 0f, 0f); geo.setLocalScale(Vector3f.UNIT_XYZ.divide(p.getWorldScale())); p.attachChild(geo); setState(State.Success); return; } } setState(State.Fail); }
if (sharedMesh != null) { getMesh().extractVertexData(sharedMesh); setUserData(UserData.JME_SHAREDMESH, null);
public TextEntryComponent( DocumentModel model, BitmapFont font ) { this.font = font; this.bitmapText = new BitmapText(font); bitmapText.setLineWrapMode(LineWrapMode.Clip); // Can't really do this since we don't know what // bucket it will actually end up in Gui or regular. //bitmapText.setQueueBucket( Bucket.Transparent ); this.model = model; // Create a versioned reference for watching for updates, external or otherwise this.modelRef = model.createReference(); this.caratRef = model.createCaratReference(); cursorQuad = new Quad(getCursorWidth(), bitmapText.getLineHeight()); cursor = new Geometry( "cursor", cursorQuad ); GuiMaterial mat = GuiGlobals.getInstance().createMaterial(new ColorRGBA(1,1,1,0.75f), false); cursor.setMaterial(mat.getMaterial()); cursor.getMaterial().getAdditionalRenderState().setBlendMode(BlendMode.Alpha); cursor.setUserData("layer", 1); bitmapText.attachChild(cursor); if( model.getText() != null ) { resetText(); } }