World Wind v1.4 API Specification

From World Wind Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 16:32, 19 April 2005 (edit)
143.232.86.153 (Talk)

← Previous diff
Revision as of 19:27, 20 April 2005 (edit) (undo)
143.232.86.153 (Talk)

Next diff →
Line 1: Line 1:
'''Key Interfaces that will be defined in the Plugin API''' '''Key Interfaces that will be defined in the Plugin API'''
*IRenderable *IRenderable
 +**void Initialize(...)
 +**void Update(...)
 +**void Render(...)
 +**bool Initialized{get;}
 +**bool Disposed{get;}
 +**Vector3 Position{get;set;}
 +**Vector3 Orientation{get;set;}
 +**string Name{get;} //should this be "set" as well?
 +**bool Visible{get;set;} //used to be "IsOn", perhaps this shouldn't be "Visible" because being "Visible" doesn't mean that an object is actually in the View Frustum.
 +**byte Opacity{get;set;}
 +**Hashtable MetaData{get;set;}
 +**ArrayList ChildRenderables{get;} //combine RenderableObject and RenderableObjectList
 +
 +*IInteractive //perhaps there are interfaces in .Net already for this...similar to JAVA KeyListener and MouseListener ?
 +**void OnKeyDown(KeyEventArgs e)
 +**void OnKeyUp(KeyEventArgs e)
 +**void OnMouseDown(MouseEventArgs e)
 +**void OnMouseUp(MouseEventArgs e)
 +**void OnMouseMove(MouseEventArgs e)
 +**void OnMouseWheel(MouseEventArgs e)
 +**void OnMouseLeave(EventArgs e)
 +**void OnMouseEnter(EventArgs e) //??
 +
*ICamera *ICamera
 +** under construction...
*IWorld *IWorld
 +** under construction...
One issue that has always bothered me was whether to exclusively make the camera "focus" on a "World" or whether to make it focus on a "RenderableObject". Of course, you cannot really define what a view range is if you focus on something like the International Space Station, but perhaps someone '''would''' want to focus on that... One issue that has always bothered me was whether to exclusively make the camera "focus" on a "World" or whether to make it focus on a "RenderableObject". Of course, you cannot really define what a view range is if you focus on something like the International Space Station, but perhaps someone '''would''' want to focus on that...

Revision as of 19:27, 20 April 2005

Key Interfaces that will be defined in the Plugin API

  • IRenderable
    • void Initialize(...)
    • void Update(...)
    • void Render(...)
    • bool Initialized{get;}
    • bool Disposed{get;}
    • Vector3 Position{get;set;}
    • Vector3 Orientation{get;set;}
    • string Name{get;} //should this be "set" as well?
    • bool Visible{get;set;} //used to be "IsOn", perhaps this shouldn't be "Visible" because being "Visible" doesn't mean that an object is actually in the View Frustum.
    • byte Opacity{get;set;}
    • Hashtable MetaData{get;set;}
    • ArrayList ChildRenderables{get;} //combine RenderableObject and RenderableObjectList
  • IInteractive //perhaps there are interfaces in .Net already for this...similar to JAVA KeyListener and MouseListener ?
    • void OnKeyDown(KeyEventArgs e)
    • void OnKeyUp(KeyEventArgs e)
    • void OnMouseDown(MouseEventArgs e)
    • void OnMouseUp(MouseEventArgs e)
    • void OnMouseMove(MouseEventArgs e)
    • void OnMouseWheel(MouseEventArgs e)
    • void OnMouseLeave(EventArgs e)
    • void OnMouseEnter(EventArgs e) //??
  • ICamera
    • under construction...
  • IWorld
    • under construction...

One issue that has always bothered me was whether to exclusively make the camera "focus" on a "World" or whether to make it focus on a "RenderableObject". Of course, you cannot really define what a view range is if you focus on something like the International Space Station, but perhaps someone would want to focus on that...

Personal tools