FlightGear next
flightgear::CameraInfo Struct Reference

A wrapper around osg::Camera that contains some extra information. More...

#include <CameraGroup.hxx>

Inherits osg::Referenced.

Classes

struct  ReloadCompositorCallback
 

Public Types

enum  Flags {
  VIEW_ABSOLUTE = 0x1 , PROJECTION_ABSOLUTE = 0x2 , ORTHO = 0x4 , GUI = 0x8 ,
  DO_INTERSECTION_TEST = 0x10 , FIXED_NEAR_FAR = 0x20 , ENABLE_MASTER_ZOOM = 0x40 , VR_MIRROR = 0x80 ,
  SPLASH = 0x100
}
 properties of a camera. More...
 

Public Member Functions

 CameraInfo (unsigned flags_)
 

Public Attributes

std::string name
 The name as given in the config file.
 
unsigned flags
 Properties of the camera.
 
simgear::compositor::Compositor::MVRInfo mvr
 Multiview rendering properties.
 
double physicalWidth = 0
 Physical size parameters.
 
double physicalHeight = 0
 
double bezelHeightTop = 0
 
double bezelHeightBottom = 0
 
double bezelWidthLeft = 0
 
double bezelWidthRight = 0
 
const CameraInforelativeCameraParent = nullptr
 Non-owning reference to the parent camera for relative camera configurations.
 
osg::Vec2d parentReference [2]
 The reference points in the parents projection space.
 
osg::Vec2d thisReference [2]
 The reference points in the current projection space.
 
osg::Matrix viewOffset
 View offset from the viewer master camera.
 
osg::Matrix projOffset
 Projection offset from the viewer master camera.
 
osg::Matrix viewMatrix
 Current view and projection matrices for this camera.
 
osg::Matrix projMatrix
 
std::unique_ptr< simgear::compositor::Compositor > compositor
 The Compositor used to manage the pipeline of this camera.
 
std::string compositor_path
 Compositor path.
 
osg::ref_ptr< ReloadCompositorCallbackreloadCompositorCallback
 

Detailed Description

A wrapper around osg::Camera that contains some extra information.

Definition at line 58 of file CameraGroup.hxx.

Member Enumeration Documentation

◆ Flags

properties of a camera.

Enumerator
VIEW_ABSOLUTE 

The camera view is absolute, not relative to the master camera.

PROJECTION_ABSOLUTE 

The projection is absolute.

ORTHO 

The projection is orthographic.

GUI 

Camera draws the GUI.

DO_INTERSECTION_TEST 

scene intersection tests this camera.

FIXED_NEAR_FAR 

take the near far values in the projection for real.

ENABLE_MASTER_ZOOM 

Can apply the zoom algorithm.

VR_MIRROR 

Switch to a mirror of VR.

SPLASH 

For splash screen.

Definition at line 62 of file CameraGroup.hxx.

Constructor & Destructor Documentation

◆ CameraInfo()

flightgear::CameraInfo::CameraInfo ( unsigned flags_)
inline

Definition at line 78 of file CameraGroup.hxx.

Member Data Documentation

◆ bezelHeightBottom

double flightgear::CameraInfo::bezelHeightBottom = 0

Definition at line 94 of file CameraGroup.hxx.

◆ bezelHeightTop

double flightgear::CameraInfo::bezelHeightTop = 0

Definition at line 93 of file CameraGroup.hxx.

◆ bezelWidthLeft

double flightgear::CameraInfo::bezelWidthLeft = 0

Definition at line 95 of file CameraGroup.hxx.

◆ bezelWidthRight

double flightgear::CameraInfo::bezelWidthRight = 0

Definition at line 96 of file CameraGroup.hxx.

◆ compositor

std::unique_ptr<simgear::compositor::Compositor> flightgear::CameraInfo::compositor

The Compositor used to manage the pipeline of this camera.

Definition at line 120 of file CameraGroup.hxx.

◆ compositor_path

std::string flightgear::CameraInfo::compositor_path

Compositor path.

Used to recreate the pipeline when reloading. If the path is empty, it means that this camera isn't using a custom Compositor path and should use the default one.

Definition at line 125 of file CameraGroup.hxx.

◆ flags

unsigned flightgear::CameraInfo::flags

Properties of the camera.

See also
CameraGroup::Flags.

Definition at line 85 of file CameraGroup.hxx.

◆ mvr

simgear::compositor::Compositor::MVRInfo flightgear::CameraInfo::mvr

Multiview rendering properties.

Definition at line 88 of file CameraGroup.hxx.

◆ name

std::string flightgear::CameraInfo::name

The name as given in the config file.

Definition at line 82 of file CameraGroup.hxx.

◆ parentReference

osg::Vec2d flightgear::CameraInfo::parentReference[2]

The reference points in the parents projection space.

Definition at line 103 of file CameraGroup.hxx.

◆ physicalHeight

double flightgear::CameraInfo::physicalHeight = 0

Definition at line 92 of file CameraGroup.hxx.

◆ physicalWidth

double flightgear::CameraInfo::physicalWidth = 0

Physical size parameters.

Definition at line 91 of file CameraGroup.hxx.

◆ projMatrix

osg::Matrix flightgear::CameraInfo::projMatrix

Definition at line 117 of file CameraGroup.hxx.

◆ projOffset

osg::Matrix flightgear::CameraInfo::projOffset

Projection offset from the viewer master camera.

Definition at line 112 of file CameraGroup.hxx.

◆ relativeCameraParent

const CameraInfo* flightgear::CameraInfo::relativeCameraParent = nullptr

Non-owning reference to the parent camera for relative camera configurations.

Definition at line 100 of file CameraGroup.hxx.

◆ reloadCompositorCallback

osg::ref_ptr<ReloadCompositorCallback> flightgear::CameraInfo::reloadCompositorCallback

Definition at line 132 of file CameraGroup.hxx.

◆ thisReference

osg::Vec2d flightgear::CameraInfo::thisReference[2]

The reference points in the current projection space.

Definition at line 106 of file CameraGroup.hxx.

◆ viewMatrix

osg::Matrix flightgear::CameraInfo::viewMatrix

Current view and projection matrices for this camera.

They are only used by other child cameras through relativeCameraParent so they can avoid recalculating them.

Definition at line 117 of file CameraGroup.hxx.

◆ viewOffset

osg::Matrix flightgear::CameraInfo::viewOffset

View offset from the viewer master camera.

Definition at line 109 of file CameraGroup.hxx.


The documentation for this struct was generated from the following file: