コード例 #1
0
        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;

            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);
            }


            collider.render();
            collisionableSphere.render();
            collisionableAABB.render();
            collisionableCylinder.render();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }