Changes between Version 1 and Version 2 of ossimPlanetAPI


Ignore:
Timestamp:
Feb 4, 2008, 10:20:33 AM (16 years ago)
Author:
mlucas17
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ossimPlanetAPI

    v1 v2  
    77The design goals of the system emphasize:
    88
    9 * High performance 3D visualization
    10 * Photogrammetric accuracy
    11 * Native File access (files don't need to be staged, or "pre-cooked"
    12 * Advanced Collaboration (Data and Navigation synchronization)
    13 * Leveraging existing OpenSceneGraph and OSSIM capabilities
     9 * High performance 3D visualization
     10 * Photogrammetric accuracy
     11 * Native File access (files don't need to be staged, or "pre-cooked"
     12 * Advanced Collaboration (Data and Navigation synchronization)
     13 * Leveraging existing OpenSceneGraph and OSSIM capabilities
    1414
    1515== Goals ==
     
    3232There are three potential paths to integrating ossimPlanet into your application:
    3333
    34 #  The application owns and controls its own OpenGL Context and embeds planet as another drawable (SCOPES)
    35 #  The application owns and controls its own OpenSceneGraph,  planet is just a node in that scene graph
    36 #  The application gets all OpenSceneGraph and viewing capabilites from ossimPlanet, it creates the context and the rendering window
     34 #  The application owns and controls its own OpenGL Context and embeds planet as another drawable (SCOPES)
     35 #  The application owns and controls its own OpenSceneGraph,  planet is just a node in that scene graph
     36 #  The application gets all OpenSceneGraph and viewing capabilites from ossimPlanet, it creates the context and the rendering window
    3737
    3838The initialization will begin with setting up a state pointer to ossimPlanet passing the appropriate mode from the list above.  This will initialize all needed resources for your application.
     
    7575The context type determines how much you want the API to manage and handle.  There are 3 ways you probably would like to use the library. 
    7676
    77 *CASE 1 -  ossimPlanet_NOVIEWER_CONTEXT option is used to embed  the scenegraph and bridge view parameters. There are 2 situations when you want to do this and both require that you create your own GL context and manage it. The first situation is if Planet is the drawable and you are in a GUI environment that creates a Gl context for you.  You just make it current and then draw the planet and use the API to bridge view parameters and manipulate layers.  The second situation is if you have a full GL application that you wrote and all you want to do is embed the planet as a drawable.  This requires some additional gl state saving when invoking the drawing of the planet.
    78 * CASE 2 - ossimPlanet_PLANET_ONLY_CONTEXT option is used when you are wanting to use the API only to interface into the manipulation of the planet layers.  Typically this is done if you have your own OpenSceneGraph and your own View and gl context.  We will give you native access to the root planet class.
    79 * CASE 3 - ossimPlanet_VIEWER_CONTEXT option is typical of a full command line application that all you are concerned about is scripting and running a full screen or windowed planet.  This will interface into osg::Viewer and will create a render window for you.
     77 * CASE 1 -  ossimPlanet_NOVIEWER_CONTEXT option is used to embed  the scenegraph and bridge view parameters. There are 2 situations when you want to do this and both require that you create your own GL context and manage it. The first situation is if Planet is the drawable and you are in a GUI environment that creates a Gl context for you.  You just make it current and then draw the planet and use the API to bridge view parameters and manipulate layers.  The second situation is if you have a full GL application that you wrote and all you want to do is embed the planet as a drawable.  This requires some additional gl state saving when invoking the drawing of the planet.
     78 * CASE 2 - ossimPlanet_PLANET_ONLY_CONTEXT option is used when you are wanting to use the API only to interface into the manipulation of the planet layers.  Typically this is done if you have your own OpenSceneGraph and your own View and gl context.  We will give you native access to the root planet class.
     79 * CASE 3 - ossimPlanet_VIEWER_CONTEXT option is typical of a full command line application that all you are concerned about is scripting and running a full screen or windowed planet.  This will interface into osg::Viewer and will create a render window for you.
    8080
    8181 typedef enum ossimPlanet_ContextType