wiki:visual_object

Version 2 (modified by Torben Dannhauer, 10 years ago) (diff)

--

visual_object

Introduction

All objects in the 3D scene are objects, with fixed or dynamic position. An visual_object can be positioned in latitude, longitude and altitude, as well in rotations along all three axis. By assigning a 3D modell to an visual_object, the Model is visible in the scene and can be freely positioned.

Basically, a visual_object is a simple Matrixtransform which has the geometry as childnode.

visual_object provides the following convenience variables / functions for simple usage of objects in osgVisual:

  • positioning in lat, lon, alt (position)
  • rotating along all 3 object axis (attitude)
  • scaling along all 3 axis
  • loading/unloading 3D geometry
  • setting geometry offset, if 3D model has wrong axis orientation
  • camera translation offset (on node attached camera manipulator)
  • camera attitude offset (on node attached camera manipulator)
  • adding/removing object_updater
  • setting/clearing label (todo)

Object updater

To allow flexible updates of visual_object or derived classes (short: object), an object_updater can be attached to a object. Update are also attachable to other updaters, so updater chains are possible to create.