public static void LoadImagesets(Folder folder) { foreach (object child in folder.Children) { Imageset imageset = null; if (child is Imageset) { imageset = (Imageset)child; WWTControl.ImageSets.Add(imageset); } if (child is Place) { Place place = (Place)child; if (place.StudyImageset != null) { WWTControl.ImageSets.Add(place.StudyImageset); } if (place.BackgroundImageset != null) { WWTControl.ImageSets.Add(place.BackgroundImageset); } } } if (!string.IsNullOrEmpty(WWTControl.ImageSetName)) { string name = WWTControl.ImageSetName.ToLowerCase(); foreach (Imageset imageset in WWTControl.ImageSets) { if (imageset.Name.ToLowerCase() == name) { WWTControl.Singleton.RenderContext.BackgroundImageset = imageset; } } } }
public void CreateExplorerUI() { if (Explorer == null) { Explorer = FolderBrowser.Create(); DivElement div = (DivElement)Document.GetElementById("UI"); div.InsertBefore(Explorer.Canvas); ExploreRoot = new Folder(); ExploreRoot.LoadFromUrl("http://www.worldwidetelescope.org/wwtweb/catalog.aspx?W=NewExploreRoot", delegate { Explorer.AddItems(WWTControl.ExploreRoot.Children); Explorer.Refresh(); }); } }
public void Setup(CanvasElement canvas) { canvas.AddEventListener("dblclick", OnDoubleClick, false); //canvas.AddEventListener("mousemove", OnMouseMove, false); //canvas.AddEventListener("mouseup", OnMouseUp, false); //canvas.AddEventListener("pointerdown", OnPointerDown, false); canvas.AddEventListener("mousedown", OnMouseDown, false); canvas.AddEventListener("mousewheel", OnMouseWheel, false); canvas.AddEventListener("DOMMouseScroll", OnMouseWheel, false); // this is for firefox as it does not support mousewheel canvas.AddEventListener("touchstart", OnTouchStart, false); canvas.AddEventListener("touchmove", OnTouchMove, false); canvas.AddEventListener("touchend", OnTouchEnd, false); canvas.AddEventListener("gesturechange", OnGestureChange, false); canvas.AddEventListener("gesturestart", OnGestureStart, false); canvas.AddEventListener("gestureend", OnGestureEnd, false); Document.Body.AddEventListener("keydown", OnKeyDown, false); //canvas.AddEventListener("MSGestureChange", OnGestureChange, false); //canvas.AddEventListener("mouseout", OnMouseUp, false); // MS Touch code canvas.AddEventListener("pointerdown", OnPointerDown, false); canvas.AddEventListener("pointermove", OnPointerMove, false); canvas.AddEventListener("pointerup", OnPointerUp, false); // End MS touch code RenderContext.ViewCamera.Lat = StartLat; RenderContext.ViewCamera.Lng = StartLng; RenderContext.ViewCamera.Zoom = StartZoom; RenderContext.TargetCamera = RenderContext.ViewCamera.Copy(); if (RenderContext.gl == null) { foregroundCanvas = (CanvasElement)Document.CreateElement("canvas"); foregroundCanvas.Width = canvas.Width; foregroundCanvas.Height = canvas.Height; fgDevice = (CanvasContext2D)foregroundCanvas.GetContext(Rendering.Render2D); } webFolder = new Folder(); webFolder.LoadFromUrl("http://www.worldwidetelescope.org/wwtweb/catalog.aspx?X=ImageSets5", SetupComplete); WebFile webFile = new WebFile("http://www.worldwidetelescope.org/wwtweb/weblogin.aspx?user=12345678-03D2-4935-8D0F-DCE54C9113E5&Version=HTML5&webkey=AX2011Gqqu&platform=web"); webFile.Send(); }
//public static Folder LoadFromXML(XmlNode node) //{ // Folder temp = new Folder(); // temp.ParseXML(node); // return temp; //} private void ParseXML(XmlNode node) { if (node.Attributes.GetNamedItem("Name") != null) { nameField = node.Attributes.GetNamedItem("Name").Value; } else { nameField = ""; } if (node.Attributes.GetNamedItem("Url") != null) { urlField = node.Attributes.GetNamedItem("Url").Value; } if (node.Attributes.GetNamedItem("Thumbnail") != null) { thumbnailUrlField = node.Attributes.GetNamedItem("Thumbnail").Value; } // load Children foreach (XmlNode child in node.ChildNodes) { switch (child.Name) { case "Folder": Folder temp = new Folder(); temp.Parent = this; //if (Parent != null && IsProxy) //{ // temp.Parent = Parent.Parent; //} temp.ParseXML(child); folders.Add(temp); break; case "Place": places.Add(Place.FromXml(child)); break; case "ImageSet": Imagesets.Add(Imageset.FromXMLNode(child)); break; case "Tour": Tours.Add(Tour.FromXml(child)); break; } } //bool Browseable { get; set; } //System.Collections.Generic.List<Folder> Folders { get; set; } //FolderGroup Group { get; set; } //System.Collections.Generic.List<Imageset> Imagesets { get; set; } //long MSRCommunityId { get; set; } //long MSRComponentId { get; set; } //string Name { get; set; } //long Permission { get; set; } //System.Collections.Generic.List<Place> Places { get; set; } //bool ReadOnly { get; set; } //string RefreshInterval { get; set; } //FolderRefreshType RefreshType { get; set; } //bool RefreshTypeSpecified { get; set; } //bool Searchable { get; set; } //string SubType { get; set; } //string ThumbnailUrl { get; set; } //System.Collections.Generic.List<Tour> Tours { get; set; } //FolderType Type { get; set; } //string Url { get; set; } }
public void RemoveChildFolder(Folder child) { folders.Remove(child); dirty = true; }
public void Refresh() { if (proxyFolder == null) { proxyFolder = new Folder(); proxyFolder.IsProxy = true; proxyFolder.Parent = Parent; } proxyFolder.LoadFromUrl(urlField, childReadyCallback); childReadyCallback = null; }
public void AddChildFolder(Folder child) { folders.Add(child); dirty = true; }
public static void GetWtmlFile(string url, Action complete) { Folder temp = new Folder(); temp.LoadFromUrl(url, delegate { LoadImagesets(temp); complete(); }); }
public Folder CreateFolder() { Folder folder = new Folder(); return(folder); }
public static void DrawArtwork(RenderContext renderContext) { if (Artwork == null) { if (artFile == null) { artFile = new Folder(); artFile.LoadFromUrl("http://www.worldwidetelescope.org/wwtweb/catalog.aspx?W=hevelius", OnArtReady); //artFile.LoadFromUrl("http://www.worldwidetelescope.org/wwtweb/catalog.aspx?W=and", OnArtReady); } return; } maxSeperation = Math.Max(.50, Math.Cos((renderContext.FovAngle * 2) / 180.0 * Math.PI)); foreach (Place place in Artwork) { //BlendState bs = PictureBlendStates[imageset.Name]; //bs.TargetState = Settings.Active.ConstellationArtFilter.IsSet(imageset.Name); //if (bs.State) bool reverse = false; Place centroid = ConstellationCentroids[place.Constellation]; if (centroid != null) { Vector3d pos = Coordinates.RADecTo3d(reverse ? -centroid.RA - 6 : centroid.RA, reverse ? centroid.Dec : centroid.Dec); if (Vector3d.Dot(renderContext.ViewPoint, pos) > maxSeperation) { renderContext.DrawImageSet(place.StudyImageset, 100); } } } }