Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
BIAS::GLProjectionParametersInterface Class Referenceabstract

Abstract interface class to handle changes in rendering parameters by controllers and in rendering contextes. More...

#include <GLviewer/GLProjectionParametersInterface.hh>

+ Inheritance diagram for BIAS::GLProjectionParametersInterface:

Public Types

enum  ViewingReshapeBehaviour {
  Deny =0, AutoRescaleParams, AutoCutImage, AutoSimplePerspectiveCam,
  AdaptToCroppedImage, AutoRescaleSimple
}
 

Public Member Functions

virtual void AddDebugLevel (const long int lv)=0
 
virtual void AppendOutputAttachment (int val, std::vector< int > args=std::vector< int >())=0
 
virtual int Draw (std::vector< BIAS::SceneBase * > &scenes, BIAS::SceneBGImage *backgroundImageScene=NULL, BIAS::glfFramebufferObject *theTarget=NULL)=0
 
virtual
BIAS::GLProjectionOutputAttachment
GetAttachmentByType (int type)=0
 
virtual BIAS::Vector4< float > GetClearColor ()=0
 
virtual float GetClearDepth ()=0
 
virtual double GetDepth (const unsigned int x, const unsigned int y)=0
 
virtual double GetDepth (const BIAS::HomgPoint2D &p)=0
 
virtual int GetDepthMap (BIAS::Image< float > &depthMap, const float invalid=0.0)=0
 
virtual int GetExtrinsics (BIAS::Vector3< double > &C, BIAS::Vector3< double > &up) const =0
 
virtual int GetExtrinsics (BIAS::Vector3< double > &C, BIAS::RMatrix &R) const =0
 
virtual void GetGreyImage (BIAS::Image< unsigned char > &image)=0
 
virtual void GetImage (BIAS::Image< unsigned char > &image)=0
 
virtual int GetMetricZMap (BIAS::Image< float > &metricZMap, const float invalid=0.0)=0
 
virtual
BIAS::ProjectionParametersBase
GetMyselfAsProjectionParametersBase () const =0
 
virtual BIAS::glfRenderTargetGetRenderTarget ()=0
 
virtual bool GetViewportCoordinates (int &x, int &y)=0
 Takes x, y as window coordinates, checks whether the coordinates lie in the rendered image (in the viewrange of projection). More...
 
virtual int GetZBuffer (BIAS::Image< float > &zBuffer)=0
 
virtual int Load (const std::string &filename)=0
 
virtual bool PoseValid ()=0
 
virtual BIAS::HomgPoint2D Project (BIAS::HomgPoint3D &point)=0
 
virtual int Save (const std::string &filename) const =0
 
virtual void SetAutoReshapeBehaviour (ViewingReshapeBehaviour newBehaviour)=0
 
virtual void SetClearColor (const BIAS::Vector4< float > &cc)=0
 
virtual void SetClearDepth (const float d)=0
 
virtual void SetDebugLevel (const long int lv)=0
 
virtual int SetExtrinsics (const BIAS::HomgPoint3D &C, const BIAS::Quaternion< double > &Q)=0
 
virtual int SetExtrinsics (const BIAS::Vector3< double > &C, const BIAS::Quaternion< double > &Q)=0
 
virtual int SetExtrinsics (const BIAS::HomgPoint3D &C, const BIAS::RMatrix &R)=0
 
virtual int SetExtrinsics (const BIAS::Vector3< double > &C, const BIAS::RMatrix &R)=0
 
virtual int SetExtrinsics (const BIAS::Vector3< double > &C, const BIAS::Vector3< double > &scenePoint, const BIAS::Vector3< double > &up)=0
 
virtual void SetRenderTarget (BIAS::glfRenderTarget *RT)=0
 
virtual void SwitchToOffscreenRendering (bool offscreen=true)=0
 
virtual void TranslateDepthToZ (BIAS::Image< float > &depthtoz, const float invalid=0.0, const bool flip=true) const =0
 
virtual void TranslateZToDepth (BIAS::Image< float > &ztodepth, const float invalid=0.0, const bool flip=true) const =0
 
virtual void TranslateZToMetricZ (BIAS::Image< float > &depthMap, const float invalid=0.0, const bool flip=true) const =0
 
virtual BIAS::HomgPoint3D UnProject (const unsigned int x, const unsigned int y)=0
 
virtual BIAS::HomgPoint3D UnProject (BIAS::HomgPoint2D &point2D, double depth)=0
 
virtual int XMLRead (const std::string &Filename)=0
 
virtual int XMLWrite (const std::string &Filename) const =0
 
virtual ~GLProjectionParametersInterface ()
 
virtual void SetZClippingPlanes (float n, float f)=0
 Setting the near and far z-Clipping planes. More...
 
virtual void SetNearClippingPlane (float n)=0
 
virtual void SetFarClippingPlane (float f)=0
 
virtual float GetNearClippingPlane () const =0
 
virtual float GetFarClippingPlane () const =0
 

Protected Attributes

bool offscreenRenderingEnabled_
 

Detailed Description

Abstract interface class to handle changes in rendering parameters by controllers and in rendering contextes.

Author
ischiller 04/2009

Definition at line 41 of file GLProjectionParametersInterface.hh.

Member Enumeration Documentation

Enumerator
Deny 

Do not do anything! Do not render either!

AutoRescaleParams 

rescale internal projection parameters preserving aspect ratio and scale by integer values only.

This can lead to two black borders: right and bottom

AutoCutImage 

Render part of the image or the whole image, does not change projection parameters.

drawingUpperLeft_ are the projection image coordinates which will appear in the rendered image in the upper left corner.

AutoSimplePerspectiveCam 

Calculate new simple perspective camera parameters keeping the current field of view in "y direction".

AdaptToCroppedImage 
AutoRescaleSimple 

rescale internal projection parameters preeerving aspectration but use non-integer values.

This should result in only one black border.

Definition at line 44 of file GLProjectionParametersInterface.hh.

Constructor & Destructor Documentation

virtual BIAS::GLProjectionParametersInterface::~GLProjectionParametersInterface ( )
inlinevirtual

Definition at line 67 of file GLProjectionParametersInterface.hh.

Member Function Documentation

virtual void BIAS::GLProjectionParametersInterface::AddDebugLevel ( const long int  lv)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::AppendOutputAttachment ( int  val,
std::vector< int >  args = std::vector< int >() 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::Draw ( std::vector< BIAS::SceneBase * > &  scenes,
BIAS::SceneBGImage backgroundImageScene = NULL,
BIAS::glfFramebufferObject theTarget = NULL 
)
pure virtual
virtual BIAS::GLProjectionOutputAttachment* BIAS::GLProjectionParametersInterface::GetAttachmentByType ( int  type)
pure virtual
virtual BIAS::Vector4<float> BIAS::GLProjectionParametersInterface::GetClearColor ( )
pure virtual
virtual float BIAS::GLProjectionParametersInterface::GetClearDepth ( )
pure virtual
virtual double BIAS::GLProjectionParametersInterface::GetDepth ( const unsigned int  x,
const unsigned int  y 
)
pure virtual
virtual double BIAS::GLProjectionParametersInterface::GetDepth ( const BIAS::HomgPoint2D p)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::GetDepthMap ( BIAS::Image< float > &  depthMap,
const float  invalid = 0.0 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::GetExtrinsics ( BIAS::Vector3< double > &  C,
BIAS::Vector3< double > &  up 
) const
pure virtual
virtual int BIAS::GLProjectionParametersInterface::GetExtrinsics ( BIAS::Vector3< double > &  C,
BIAS::RMatrix R 
) const
pure virtual
virtual float BIAS::GLProjectionParametersInterface::GetFarClippingPlane ( ) const
pure virtual
virtual void BIAS::GLProjectionParametersInterface::GetGreyImage ( BIAS::Image< unsigned char > &  image)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::GetImage ( BIAS::Image< unsigned char > &  image)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::GetMetricZMap ( BIAS::Image< float > &  metricZMap,
const float  invalid = 0.0 
)
pure virtual
virtual BIAS::ProjectionParametersBase* BIAS::GLProjectionParametersInterface::GetMyselfAsProjectionParametersBase ( ) const
pure virtual
virtual float BIAS::GLProjectionParametersInterface::GetNearClippingPlane ( ) const
pure virtual
virtual BIAS::glfRenderTarget* BIAS::GLProjectionParametersInterface::GetRenderTarget ( )
pure virtual
virtual bool BIAS::GLProjectionParametersInterface::GetViewportCoordinates ( int &  x,
int &  y 
)
pure virtual

Takes x, y as window coordinates, checks whether the coordinates lie in the rendered image (in the viewrange of projection).

If so

Returns
the coordinates relative to the upper left image corner of the used viewport and true. else coordintes are unchanged and return value is false.

Implemented in BIAS::GLProjectionParametersBase.

Referenced by BIAS::RenderContextBase::LeftMouseDoubleClicked().

virtual int BIAS::GLProjectionParametersInterface::GetZBuffer ( BIAS::Image< float > &  zBuffer)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::Load ( const std::string &  filename)
pure virtual
virtual bool BIAS::GLProjectionParametersInterface::PoseValid ( )
pure virtual
virtual BIAS::HomgPoint2D BIAS::GLProjectionParametersInterface::Project ( BIAS::HomgPoint3D point)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::Save ( const std::string &  filename) const
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetAutoReshapeBehaviour ( ViewingReshapeBehaviour  newBehaviour)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetClearColor ( const BIAS::Vector4< float > &  cc)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetClearDepth ( const float  d)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetDebugLevel ( const long int  lv)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::SetExtrinsics ( const BIAS::HomgPoint3D C,
const BIAS::Quaternion< double > &  Q 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::SetExtrinsics ( const BIAS::Vector3< double > &  C,
const BIAS::Quaternion< double > &  Q 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::SetExtrinsics ( const BIAS::HomgPoint3D C,
const BIAS::RMatrix R 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::SetExtrinsics ( const BIAS::Vector3< double > &  C,
const BIAS::RMatrix R 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::SetExtrinsics ( const BIAS::Vector3< double > &  C,
const BIAS::Vector3< double > &  scenePoint,
const BIAS::Vector3< double > &  up 
)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetFarClippingPlane ( float  f)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetNearClippingPlane ( float  n)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetRenderTarget ( BIAS::glfRenderTarget RT)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::SetZClippingPlanes ( float  n,
float  f 
)
pure virtual

Setting the near and far z-Clipping planes.

Implemented in BIAS::GLProjectionParametersBase.

virtual void BIAS::GLProjectionParametersInterface::SwitchToOffscreenRendering ( bool  offscreen = true)
pure virtual
virtual void BIAS::GLProjectionParametersInterface::TranslateDepthToZ ( BIAS::Image< float > &  depthtoz,
const float  invalid = 0.0,
const bool  flip = true 
) const
pure virtual
virtual void BIAS::GLProjectionParametersInterface::TranslateZToDepth ( BIAS::Image< float > &  ztodepth,
const float  invalid = 0.0,
const bool  flip = true 
) const
pure virtual
virtual void BIAS::GLProjectionParametersInterface::TranslateZToMetricZ ( BIAS::Image< float > &  depthMap,
const float  invalid = 0.0,
const bool  flip = true 
) const
pure virtual
virtual BIAS::HomgPoint3D BIAS::GLProjectionParametersInterface::UnProject ( const unsigned int  x,
const unsigned int  y 
)
pure virtual
virtual BIAS::HomgPoint3D BIAS::GLProjectionParametersInterface::UnProject ( BIAS::HomgPoint2D point2D,
double  depth 
)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::XMLRead ( const std::string &  Filename)
pure virtual
virtual int BIAS::GLProjectionParametersInterface::XMLWrite ( const std::string &  Filename) const
pure virtual

Member Data Documentation

bool BIAS::GLProjectionParametersInterface::offscreenRenderingEnabled_
protected

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