Changes between Version 4 and Version 5 of ossimPlanetAPI


Ignore:
Timestamp:
Feb 4, 2008, 11:25:38 AM (16 years ago)
Author:
mlucas17
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ossimPlanetAPI

    v4 v5  
    430430'''ossimPlanet_setProjectionMatrixAsRowOrderedArray'''  assumes a 4x4 array or 16 consecutive values.  The values are stored row ordered.  This means that the first 4 values are for the first row and the second four values are for the second row, ... etc.
    431431
     432{{{
    432433   /**
    433434    * @param state The state to modify.
     
    436437   OSSIMPLANET_DLL void ossimPlanet_setProjectionMatrixAsRowOrderedArray(ossimPlanet_StatePtr state,
    437438                                                                         double* m);
     439}}}
    438440   
    439441'''ossimPlanet_setProjectionMatrix''' will set the projection matrix to the passed in values.  Note m00 - m03 identifies the first row of the matrix, then the next is the second row, ... etc.
    440442
     443{{{
    441444   /**
    442445    * @param state The state to modify the view orientation matrix.
     
    464467                                                        double m20, double m21, double m22, double m23,
    465468                                                        double m30, double m31, double m32, double m33);
     469}}}
    466470
    467471
    468472'''ossimPlanet_setViewMatrixAsLlhHprRelativeTangent''' will allow one to pass in the lat, lon height and the euler angles to define the view matrix.  The Euler angles are relative to the tangent plane at the given lat lon position.  Note: this is for the camera and the Z-Axis is the plumb/Nadir axis.  This means that a heading, pitch and roll of all zero degrees will have the eye looking straight down.  Note: all lat lon values are assumed to be relative to the WGS84 ellipsoid. 
    469473
     474{{{
    470475  /**
    471476    * @param state The state to modify.
     
    484489                                                                         double pitch,
    485490                                                                         double roll);
     491}}}
    486492   
    487493'''ossimPlanet_setViewMatrixAsLlhHprAbsolute'''    will allow one to pass in the lat, lon height and the euler angles to define the view matrix.  The Euler angles are not relative to the tangent plane at the given lat lon position but instead the unit axis is used as the base for the camera and the Z-Axis is the plumb/Nadir axis.  Note: all lat lon values are assumed to be relative to the WGS84 ellipsoid. 
    488494
    489495
    490    /**
     496{{{   /**
    491497    * @param state The state to modify.
    492498    * @param lat The latitude of the view camera in degrees.
     
    504510                                                                  double pitch,
    505511                                                                  double roll);
    506    
     512 }}}
     513 
    507514'''ossimPlanet_setViewMatrixAsRowOrderedArray''' will set the matrix to the passed in row ordered array.
    508515
    509    /**
     516{{{   /**
    510517    * @param state The state to modify the view orientation matrix.
    511518    * @param m Row ordered view matrix.
     
    514521                                                                   const double *m);
    515522   
     523}}}
    516524
    517525'''ossimPlanet_setViewMatrix'''    will set the matrix to the passed in values.  Note m00 - m03 identifies the first row of the matrix, then the next is the second row, ... etc.
    518526
     527{{{
    519528   /**
    520529    *
     
    543552                                                  double m20, double m21, double m22, double m23,
    544553                                                  double m30, double m31, double m32, double m33);
     554}}}
    545555
    546556'''ossimPlanet_setViewport''' will allow you to set the viewport dimensions.
    547557
     558{{{
    548559   /**
    549560    * @param state  The state to modify the viewport definitions.
     
    559570                                                int w,
    560571                                                int h);
     572}}}
    561573
    562574'''ossimPlanet_setViewportClearColor''' will clear the viewport with the passed in color.
    563575
     576{{{
    564577   /**
    565578    * @param state  The state information to modify the clear color.
     
    574587                                                  float blue,
    575588                                                  float alpha);
     589}}}
    576590
    577591=== Rendering Interface ===
     
    583597'''ossimPlanet_renderFrame'''  is the main rendering step.  This will render 1 frame.
    584598
     599{{{
    585600   /**
    586601     * @param state The state to modify.
     
    589604     */
    590605   OSSIMPLANET_DLL ossimPlanet_BOOL ossimPlanet_renderFrame(ossimPlanet_StatePtr state);
     606}}}
    591607
    592608'''ossimPlanet_renderFramePreserveState'''  is the main rendering step.  This will render 1 frame and preserve the state.  This will call osismPlanet_pushState before rendering and ossimPlanet_popState after rendering and will preserve gl attributes, View, Projection and Texture matrices.
    593609
     610{{{
    594611   /**
    595612    * @param state The state to modify.
     
    598615    */
    599616   OSSIMPLANET_DLL ossimPlanet_BOOL ossimPlanet_renderFramePreserveState(ossimPlanet_StatePtr state);
     617}}}
    600618
    601619
    602620'''ossimPlanet_needsRendering''' is used determine if another frame is required to be rendered.  Call this to determine if you need to call ossimPlanet_renderFrame.   
    603621
     622{{{
    604623   /**
    605624    * Example use:
     
    615634    */
    616635   OSSIMPLANET_DLL ossimPlanet_BOOL ossimPlanet_needsRendering(ossimPlanet_StatePtr state);
     636}}}
    617637
    618638=== Layer interface ===
     
    621641'''ossimPlanet_addLayer''' adds a layer to planet. the layer type is used in the ossimPlanetLayerRegistry to construct a layer of the passed layerType.  The receiverName is used to set the receiver name of the layer created so action messages can be routed to it.
    622642
     643{{{
    623644   /**
    624645    * @param state The state to modify.
     
    639660                                                             ossimPlanet_ConstStringType description,
    640661                                                             ossimPlanet_ConstStringType receiverPathName);
     662}}}
    641663
    642664'''ossimPlanet_getNumberOfLayers''' Allows one access to the number of layers currently defined for your state.
    643665
     666{{{
    644667   /**
    645668    * @param state The state to use.
     
    648671    */
    649672   OSSIMPLANET_DLL ossimPlanet_SizeType ossimPlanet_getNumberOfLayers(ossimPlanet_StatePtr state);
     673}}}
    650674
    651675
    652676'''ossimPlanet_getIndexOfLayerGivenPtr''' Allows one to get the layer index of the passed in layer.
    653677
     678{{{
    654679   /**
    655680    * @param state The state to use.
     
    660685   OSSIMPLANET_DLL ossimPlanet_IndexType ossimPlanet_getIndexOfLayerGivenPtr(ossimPlanet_StatePtr state,
    661686                                                                             ossimPlanet_LayerPtr layerPtr);
     687}}}
    662688 
    663689'''ossimPlanet_getLayerGivenIndex''' Allows one to get the layer pointer from the passed in index. 
     690{{{
    664691   /**
    665692    * @param state The state to use.
     
    670697   OSSIMPLANET_DLL ossimPlanet_LayerPtr ossimPlanet_getLayerGivenIndex(ossimPlanet_StatePtr state,
    671698                                                                       ossimPlanet_IndexType idx);
     699}}}
    672700
    673701'''ossimPlanet_getLayerGivenId''' Will return the native layer pointer given the id   
    674    /**
     702 {{{
     703  /**
    675704    * @param state The state to use.
    676705    * @param idThe id of the layer to search.
     
    680709   OSSIMPLANET_DLL ossimPlanet_LayerPtr ossimPlanet_getLayerGivenId(ossimPlanet_StatePtr state,
    681710                                                                    ossimPlanet_ConstStringType id);
     711}}}
    682712
    683713'''ossimPlanet_getLayerName''' returns the layer name.
    684714
     715{{{
    685716   /**
    686717    * @param state The state to use.
     
    690721    */
    691722   OSSIMPLANET_DLL ossimPlanet_ConstStringType ossimPlanet_getLayerName(ossimPlanet_LayerPtr layer);
     723}}}
    692724
    693725'''ossimPlanet_setLayerName''' allows one to set the layer name.
    694726   
     727{{{
    695728   /**
    696729    * @param layer The layer to set.
     
    699732   OSSIMPLANET_DLL void ossimPlanet_setLayerName(ossimPlanet_LayerPtr layer,
    700733                                                 ossimPlanet_ConstStringType name);   
     734}}}
    701735
    702736'''ossimPlanet_getLayerId''' returns the layer id.
    703737   
     738{{{
    704739   /**
    705740    * @param state The state to use.
     
    709744    */
    710745   OSSIMPLANET_DLL ossimPlanet_ConstStringType ossimPlanet_getLayerId(ossimPlanet_LayerPtr layer);
     746}}}
    711747     
    712748'''ossimPlanet_setLayerId''' Allows one to set the layer id.
    713749
     750{{{
    714751   /**
    715752    * @param layer The layer to set.
     
    718755   OSSIMPLANET_DLL void ossimPlanet_setLayerId(ossimPlanet_LayerPtr layer,
    719756                                               ossimPlanet_ConstStringType id);
     757}}}
    720758
    721759'''ossimPlanet_getLayerDescription''' returns the layer description.
    722760
     761{{{
    723762   /**
    724763    * @param state The state to use.
     
    728767    */
    729768   OSSIMPLANET_DLL ossimPlanet_ConstStringType ossimPlanet_getLayerDescription(ossimPlanet_LayerPtr layer);
     769}}}
    730770
    731771'''ossimPlanet_setLayerDescription''' Allows one to set the layer description.
    732772
     773{{{
    733774   /**
    734775    * @param layer The layer to set.
     
    737778   OSSIMPLANET_DLL void ossimPlanet_setLayerDescription(ossimPlanet_LayerPtr layer,
    738779                                                        ossimPlanet_ConstStringType description);
     780}}}
    739781
    740782'''ossimPlanet_getLayerReceverPathName''' Returns the layer's receiver path name
    741783
     784{{{
    742785   /**
    743786    * @param state The state to use.
     
    747790    */
    748791   OSSIMPLANET_DLL ossimPlanet_ConstStringType ossimPlanet_getLayerReceverPathName(ossimPlanet_LayerPtr layer);
     792}}}
    749793
    750794'''ossimPlanet_setLayerReceiverPathName''' Allows one to change/set the layer receiver path name.     
     795{{{
    751796   /**
    752797    * @param layer The layer to set.
     
    755800   OSSIMPLANET_DLL void ossimPlanet_setLayerReceiverPathName(ossimPlanet_LayerPtr layer,
    756801                                                             ossimPlanet_ConstStringType receiverPathName);
     802}}}
    757803
    758804== Action / Router and Receiver Command Reference ==
     
    762808'''ossimPlanet_routeActionForm1''' This will use ossimPlanet's Action router to route the message to the destination.  For example: lets say we have a receiver name as foo and we have an action called bar and it takes a single string as an argument then call ossimPlanet_routeActionForm1(":foo bar MySingleString"). This will route a action "bar" to the receiver "foo" and has 1 argument MySingleString.
    763809
     810{{{
    764811    /**
    765812      * @param action
    766813      */
    767814   OSSIMPLANET_DLL void ossimPlanet_routeActionForm1(ossimPlanet_ConstStringType completeAction);
     815}}}
    768816
    769817
    770818'''ossimPlanet_routeActionForm2'''  Is a utility call that is the same as ossimPlanet_routeActionForm1 but will do the concatenation of the target, action, and arg parameters into a single composite action.  ossimPlanet_routeActionForm2(":foo", "bar", "MySingleString") will perform the same action as Form1 above.
     819{{{
    771820   /**
    772821    * @param action
     
    775824                                                     ossimPlanet_ConstStringType action,
    776825                                                     ossimPlanet_ConstStringType arg);
     826}}}
    777827
    778828'''ossimPlanet_postActionForm1'''  will use ossimPlanet's Action router to route the message to the destination.  The post call will instead add the action to a thread queue and route in the background without the caller having to wait for completion.  This is equivalent to ossimPlanet_routeActionForm1 above but will instead just add to thread queue for later processing.
    779829 
     830{{{
    780831   /**
    781832    * @param action
    782833    */
    783834   OSSIMPLANET_DLL void ossimPlanet_postActionForm1(ossimPlanet_ConstStringType completeAction);
     835}}}
    784836   
    785837'''ossimPlanet_postActionForm2''' will use ossimPlanet's Action router to route the message to the destination.  The post call will instead add the action to a thread queue and route in the background without the caller having to wait for completion.  This is equivalent to ossimPlanet_routeActionForm2 above but will instead just add to thread queue for later processing.
    786838
     839{{{
    787840   /**
    788841    * @param target The target receiver path name.
     
    793846                                                     ossimPlanet_ConstStringType action,
    794847                                                     ossimPlanet_ConstStringType arg);
     848}}}
    795849=== ossimPlanetLand Receiver Commands ===
    796850
    797851'''add''' takes any number of arguments and can be of the form:
    798852
    799 * {Image {Parent {Name <name>} {Id <id>}} {Name <name>} {Id <id>} {Description <description>} {Filename <file>}}
     853 * {Image {Parent {Name <name>} {Id <id>}} {Name <name>} {Id <id>} {Description <description>} {Filename <file>}}
    800854This is the Image object definition and supplies all parameters for initialization.  For the {Image ..} you can give it a name, Id and a description.  The accessor in this example is a Filename type. Future accessor types will be given such as Wms.  The {Parent ...} object is used to identify the Parent you wish to add the layer to If this is not specified then the root Layer of the reference set is used as the parent.  You must call add {ImageGroup {...}} to create a group before adding to it any children  This basically allows you to group Image types into a common group.  Note, the name id and description are optional but if you want to later do a remove you might want to specify at least one or both name and id for the image being added.
    801 * {ImageGroup {Parent {Name <name>} {Id <id>}} {Name <name>} {Id <id>} {Description <description>} }
     855 * {ImageGroup {Parent {Name <name>} {Id <id>}} {Name <name>} {Id <id>} {Description <description>} }
    802856Allows one to create a group and give it a name id and description.<br>
    803857<br>
    804858'''remove'''  takes any number of arguments and can be of the form:
    805 *{Image {Name <name>} {Id <id>}}
     859 * {Image {Name <name>} {Id <id>}}
    806860This form is used to also delete layers of type ImageGroup.  For image groups you still use {Image and not {ImageGroup for the removal.
    807861