Changes between Version 6 and Version 7 of visual_object


Ignore:
Timestamp:
Apr 10, 2010, 12:29:22 PM (13 years ago)
Author:
Torben Dannhauer
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • visual_object

    v6 v7  
    99The module "visual_object" allows to manage objects in the scene, with fixed or dynamic position. An visual_object can be positioned in latitude, longitude and altitude, as well in rotations along all three axis.
    1010The object itself is not visible, it only provides the functions for managing the object. By adding text labels or geometries, it is visible in the scene.
     11
     12If you want to specialize visual_object for more specifiy usage, subclass visual_object and add your new convenient values and calculations, e.g.:
     13 * visual_aircraft
     14  * Add gear : extraction_value
     15  * Add light : navigationlight_value
     16  * Add propeller rpm : prop_rpm_value
    1117
    1218== Overview Convenience Functions ==
     
    2127 * setting camera translation offset (used by node attached camera manipulator)
    2228 * setting camera rotation offset (used by node attached camera manipulator)
    23  * adding/removing object_updater      (see xx for further information)
    24  * adding/removing label      (see [http://www.osgvisual.org/projects/osgvisual/wiki/visual_object#Objectlabels Object labels] for further information)
     29 * adding/removing object_updater      (see [http://www.osgvisual.org/projects/osgvisual/wiki/visual_object#Objectupdater object updater] for further information)
     30 * adding/removing label      (see [http://www.osgvisual.org/projects/osgvisual/wiki/visual_object#Objectlabels object labels] for further information)
    2531
    2632== Technical Implementation ==
    2733
    28 This description does not replace the dive into the sourceode, it should give you only a short overview how it works.
    29 Please read the doxygen documentation as reference for all function calls: http://www.osgvisual.org/notyetpublished
     34This description does not replace the dive into the source code, it should give you only a short overview how it works.
     35Please read the doxygen documentation of all function calls: http://www.osgvisual.org/notyetpublished
    3036
     37Basically, a visual_object is a subclass of  a simple Matrixtransform which has the geometry as child node.
     38Additionally it contains variables and their setters/getter for all specified convenient functions.
    3139
    32 Basically, a visual_object is a simple Matrixtransform which has the geometry as childnode.
     40The Matrixtransform has several child which are matrixes or drawables to provide the functionality:
     41<Insert Image of visual Objects architecture>
     42
     43The core functionality is an update callback (installed on the visual_object class by its initializer), which transforms the specified object properties to the corresponding matrices:
     44 * lat/lon/alt via OSG'S ellipsoid model and its computeLocalToWorld() to the objects transform matrix.
     45 * scale values to the scaling matrix.
     46 * camera values to the camera matrix.
     47 * geometry offset values to the object matrix.
     48
     49The object updater and label functions are not updated every frame by the callback, it just invokes their own udpdate functions.
    3350
    3451