Exemple #1
0
        public override BaseEditor CreateObject(ref BaseEditor parent, Mogre.NameValuePairList parameters)
        {
            LightEditor obj = new LightEditor();

            NameValuePairList.Iterator ni;
            if ((ni = parameters.Find("Init")) != parameters.End())
            {
                parameters["Name"] = "Light" + MogitorsRoot.Instance.CreateUniqueID("Light", "", -1);
            }

            obj.ProcessParameters(parameters);
            obj.Parent = parent;

            InstanceCount++;
            return(obj);
        }
Exemple #2
0
        public override void GetObjectProperties(Mogre.NameValuePairList retList)
        {
            retList.Clear();
            retList["Name"]            = this.name;
            retList["Colour"]          = Mogre.StringConverter.ToString(this.colour);
            retList["Index"]           = Mogre.StringConverter.ToString(ViewportIndex);
            retList["Dimensions"]      = Mogre.StringConverter.ToString(this.dimensions);
            retList["Overlays"]        = Mogre.StringConverter.ToString(this.overlays);
            retList["Skies"]           = Mogre.StringConverter.ToString(this.skies);
            retList["Shadows"]         = Mogre.StringConverter.ToString(this.shadows);
            retList["CamPosition"]     = Mogre.StringConverter.ToString(ViewCamera.Position);
            retList["CamOrientation"]  = Mogre.StringConverter.ToString(ViewCamera.Orientation);
            retList["CamFOV"]          = Mogre.StringConverter.ToString(ViewCamera.FOV);
            retList["CamPolyMode"]     = Mogre.StringConverter.ToString((int)ViewCamera.PolygonMode);
            retList["CamClipDistance"] = Mogre.StringConverter.ToString(ViewCamera.ClipDistance);

            Mogre.CompositorManager comMngr = Mogre.CompositorManager.Singleton;
            if (!comMngr.HasCompositorChain(this.handle))
            {
                return;
            }

            int count = 0;

            Mogre.CompositorChain chain = comMngr.GetCompositorChain(this.handle);
            foreach (Mogre.CompositorInstance compositor in chain.GetCompositors())
            {
                Mogre.Compositor sub = compositor.Compositor;
                if (sub == null)
                {
                    continue;
                }

                if (sub.Name.Substring(1, 7) == "_Hydrax")
                {
                    continue;
                }

                string compId = "Compositor" + Mogre.StringConverter.ToString(count);
                retList[compId + "Name"]    = sub.Name;
                retList[compId + "Enabled"] = Mogre.StringConverter.ToString(compositor.Enabled);
                count++;
            }
        }
Exemple #3
0
        private void CreateViewport()
        {
            Mogre.NameValuePairList parameters = new Mogre.NameValuePairList();

            parameters["Name"]         = "intViewCamera" + Mogre.StringConverter.ToString(ViewportIndex);
            parameters["ClipDistance"] = "0.1 40000";

            BaseEditor scnMgr = MogitorsRoot.Instance.SceneManagerEditor;

            ViewCamera = CameraEditor.Factory.CreateObject(ref scnMgr, parameters) as CameraEditor;
            ViewCamera.Load();

            this.handle = MogitorsRoot.Instance.RenderTarget.AddViewport(ViewCamera.Camera, (int)ViewportIndex,
                                                                         dimensions.x, dimensions.y, dimensions.z, dimensions.w);

            if (Name == "")
            {
                this.name = "Viewport" + Mogre.StringConverter.ToString(ViewportIndex);
            }

            ViewCamera.Camera.AspectRatio = (float)this.handle.ActualWidth / (float)this.handle.ActualHeight;
            ViewCamera.ShowHelper         = false;

            ActiveCamera = ViewCamera;
            this.handle.BackgroundColour = this.colour;

            PopCompositors();

            ProjectOptions opt = MogitorsRoot.Instance.ProjectOptions;

            if (opt.Cameras.Count > 0)
            {
                ViewCamera.Position    = opt.Cameras[opt.Cameras.Count - 1].Position;
                ViewCamera.Orientation = opt.Cameras[opt.Cameras.Count - 1].Orientation;
            }

            LoadEditorObjects();
        }
Exemple #4
0
        public override void ProcessParameters(Mogre.NameValuePairList parameters)
        {
            Mogre.NameValuePairList.Iterator ni;

            if ((ni = parameters.Find("Name")) != parameters.End())
            {
                this.name = ni.Value;
            }

            if ((ni = parameters.Find("Dimensions")) != parameters.End())
            {
                this.dimensions = MogreX.StringConverter.ParseVector4(ni.Value);
            }

            if ((ni = parameters.Find("Skies")) != parameters.End())
            {
                this.skies = Mogre.StringConverter.ParseBool(ni.Value);
            }

            if ((ni = parameters.Find("Shadows")) != parameters.End())
            {
                this.shadows = Mogre.StringConverter.ParseBool(ni.Value);
            }

            if ((ni = parameters.Find("Overlays")) != parameters.End())
            {
                this.overlays = Mogre.StringConverter.ParseBool(ni.Value);
            }

            if ((ni = parameters.Find("CamPosition")) != parameters.End())
            {
                this.camPosition = Mogre.StringConverter.ParseVector3(ni.Value);
            }

            if ((ni = parameters.Find("CamOrientation")) != parameters.End())
            {
                this.camOrientation = Mogre.StringConverter.ParseQuaternion(ni.Value);
            }

            if ((ni = parameters.Find("CamClipDistance")) != parameters.End())
            {
                this.camClipDistance = MogreX.StringConverter.ParseVector2(ni.Value);
            }

            if ((ni = parameters.Find("CamPolyMode")) != parameters.End())
            {
                this.camPolyMode = (Mogre.PolygonMode)Mogre.StringConverter.ParseInt(ni.Value);
                OnPropertyChanged("CamPolyMode");
            }

            if ((ni = parameters.Find("CamFOV")) != parameters.End())
            {
                this.camFOV = Mogre.StringConverter.ParseReal(ni.Value);
            }

            if ((ni = parameters.Find("Colour")) != parameters.End())
            {
                this.colour = Mogre.StringConverter.ParseColourValue(ni.Value);
            }

            this.compositorStorage.Clear();
            for (int cx = 0; cx < 100; ++cx)
            {
                string searchstr = "Compositor" + Mogre.StringConverter.ToString(cx);
                if ((ni = parameters.Find(searchstr + "Name")) != parameters.End())
                {
                    CompositorPush compData = new CompositorPush();
                    compData.Name    = ni.Value;
                    ni               = parameters.Find(searchstr + "Enabled");
                    compData.Enabled = Mogre.StringConverter.ParseBool(ni.Value);
                    this.compositorStorage.Add(compData);
                }
                else
                {
                    break;
                }
            }
        }
        private void CreateViewport()
        {
            Mogre.NameValuePairList parameters = new Mogre.NameValuePairList();

            parameters["Name"] = "intViewCamera" + Mogre.StringConverter.ToString(ViewportIndex);
            parameters["ClipDistance"] = "0.1 40000";

            BaseEditor scnMgr = MogitorsRoot.Instance.SceneManagerEditor;
            ViewCamera = CameraEditor.Factory.CreateObject(ref scnMgr, parameters) as CameraEditor;
            ViewCamera.Load();

            this.handle = MogitorsRoot.Instance.RenderTarget.AddViewport(ViewCamera.Camera, (int)ViewportIndex,
                dimensions.x, dimensions.y, dimensions.z, dimensions.w);

            if (Name == "")
            {
                this.name = "Viewport" + Mogre.StringConverter.ToString(ViewportIndex);
            }

            ViewCamera.Camera.AspectRatio = (float)this.handle.ActualWidth / (float)this.handle.ActualHeight;
            ViewCamera.ShowHelper = false;

            ActiveCamera = ViewCamera;
            this.handle.BackgroundColour = this.colour;

            PopCompositors();

            ProjectOptions opt = MogitorsRoot.Instance.ProjectOptions;
            if (opt.Cameras.Count > 0)
            {
                ViewCamera.Position = opt.Cameras[opt.Cameras.Count - 1].Position;
                ViewCamera.Orientation = opt.Cameras[opt.Cameras.Count - 1].Orientation;
            }

            LoadEditorObjects();
        }