class SG_EXPORT osg::Billboard

Billboard - a Geode which orientates its child osg::Drawable's to face the eye point.

Inheritance:


Public Methods

[more] Billboard()
[more] Billboard(const Billboard&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy
[more] META_Node(Billboard)
[more]void setMode(const Mode mode)
Set the billboard rotation mode.
[more]inline const Mode getMode() const
Get the billboard rotation mode.
[more]void setAxis(const Vec3& axis)
Set the axis about which all the billboard's drawable rotate.
[more]inline const Vec3& getAxis() const
Get the axis about which all the billboard's drawable rotate.
[more]inline void setPos(int i, const Vec3& pos)
Set the position of specified drawable.
[more]inline const Vec3& getPos(int i) const
Get the position of specified drawable.
[more]inline PositionList& getPositionList()
Get the PositionList from the billboard
[more]inline const PositionList& getPositionList() const
Get a const PositionList from the billboard
[more]virtual const bool addDrawable( Drawable* gset )
Add Drawable to Billboard with default position(0,0,0); If gset not NULL and is not contained in Billboard then increment its reference count, and dirty the bounding box to cause it to recompute on next getBound() and return true for success.
[more]virtual const bool addDrawable(Drawable* gset, const Vec3& pos)
Add Drawable to Geode at position pos.
[more]virtual const bool removeDrawable( Drawable* gset )
Remove Drawable and associated position from Billboard.
[more]void setComputeBillboardCallback(ComputeBillboardCallback* ctc)
Set the ComputeBillboardCallback which allows users to attach custom computation of the local transformation as seen by cull traversers and alike
[more]ComputeBillboardCallback* getComputeBillboardCallback()
Get the non const ComputeBillboardCallback
[more]const ComputeBillboardCallback* getComputeBillboardCallback() const
Get the const ComputeBillboardCallback
[more]inline const bool getMatrix(Matrix& matrix, const Vec3& eye_local, const Vec3& up_local, const Vec3& pos_local) const

Public Members

[more]enum Mode
[more]typedef std::vector<Vec3> PositionList
PositionList represents a list of pivot points for each drawable
[more]struct ComputeBillboardCallback: public osg::Referenced
Callback attached to an Billboard which allows the users to customize the billboard orientation calculation during cull traversal

Protected Fields

[more]Mode _mode
[more]Vec3 _axis
[more]PositionList _positionList
[more]ref_ptr<ComputeBillboardCallback> _computeBillboardCallback
[more]int _cachedMode

Protected Methods

[more]virtual ~Billboard()
[more]virtual const bool computeBound() const
[more]virtual const bool computeMatrix(Matrix& matrix, const Vec3& eye_local, const Vec3& up_local, const Vec3& pos_local) const
[more]void setCachedMode()

Protected Members

[more]enum AxisAligned


Inherited from Geode:

Public Methods

ovirtual const bool replaceDrawable( Drawable* origDraw, Drawable* newDraw )
oinline const int getNumDrawables() const
oinline Drawable* getDrawable( const int i )
oinline const Drawable* getDrawable( const int i ) const
oinline const bool containsDrawable(const Drawable* gset) const
oinline DrawableList::iterator findDrawable(const Drawable* gset)
oinline DrawableList::const_iterator findDrawable(const Drawable* gset) const
ovoid compileDrawables(State& state)

Protected Fields

oDrawableList _drawables


Inherited from Node:

Public Methods

ovirtual Object* cloneType() const
ovirtual Object* clone(const CopyOp& copyop) const
ovirtual bool isSameKindAs(const Object* obj) const
ovirtual const char* className() const
ovirtual void accept(NodeVisitor& nv)
ovirtual void ascend(NodeVisitor& nv)
ovirtual void traverse(NodeVisitor& )
oinline void setName( const std::string& name )
oinline void setName( const char* name )
oinline const std::string& getName() const
oinline const ParentList& getParents() const
oinline ParentList getParents()
oinline Group* getParent(const int i)
oinline const Group* getParent(const int i) const
oinline const int getNumParents() const
ovoid setAppCallback(NodeCallback* nc)
oinline NodeCallback* getAppCallback()
oinline const NodeCallback* getAppCallback() const
oinline const int getNumChildrenRequiringAppTraversal() const
ovoid setCullingActive(const bool active)
oinline const bool getCullingActive() const
oinline const int getNumChildrenWithCullingDisabled() const
oinline void setUserData(osg::Referenced* obj)
oinline Referenced* getUserData()
oinline const Referenced* getUserData() const
oinline void setNodeMask(const NodeMask nm)
oinline const NodeMask getNodeMask() const
oinline const DescriptionList& getDescriptions() const
oinline DescriptionList& getDescriptions()
oinline const std::string& getDescription(const int i) const
oinline std::string& getDescription(const int i)
oinline const int getNumDescriptions() const
ovoid addDescription(const std::string& desc)
oinline void setStateSet(osg::StateSet* dstate)
oinline osg::StateSet* getStateSet()
oinline const osg::StateSet* getStateSet() const
oinline const BoundingSphere& getBound() const
ovoid dirtyBound()

Public Members

otypedef std::vector<Group*> ParentList
otypedef std::vector<std::string> DescriptionList

Protected Fields

omutable BoundingSphere _bsphere
omutable bool _bsphere_computed
ostd::string _name
oParentList _parents
oref_ptr<NodeCallback> _appCallback
oint _numChildrenRequiringAppTraversal
obool _cullingActive
oint _numChildrenWithCullingDisabled
oosg::ref_ptr<Referenced> _userData
oNodeMask _nodeMask
oDescriptionList _descriptions
oref_ptr<StateSet> _dstate

Protected Methods

ovoid addParent(osg::Group* node)
ovoid removeParent(osg::Group* node)
ovoid setNumChildrenRequiringAppTraversal(const int num)
ovoid setNumChildrenWithCullingDisabled(const int num)


Inherited from Object:


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (Referenced&)
oinline void ref() const
oinline void unref() const
oinline const int referenceCount() const

Protected Fields

omutable int _refCount


Documentation

Billboard - a Geode which orientates its child osg::Drawable's to face the eye point. Typical uses are for trees, or particle explosions.
oenum Mode

o POINT_ROT_EYE

o POINT_ROT_WORLD

o AXIAL_ROT

o Billboard()

o Billboard(const Billboard&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy

o META_Node(Billboard)

ovoid setMode(const Mode mode)
Set the billboard rotation mode.

oinline const Mode getMode() const
Get the billboard rotation mode.

ovoid setAxis(const Vec3& axis)
Set the axis about which all the billboard's drawable rotate.

oinline const Vec3& getAxis() const
Get the axis about which all the billboard's drawable rotate.

oinline void setPos(int i, const Vec3& pos)
Set the position of specified drawable.

oinline const Vec3& getPos(int i) const
Get the position of specified drawable.

otypedef std::vector<Vec3> PositionList
PositionList represents a list of pivot points for each drawable

oinline PositionList& getPositionList()
Get the PositionList from the billboard

oinline const PositionList& getPositionList() const
Get a const PositionList from the billboard

ovirtual const bool addDrawable( Drawable* gset )
Add Drawable to Billboard with default position(0,0,0); If gset not NULL and is not contained in Billboard then increment its reference count, and dirty the bounding box to cause it to recompute on next getBound() and return true for success. Otherwise return false.

ovirtual const bool addDrawable(Drawable* gset, const Vec3& pos)
Add Drawable to Geode at position pos. If gset not NULL and is not contained in Billboard then increment its reference count, and dirty the bounding box to cause it to recompute on next getBound() and return true for success. Otherwise return false.

ovirtual const bool removeDrawable( Drawable* gset )
Remove Drawable and associated position from Billboard. If gset is contained in Billboard then remove it from the geoset list and decrement its reference count, and dirty the bounding box to cause it to recompute on next getBound() and return true for success. If gset is not found then return false and do not the reference count of gset is left unchanged.

ostruct ComputeBillboardCallback: public osg::Referenced
Callback attached to an Billboard which allows the users to customize the billboard orientation calculation during cull traversal

ovirtual const bool computeMatrix(const Matrix& matrix, const Billboard* billboard, const Vec3& eye_local, const Vec3& up_local, const Vec3& pos_local) const
Get the transformation matrix which moves from local coords to world coords

ovoid setComputeBillboardCallback(ComputeBillboardCallback* ctc)
Set the ComputeBillboardCallback which allows users to attach custom computation of the local transformation as seen by cull traversers and alike

oComputeBillboardCallback* getComputeBillboardCallback()
Get the non const ComputeBillboardCallback

oconst ComputeBillboardCallback* getComputeBillboardCallback() const
Get the const ComputeBillboardCallback

oinline const bool getMatrix(Matrix& matrix, const Vec3& eye_local, const Vec3& up_local, const Vec3& pos_local) const

ovirtual ~Billboard()

ovirtual const bool computeBound() const

ovirtual const bool computeMatrix(Matrix& matrix, const Vec3& eye_local, const Vec3& up_local, const Vec3& pos_local) const

oenum AxisAligned

o AXIAL_ROT_X_AXIS

o AXIAL_ROT_Y_AXIS

o AXIAL_ROT_Z_AXIS

oMode _mode

oVec3 _axis

oPositionList _positionList

oref_ptr<ComputeBillboardCallback> _computeBillboardCallback

oint _cachedMode

ovoid setCachedMode()


This class has no child classes.
Friends:
struct osg::Billboard::ComputeBillboardCallback

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.