# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Member Functions | Protected Attributes

# vl::Billboard Class Reference

A Transform that aligns an Actor towards the camera. More...

`#include <Billboard.hpp>`

Inheritance diagram for vl::Billboard:

List of all members.

## Public Member Functions

| Billboard ()
virtual const char * | className ()
| Returns the name of the class.
void | setPosition (const vec3 &pos)
| The billboard position and rotation center.
void | setPosition (Real x, Real y, Real z)
| The billboard position and rotation center.
vec3 | position ()
| The billboard position and rotation center.
void | setAxis (const vec3 &axis)
| The rotation axis in world coordinates. Used only for axis aligned billboards.
const vec3 & | axis () const
| The rotation axis in world coordinates. Used only for axis aligned billboards.
void | setNormal (const vec3 &normal)
| Used only for axis aligned billboards.
const vec3 & | normal () const
| Used only for axis aligned billboards.
virtual void | computeWorldMatrix (Camera *camera=NULL)
| Computes the world matrix by concatenating the parent's world matrix with its own local matrix.
EBillboardType | type () const
| The type of the billboard.
void | setType (EBillboardType type)
| The type of the billboard.

## Protected Attributes

vec3 | mAxis
vec3 | mNormal
EBillboardType | mType

## Detailed Description

A Transform that aligns an Actor towards the camera.

Definition at line 46 of file Billboard.hpp.

## Constructor & Destructor Documentation

Billboard::Billboard | ( | ) |

Definition at line 38 of file Billboard.cpp.

References vl::BT_SphericalBillboard, mType, setAxis(), setNormal(), and VL_DEBUG_SET_OBJECT_NAME.

## Member Function Documentation

virtual const char* vl::Billboard::className | ( | ) | `[inline, virtual]`

Returns the name of the class.

Reimplemented from vl::Transform.

Definition at line 50 of file Billboard.hpp.

void Billboard::setPosition | ( | const vec3 & | pos ) |

The billboard position and rotation center.

Definition at line 51 of file Billboard.cpp.

References vl::Matrix4< GLfloat >::getTranslation(), and vl::ITransform::setLocalMatrix().

void vl::Billboard::setPosition | ( | Real | x,
|  | Real | y,
|  | Real | z
| ) |  | `[inline]`

The billboard position and rotation center.

Definition at line 54 of file Billboard.hpp.

References setPosition().

Referenced by setPosition().

vec3 Billboard::position | ( | ) |

The billboard position and rotation center.

Definition at line 46 of file Billboard.cpp.

References vl::Matrix4< T_Scalar >::getT(), and vl::ITransform::localMatrix().

Referenced by computeWorldMatrix().

void vl::Billboard::setAxis | ( | const vec3 & | axis ) | `[inline]`

The rotation axis in world coordinates. Used only for axis aligned billboards.

Definition at line 58 of file Billboard.hpp.

References vl::Vector3< T_Scalar >::normalize().

Referenced by Billboard().

const vec3& vl::Billboard::axis | ( | ) | const`[inline]`

The rotation axis in world coordinates. Used only for axis aligned billboards.

Definition at line 60 of file Billboard.hpp.

Referenced by computeWorldMatrix().

void vl::Billboard::setNormal | ( | const vec3 & | normal ) | `[inline]`

Used only for axis aligned billboards.

Definition at line 62 of file Billboard.hpp.

References vl::Vector3< T_Scalar >::normalize().

Referenced by Billboard().

const vec3& vl::Billboard::normal | ( | ) | const`[inline]`

Used only for axis aligned billboards.

Definition at line 64 of file Billboard.hpp.

Referenced by computeWorldMatrix().

void Billboard::computeWorldMatrix | ( | Camera * | = `NULL` ) | `[virtual]`

Computes the world matrix by concatenating the parent's world matrix with its own local matrix.

Reimplemented from vl::ITransform.

Definition at line 56 of file Billboard.cpp.

References vl::ITransform::assumeIdentityWorldMatrix(), axis(), vl::BT_AxisAlignedBillboard, vl::BT_SphericalBillboard, vl::cross(), vl::dot(), vl::Matrix4< GLfloat >::getRotation(), vl::Matrix4< T_Scalar >::getT(), vl::Matrix4< GLfloat >::getTranslation(), vl::Matrix4< T_Scalar >::getY(), vl::Matrix4< T_Scalar >::getZ(), vl::Camera::inverseViewMatrix(), mNormal, normal(), vl::Vector3< T_Scalar >::normalize(), vl::normalize(), vl::TransformHierarchy< Transform >::parent(), position(), vl::ITransform::setWorldMatrix(), vl::Matrix4< T_Scalar >::setX(), vl::Matrix4< T_Scalar >::setY(), vl::Matrix4< T_Scalar >::setZ(), type(), and vl::ITransform::worldMatrix().

EBillboardType vl::Billboard::type | ( | ) | const`[inline]`

The type of the billboard.

Definition at line 67 of file Billboard.hpp.

Referenced by computeWorldMatrix().

void vl::Billboard::setType | ( | EBillboardType | type ) | `[inline]`

The type of the billboard.

Definition at line 69 of file Billboard.hpp.

## Member Data Documentation

vec3 vl::Billboard::mAxis`[protected]`

Definition at line 72 of file Billboard.hpp.

vec3 vl::Billboard::mNormal`[protected]`

Definition at line 73 of file Billboard.hpp.

Referenced by computeWorldMatrix().

EBillboardType vl::Billboard::mType`[protected]`

Definition at line 74 of file Billboard.hpp.

Referenced by Billboard().

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

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/Billboard.hpp
- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/Billboard.cpp

Visualization Library v2011.05.1142 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu May 26 2011 22:51:37.
Permission is granted to use this page to write and publish articles regarding Visualization Library.