gramods
Classes | Public Member Functions | Static Public Attributes | List of all members
gramods::gmGraphics::SpatialPlanarView Class Reference

This view provides skewed frustum projection of the renderers, on a planar projection surface. More...

#include <SpatialPlanarView.hh>

Inheritance diagram for gramods::gmGraphics::SpatialPlanarView:
Inheritance graph
[legend]
Collaboration diagram for gramods::gmGraphics::SpatialPlanarView:
Collaboration graph
[legend]

Classes

struct  Impl
 

Public Member Functions

void setTopLeftCorner (Eigen::Vector3f tlc)
 Position of the top left corner of the view. More...
 
void setBottomRightCorner (Eigen::Vector3f brc)
 Position of bottom right corner of the view. More...
 
void setUpDirection (Eigen::Vector3f up)
 Set up direction of the view. More...
 
void setPosition (Eigen::Vector3f p)
 Set the position of a virtual frustum. More...
 
void setClipAngles (gmCore::angle4 a)
 Set the clip angles of a virtual frustum, as left, right, bottom, top. More...
 
void setOrientation (Eigen::Quaternionf q)
 Set the orientation of a virtual frustum. More...
 
void setDistance (float d)
 Set the orientation of a virtual frustum. More...
 
- Public Member Functions inherited from gramods::gmGraphics::MultiscopicView
void renderFullPipeline (ViewSettings settings) override final
 Dispatches specified renders, both method argument and class members. More...
 
void traverse (Visitor *visitor) override
 Propagates the specified visitor. More...
 
void setMultiscopicMultiplexer (std::shared_ptr< MultiscopicMultiplexer > sm)
 Sets the multiscopic multiplexing to use for rendering. More...
 
- Public Member Functions inherited from gramods::gmGraphics::ViewBase
void addNode (std::shared_ptr< Node > node)
 Adds a scenegraph to the view. More...
 
void setViewpoint (std::shared_ptr< Viewpoint > viewpoint)
 Sets the viewpoint to use in the views rendered by this ViewBase. More...
 
void addViewpoint (std::shared_ptr< Viewpoint > viewpoint)
 Adds a viewpoint to use in the views rendered by this ViewBase. More...
 
void traverse (Visitor *visitor) override
 Propagates the specified visitor. More...
 
- Public Member Functions inherited from gramods::gmCore::Object
 Object ()
 Initializes internal data. More...
 
virtual ~Object ()
 Cleaning up internal data. More...
 
virtual void initialize ()
 Called to initialize the Object. More...
 
virtual void accept (Visitor *visitor)
 Calls the visitors apply method with this as argument. More...
 
bool isInitialized ()
 Returns true if the Object is initialized. More...
 

Static Public Attributes

static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 
- Static Public Attributes inherited from gramods::gmGraphics::MultiscopicView
static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 
- Static Public Attributes inherited from gramods::gmGraphics::View
static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 
- Static Public Attributes inherited from gramods::gmGraphics::ViewBase
static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 

Additional Inherited Members

- Protected Member Functions inherited from gramods::gmGraphics::ViewBase
void populateViewSettings (ViewSettings &settings)
 Adds the dispatcher's local renderers and viewpoint, if set. More...
 
- Protected Attributes inherited from gramods::gmGraphics::MultiscopicView
std::shared_ptr< MultiscopicMultiplexermultiscopic_multiplexer
 
- Protected Attributes inherited from gramods::gmGraphics::ViewBase
Node::list nodes
 
std::vector< std::shared_ptr< Viewpoint > > viewpoints
 

Detailed Description

This view provides skewed frustum projection of the renderers, on a planar projection surface.

The projection plane can be specified in two ways. The primary way is to explicitly set the top-left and bottom-right corners and up direction. Alternatively the same corner can be calculated from a virtual* frustum, set with position, orientation, clip angles and a distance to the projection plane. Observe, however, that the actual frustum for the rendering is controlled by the Viewpoint, not these parameters.

Member Function Documentation

◆ setBottomRightCorner()

void gramods::gmGraphics::SpatialPlanarView::setBottomRightCorner ( Eigen::Vector3f  brc)

Position of bottom right corner of the view.

XML-attribute: bottomRightCorner

See also
gramods::operator>>(std::istream &, Eigen::Vector3f &)

◆ setClipAngles()

void gramods::gmGraphics::SpatialPlanarView::setClipAngles ( gmCore::angle4  a)

Set the clip angles of a virtual frustum, as left, right, bottom, top.

This will help specifying the projection plane, together with position and orientation, but will not control the final view angle. Left and bottom angles increase left-wise and downwards, respectively, while right and top angles increase right-wise and upwards, respectively.

XML-attribute: clipAngles

See also
operator>>(std::istream &, gmCore::angle &)

◆ setDistance()

void gramods::gmGraphics::SpatialPlanarView::setDistance ( float  d)

Set the orientation of a virtual frustum.

This will help specifying the projection plane, but will not control the viewpoint.

XML-attribute: distance

◆ setOrientation()

void gramods::gmGraphics::SpatialPlanarView::setOrientation ( Eigen::Quaternionf  q)

Set the orientation of a virtual frustum.

Default is zero rotation. This will help specifying the projection plane, but will not control the viewpoint.

XML-attribute: orientation

See also
gramods::operator>>(std::istream &, Eigen::Quaternionf &)

◆ setPosition()

void gramods::gmGraphics::SpatialPlanarView::setPosition ( Eigen::Vector3f  p)

Set the position of a virtual frustum.

Default is the origin. This will help specifying the projection plane, but will not control the viewpoint.

XML-attribute: position

See also
gramods::operator>>(std::istream &, Eigen::Vector3f &)

◆ setTopLeftCorner()

void gramods::gmGraphics::SpatialPlanarView::setTopLeftCorner ( Eigen::Vector3f  tlc)

Position of the top left corner of the view.

XML-attribute: topLeftCorner

See also
gramods::operator>>(std::istream &, Eigen::Vector3f &)

◆ setUpDirection()

void gramods::gmGraphics::SpatialPlanarView::setUpDirection ( Eigen::Vector3f  up)

Set up direction of the view.

XML-attribute: upDirection

See also
gramods::operator>>(std::istream &, Eigen::Vector3f &)

The documentation for this class was generated from the following files: