Exemple #1
0
        public override void OnAttachedToNode(Node node)
        {
            CursorNode      = node.CreateChild("SpatialCursor");
            CursorModelNode = CursorNode.CreateChild("SpatialCursorModel");
            CursorModelNode.SetScale(0.05f);
            var staticModel = CursorModelNode.CreateComponent <StaticModel>();

            staticModel.Model = CoreAssets.Models.Torus;
            Material mat = new Material();

            mat.SetTechnique(0, CoreAssets.Techniques.NoTextureOverlay, 1, 1);
            mat.SetShaderParameter("MatDiffColor", Color.Cyan);
            CursorModelNode.RunActions(new RepeatForever(new ScaleTo(0.3f, 0.06f), new ScaleTo(0.3f, 0.04f)));
            staticModel.SetMaterial(mat);
            staticModel.ViewMask = 0x80000000;             //hide from raycasts

            base.OnAttachedToNode(node);
            ReceiveSceneUpdates = true;

            // find Octree and Camera components:

            octree = Scene.GetComponent <Octree>(true);
            //camera = Scene.GetComponent<Camera>(true); -- doesn't work! :(( ugly workaround:
            camera = Scene.GetChildrenWithComponent <Camera>(true)[0].GetComponent <Camera>();
        }
Exemple #2
0
        protected virtual void InternalOpen()
        {
            // get a table object to supply the data
            _plan.SetActiveCursor(this);
            try
            {
                _program.Start(_params);
                _programStarted = true;

                long startTicks = TimingUtility.CurrentTicks;

                CursorNode cursorNode = _plan.CursorNode;
                //LCursorNode.EnsureApplicationTransactionJoined(FPlan.ServerProcess);
                _sourceTable = (ITable)_plan.CursorNode.SourceNode.Execute(_program);
                _sourceTable.Open();
                _sourceRowType = _sourceTable.DataType.RowType;

                _program.Statistics.ExecuteTime = TimingUtility.TimeSpanFromTicks(startTicks);
            }
            catch
            {
                InternalClose();
                throw;
            }
        }
Exemple #3
0
        public override void OnAttachedToNode(Node node)
        {
            CursorNode      = node.CreateChild("SpatialCursor");
            CursorModelNode = CursorNode.CreateChild("SpatialCursorModel");
            CursorModelNode.SetScale(0.05f);
            var staticModel = CursorModelNode.CreateComponent <StaticModel>();

            staticModel.Model = CoreAssets.Models.Torus;
            Material mat = new Material();

            mat.SetTechnique(0, CoreAssets.Techniques.NoTextureOverlay, 1, 1);
            mat.SetShaderParameter("MatDiffColor", Color.Cyan);
            RunIdleAnimation();
            staticModel.SetMaterial(mat);
            staticModel.ViewMask = 0x80000000;             //hide from raycasts
            base.OnAttachedToNode(node);
            ReceiveSceneUpdates = true;
        }
Exemple #4
0
        public override void OnAttachedToNode(Node node)
        {
            CursorNode           = Node.CreateChild();
            CursorNode.Position  = Vector3.UnitZ * 100;    //hide cursor at start - pos at (0,0,100)
            CursorModel          = CursorNode.CreateComponent <Urho.Shapes.Plane>();
            CursorModel.ViewMask = 0x80000000;             //hide from raycasts (Raycast() uses a differen viewmask so the cursor won't be visible for it)
            CursorNode.RunActions(new RepeatForever(new ScaleTo(0.3f, 0.15f), new ScaleTo(0.3f, 0.2f)));

            var cursorMaterial = new Material();

            cursorMaterial.SetTexture(TextureUnit.Diffuse, Application.ResourceCache.GetTexture2D("Textures/Cursor.png"));
            cursorMaterial.SetTechnique(0, CoreAssets.Techniques.DiffAlpha);
            CursorModel.Material = cursorMaterial;

            app = (ArkitApp)Application;
            continuesHitTest             = app.ContinuesHitTestAtCenter;
            app.ContinuesHitTestAtCenter = true;
        }
 public bool VisitCursorNode(CursorNode node, CompilationState state)
 {
     state.Write("redis");
     return(true);
 }