
Public Types | |
| enum | Mode { POINT_ROT_EYE, POINT_ROT_WORLD, AXIAL_ROT } |
| typedef std::vector < Vec3 > | PositionList |
| Type definition for pivot point position list. | |
Public Member Functions | |
| Billboard () | |
| Billboard (const Billboard &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| Copy constructor using CopyOp to manage deep vs shallow copy. | |
| META_Node (osg, Billboard) | |
| void | setMode (Mode mode) |
| Set the billboard rotation mode. | |
| Mode | getMode () const |
| Get the billboard rotation mode. | |
| void | setAxis (const Vec3 &axis) |
| Set the rotation axis for the billboard's child Drawables. | |
| const Vec3 & | getAxis () const |
| Get the rotation axis. | |
| void | setNormal (const Vec3 &normal) |
| This normal defines child Drawables' front face direction when unrotated. | |
| const Vec3 & | getNormal () const |
| Get the front face direction normal. | |
| void | setPosition (unsigned int i, const Vec3 &pos) |
| Set the specified child Drawable's position. | |
| const Vec3 & | getPosition (unsigned int i) const |
| Get the specified child Drawable's position. | |
| void | setPositionList (PositionList &pl) |
| Set the list of pivot point positions. | |
| PositionList & | getPositionList () |
| Get the list of pivot point positions. | |
| const PositionList & | getPositionList () const |
| Get a const list of pivot point positions. | |
| virtual bool | addDrawable (Drawable *gset) |
| Add a Drawable with a default position of Vec3(0,0,0). | |
| virtual bool | addDrawable (Drawable *gset, const Vec3 &pos) |
| Add a Drawable with a specified position. | |
| virtual bool | removeDrawable (Drawable *gset) |
| Remove a Drawable and its associated position. | |
| bool | computeMatrix (Matrix &modelview, const Vec3 &eye_local, const Vec3 &pos_local) const |
| virtual BoundingSphere | computeBound () const |
| Compute the bounding sphere around Node's geometry or children. | |
Protected Types | |
| enum | AxisAligned { AXIAL_ROT_X_AXIS = AXIAL_ROT+1, AXIAL_ROT_Y_AXIS, AXIAL_ROT_Z_AXIS, POINT_ROT_WORLD_Z_AXIS, CACHE_DIRTY } |
Protected Member Functions | |
| virtual | ~Billboard () |
| void | updateCache () |
Protected Attributes | |
| Mode | _mode |
| Vec3 | _axis |
| Vec3 | _normal |
| Matrix | _rotateNormalToZAxis |
| PositionList | _positionList |
| int | _cachedMode |
| Vec3 | _side |
Typical uses incllude trees and particle explosions,
| typedef std::vector<Vec3> osg::Billboard::PositionList |
Type definition for pivot point position list.
| enum osg::Billboard::Mode |
enum osg::Billboard::AxisAligned [protected] |
| osg::Billboard::Billboard | ( | ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
| virtual osg::Billboard::~Billboard | ( | ) | [protected, virtual] |
| osg::Billboard::META_Node | ( | osg | , | |
| Billboard | ||||
| ) |
| void osg::Billboard::setMode | ( | Mode | mode | ) |
Set the billboard rotation mode.
| Mode osg::Billboard::getMode | ( | ) | const [inline] |
Get the billboard rotation mode.
| void osg::Billboard::setAxis | ( | const Vec3 & | axis | ) |
Set the rotation axis for the billboard's child Drawables.
Only utlized when mode==AXIAL_ROT.
| const Vec3& osg::Billboard::getAxis | ( | ) | const [inline] |
Get the rotation axis.
| void osg::Billboard::setNormal | ( | const Vec3 & | normal | ) |
This normal defines child Drawables' front face direction when unrotated.
| const Vec3& osg::Billboard::getNormal | ( | ) | const [inline] |
Get the front face direction normal.
| void osg::Billboard::setPosition | ( | unsigned int | i, | |
| const Vec3 & | pos | |||
| ) | [inline] |
Set the specified child Drawable's position.
| const Vec3& osg::Billboard::getPosition | ( | unsigned int | i | ) | const [inline] |
Get the specified child Drawable's position.
| void osg::Billboard::setPositionList | ( | PositionList & | pl | ) | [inline] |
Set the list of pivot point positions.
| PositionList& osg::Billboard::getPositionList | ( | ) | [inline] |
Get the list of pivot point positions.
| const PositionList& osg::Billboard::getPositionList | ( | ) | const [inline] |
Get a const list of pivot point positions.
| virtual bool osg::Billboard::addDrawable | ( | Drawable * | gset | ) | [virtual] |
Add a Drawable with a default position of Vec3(0,0,0).
Call the base-class Geode::addDrawble() to add the given Drawable gset as a child. If Geode::addDrawable() returns true, add the default position to the pivot point position list and return true. Otherwise, return false.
Reimplemented from osg::Geode.
Add a Drawable with a specified position.
Call the base-class Geode::addDrawble() to add the given Drawable gset as a child. If Geode::addDrawable() returns true, add the given position pos to the pivot point position list and return true. Otherwise, return false.
| virtual bool osg::Billboard::removeDrawable | ( | Drawable * | gset | ) | [virtual] |
Remove a Drawable and its associated position.
If gset is a child, remove it, decrement its reference count, remove its pivot point position. and return true. Otherwise, return false.
Reimplemented from osg::Geode.
| bool osg::Billboard::computeMatrix | ( | Matrix & | modelview, | |
| const Vec3 & | eye_local, | |||
| const Vec3 & | pos_local | |||
| ) | const |
| virtual BoundingSphere osg::Billboard::computeBound | ( | ) | const [virtual] |
Compute the bounding sphere around Node's geometry or children.
This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound().
Reimplemented from osg::Geode.
| void osg::Billboard::updateCache | ( | ) | [protected] |
Mode osg::Billboard::_mode [protected] |
Vec3 osg::Billboard::_axis [protected] |
Vec3 osg::Billboard::_normal [protected] |
Matrix osg::Billboard::_rotateNormalToZAxis [protected] |
PositionList osg::Billboard::_positionList [protected] |
int osg::Billboard::_cachedMode [protected] |
Vec3 osg::Billboard::_side [protected] |