Equalizer  1.6.1
Public Types | Public Member Functions | Public Attributes | List of all members
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

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

Constructor & Destructor Documentation

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

Construct a new wall description.

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

Construct a new wall description with default values.

Member Function Documentation

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 145 of file wall.h.

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

Definition at line 154 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 157 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 160 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 142 of file wall.h.

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
bool eq::fabric::Wall::operator!= ( const Wall rhs) const
Returns
true if the two walls are not identical.
Version
1.0
Wall& eq::fabric::Wall::operator= ( const Projection projection)

Set the wall parameters from a projection description.

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

Set the wall parameters from an inverse projection matrix.

Version
1.5.2
bool eq::fabric::Wall::operator== ( const Wall rhs) const
Returns
true if the two walls are identical.
Version
1.0
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
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
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
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
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
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
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
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: