public override void render(float elapsedTime) { TgcModifiers modifiers = GuiController.Instance.Modifiers; Vector2 size = (Vector2)modifiers.getValue("size"); Vector3 position = (Vector3)modifiers.getValue("position"); collider.Center = position; collider.Radius = size.X; collider.Length = size.Y; collider.updateValues(); if (TgcCollisionUtils.testSphereCylinder(collisionableSphere, collider)) { collisionableSphere.setRenderColor(collisionColor); } else { collisionableSphere.setRenderColor(noCollisionColor); } if (TgcCollisionUtils.testAABBCylinder(collisionableAABB, collider)) { collisionableAABB.setRenderColor(collisionColor); } else { collisionableAABB.setRenderColor(noCollisionColor); } if (TgcCollisionUtils.testCylinderCylinder(collisionableCylinder, collider)) { collisionableCylinder.setRenderColor(collisionColor); } else { collisionableCylinder.setRenderColor(noCollisionColor); } if (pickingTimeLeft > 0) { pickingTimeLeft -= elapsedTime; } else { collider.setRenderColor(noCollisionColor); } if (GuiController.Instance.D3dInput.buttonPressed(TgcViewer.Utils.Input.TgcD3dInput.MouseButtons.BUTTON_LEFT)) { TgcPickingRay pickingRay = new TgcPickingRay(); pickingRay.updateRay(); if (TgcCollisionUtils.testRayCylinder(pickingRay.Ray, collider)) { pickingTimeLeft = PICKING_TIME; collider.setRenderColor(pickingColor); } } collider.render(); collisionableSphere.render(); collisionableAABB.render(); collisionableCylinder.render(); }
public override void Render() { PreRender(); var size = (Vector2)Modifiers.getValue("size"); var position = (Vector3)Modifiers.getValue("position"); collider.Center = position; collider.Radius = size.X; collider.Length = size.Y; collider.updateValues(); if (TgcCollisionUtils.testSphereCylinder(collisionableSphere, collider)) { collisionableSphere.setRenderColor(collisionColor); } else { collisionableSphere.setRenderColor(noCollisionColor); } if (TgcCollisionUtils.testAABBCylinder(collisionableAABB, collider)) { collisionableAABB.setRenderColor(collisionColor); } else { collisionableAABB.setRenderColor(noCollisionColor); } if (TgcCollisionUtils.testCylinderCylinder(collisionableCylinder, collider)) { collisionableCylinder.setRenderColor(collisionColor); } else { collisionableCylinder.setRenderColor(noCollisionColor); } if (pickingTimeLeft > 0) { pickingTimeLeft -= ElapsedTime; } else { collider.setRenderColor(noCollisionColor); } if (TgcD3dInput.Instance.buttonPressed(TgcD3dInput.MouseButtons.BUTTON_LEFT)) { var pickingRay = new TgcPickingRay(); pickingRay.updateRay(); if (TgcCollisionUtils.testRayCylinder(pickingRay.Ray, collider)) { pickingTimeLeft = PICKING_TIME; collider.setRenderColor(pickingColor); } } collider.render(); collisionableSphere.render(); collisionableAABB.render(); collisionableCylinder.render(); PostRender(); }