Equalizer  1.10.1
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
eq::fabric::Wall Class Reference

A wall defining a view frustum. More...

#include <wall.h>

+ Collaboration diagram for eq::fabric::Wall:

Public Types

enum  Type { TYPE_FIXED, TYPE_HMD }
 The reference system type of the wall. More...
 

Public Member Functions

EQFABRIC_API Wall ()
 Construct a new wall description. More...
 
EQFABRIC_API Wall (const Vector3f &bottomLeft, const Vector3f &bottomRight, const Vector3f &topLeft)
 Construct a new wall description with default values. More...
 
EQFABRIC_API void resizeHorizontal (const float ratio)
 Resize the wall horizontally. More...
 
EQFABRIC_API void resizeVertical (const float ratio)
 Resize the wall vertically. More...
 
EQFABRIC_API void resizeLeft (const float ratio)
 Resize the wall on the left side. More...
 
EQFABRIC_API void resizeRight (const float ratio)
 Resize the wall on the right side. More...
 
EQFABRIC_API void resizeTop (const float ratio)
 Resize the wall on the top side. More...
 
EQFABRIC_API void resizeBottom (const float ratio)
 Resize the wall on the bottom side. More...
 
EQFABRIC_API void resizeHorizontalToAR (const float aspectRatio)
 Resize the wall horizontally to match the given aspect ratio. More...
 
EQFABRIC_API void moveFocus (const Vector3f &eye, const float ratio)
 Resize the wall by the given ratio as observed from the eye position. More...
 
EQFABRIC_API void apply (const Viewport &viewport)
 Compute the sub-frustum for a 2D area on the full wall. More...
 
EQFABRIC_API void scale (const float ratio)
 Move each wall corner by the given ratio. More...
 
EQFABRIC_API Walloperator= (const Projection &projection)
 Set the wall parameters from a projection description. More...
 
EQFABRIC_API Walloperator= (const Matrix4f &xfm)
 Set the wall parameters from an inverse projection matrix. More...
 
float getWidth () const
 
float getHeight () const
 
EQFABRIC_API bool operator== (const Wall &rhs) const
 
EQFABRIC_API bool operator!= (const Wall &rhs) const
 
Vector3f getU () const
 
Vector3f getV () const
 
Vector3f getW () const
 

Public Attributes

Vector3f bottomLeft
 The bottom-left corner.
 
Vector3f bottomRight
 The bottom-right corner.
 
Vector3f topLeft
 The top-left corner.
 
Type type
 The wall type.
 

Detailed Description

A wall defining a view frustum.

The three points describe the bottom left, bottom right and top left coordinate of the wall in real-world coordinates (meters).

Definition at line 36 of file wall.h.

Member Enumeration Documentation

The reference system type of the wall.

Enumerator
TYPE_FIXED 

A fixed mounted projection wall.

TYPE_HMD 

A wall fixed to the observer (head-mounted display)

Definition at line 165 of file wall.h.

Constructor & Destructor Documentation

EQFABRIC_API eq::fabric::Wall::Wall ( )

Construct a new wall description.

EQFABRIC_API eq::fabric::Wall::Wall ( const Vector3f &  bottomLeft,
const Vector3f &  bottomRight,
const Vector3f &  topLeft 
)

Construct a new wall description with default values.

Member Function Documentation

EQFABRIC_API void eq::fabric::Wall::apply ( const Viewport viewport)

Compute the sub-frustum for a 2D area on the full wall.

Version
1.0
float eq::fabric::Wall::getHeight ( ) const
inline
Returns
the height of the wall.
Version
1.0

Definition at line 143 of file wall.h.

Vector3f eq::fabric::Wall::getU ( ) const
inline
Returns
the horizontal vector.
Version
1.1

Definition at line 152 of file wall.h.

References bottomLeft.

Referenced by getW().

+ Here is the caller graph for this function:

Vector3f eq::fabric::Wall::getV ( ) const
inline
Returns
the vertical vector.
Version
1.1

Definition at line 155 of file wall.h.

References bottomLeft.

Referenced by getW().

+ Here is the caller graph for this function:

Vector3f eq::fabric::Wall::getW ( ) const
inline
Returns
the perpendicular vector.
Version
1.1

Definition at line 158 of file wall.h.

References getU(), and getV().

+ Here is the call graph for this function:

float eq::fabric::Wall::getWidth ( ) const
inline
Returns
the width of the wall.
Version
1.0

Definition at line 140 of file wall.h.

EQFABRIC_API void eq::fabric::Wall::moveFocus ( const Vector3f &  eye,
const float  ratio 
)

Resize the wall by the given ratio as observed from the eye position.

Each wall corner is moved by ratio along the vector eye -> wall corner.

Parameters
eyethe observer position
ratiothe relative ratio to the current position
Version
1.1
EQFABRIC_API bool eq::fabric::Wall::operator!= ( const Wall rhs) const
Returns
true if the two walls are not identical.
Version
1.0
EQFABRIC_API Wall& eq::fabric::Wall::operator= ( const Projection projection)

Set the wall parameters from a projection description.

Version
1.0
EQFABRIC_API Wall& eq::fabric::Wall::operator= ( const Matrix4f &  xfm)

Set the wall parameters from an inverse projection matrix.

Version
1.5.2
EQFABRIC_API bool eq::fabric::Wall::operator== ( const Wall rhs) const
Returns
true if the two walls are identical.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::resizeBottom ( const float  ratio)

Resize the wall on the bottom side.

Parameters
ratiothe amount by which the wall is grown or shrunk.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::resizeHorizontal ( const float  ratio)

Resize the wall horizontally.

Parameters
ratiothe amount by which the wall is grown or shrunk.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::resizeHorizontalToAR ( const float  aspectRatio)

Resize the wall horizontally to match the given aspect ratio.

Parameters
aspectRatiothe destination aspect ratio.
Version
1.1.2
EQFABRIC_API void eq::fabric::Wall::resizeLeft ( const float  ratio)

Resize the wall on the left side.

Parameters
ratiothe amount by which the wall is grown or shrunk.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::resizeRight ( const float  ratio)

Resize the wall on the right side.

Parameters
ratiothe amount by which the wall is grown or shrunk.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::resizeTop ( const float  ratio)

Resize the wall on the top side.

Parameters
ratiothe amount by which the wall is grown or shrunk.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::resizeVertical ( const float  ratio)

Resize the wall vertically.

Parameters
ratiothe amount by which the wall is grown or shrunk.
Version
1.0
EQFABRIC_API void eq::fabric::Wall::scale ( const float  ratio)

Move each wall corner by the given ratio.

Version
1.3.1

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