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(osg, Billboard)
[more]void setMode(Mode mode)
Set the billboard rotation mode.
[more]inline 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]void setNormal(const Vec3& normal)
Set the normal which defines the billboard's drawable front face, when unrotated.
[more]inline const Vec3& getNormal() const
Get the normal of billboard's drawable front face.
[more]inline void setPos(unsigned int i, const Vec3& pos)
Set the position of specified drawable.
[more]inline const Vec3& getPos(unsigned 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 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 bool addDrawable(Drawable* gset, const Vec3& pos)
Add Drawable to Geode at position pos.
[more]virtual bool removeDrawable( Drawable* gset )
Remove Drawable and associated position from Billboard.
[more]inline bool getMatrix(Matrix& modelview, const Vec3& eye_local, const Vec3& pos_local) const
[more]virtual bool computeMatrix(Matrix& modelview, const Vec3& eye_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

Protected Fields

[more]Mode _mode
[more]Vec3 _axis
[more]Vec3 _normal
[more]PositionList _positionList
[more]int _cachedMode
[more]Vec3 _side

Protected Methods

[more]virtual ~Billboard()
[more]virtual bool computeBound() const
[more]void updateCache()

Protected Members

[more]enum AxisAligned


Inherited from Geode:

Public Methods

ovirtual bool replaceDrawable( Drawable* origDraw, Drawable* newDraw )
ovirtual bool setDrawable( unsigned int i, Drawable* drawable )
oinline unsigned int getNumDrawables() const
oinline Drawable* getDrawable( unsigned int i )
oinline const Drawable* getDrawable( unsigned int i ) const
oinline bool containsDrawable(const Drawable* gset) const
oinline unsigned int getDrawableIndex( const Drawable* node ) const
ovoid compileDrawables(State& state)

Public Members

otypedef std::vector< ref_ptr<Drawable> > DrawableList

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* libraryName() const
ovirtual const char* className() const
ovirtual Group* asGroup()
ovirtual const Group* asGroup() const
ovirtual Transform* asTransform()
ovirtual const Transform* asTransform() 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(unsigned int i)
oinline const Group* getParent(unsigned int i) const
oinline unsigned int getNumParents() const
ovoid setUpdateCallback(NodeCallback* nc)
oinline NodeCallback* getUpdateCallback()
oinline const NodeCallback* getUpdateCallback() const
ovoid setAppCallback(NodeCallback* nc)
oinline NodeCallback* getAppCallback()
oinline const NodeCallback* getAppCallback() const
oinline unsigned int getNumChildrenRequiringUpdateTraversal() const
ovoid setCullCallback(NodeCallback* nc)
oinline NodeCallback* getCullCallback()
oinline const NodeCallback* getCullCallback() const
ovoid setCullingActive(bool active)
oinline bool getCullingActive() const
oinline unsigned int getNumChildrenWithCullingDisabled() const
oinline bool isCullingActive() const
oinline unsigned int getNumChildrenWithOccluderNodes() const
obool containsOccluderNodes() const
oinline void setNodeMask(NodeMask nm)
oinline NodeMask getNodeMask() const
oinline const DescriptionList& getDescriptions() const
oinline DescriptionList& getDescriptions()
oinline const std::string& getDescription(unsigned int i) const
oinline std::string& getDescription(unsigned int i)
oinline unsigned int getNumDescriptions() const
ovoid addDescription(const std::string& desc)
oinline void setStateSet(osg::StateSet* dstate)
oosg::StateSet* getOrCreateStateSet()
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 unsigned int NodeMask
otypedef std::vector<std::string> DescriptionList

Protected Fields

omutable BoundingSphere _bsphere
omutable bool _bsphere_computed
ostd::string _name
oParentList _parents
oref_ptr<NodeCallback> _updateCallback
ounsigned int _numChildrenRequiringUpdateTraversal
oref_ptr<NodeCallback> _cullCallback
obool _cullingActive
ounsigned int _numChildrenWithCullingDisabled
ounsigned int _numChildrenWithOccluderNodes
oNodeMask _nodeMask
oDescriptionList _descriptions
oref_ptr<StateSet> _stateset

Protected Methods

ovoid addParent(osg::Group* node)
ovoid removeParent(osg::Group* node)
ovoid setNumChildrenRequiringUpdateTraversal(unsigned int num)
ovoid setNumChildrenWithCullingDisabled(unsigned int num)
ovoid setNumChildrenWithOccluderNodes(unsigned int num)


Inherited from Object:

Public Methods

oinline void setDataVariance(DataVariance dv)
oinline DataVariance getDataVariance() const
oinline void setUserData(Referenced* obj)
oinline Referenced* getUserData()
oinline const Referenced* getUserData() const

Public Members

oenum DataVariance

Protected Fields

oDataVariance _dataVariance
oref_ptr<Referenced> _userData


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (Referenced&)
ostatic void setDeleteHandler(DeleteHandler* handler)
ostatic DeleteHandler* getDeleteHandler()
oinline void ref() const
oinline void unref_nodelete() const
oinline int referenceCount() const
oinline void unref() 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(osg, Billboard)

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

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

ovoid setAxis(const Vec3& axis)
Set the axis about which all the billboard's drawable rotate. Only utlized when mode==AXIAL_ROT

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

ovoid setNormal(const Vec3& normal)
Set the normal which defines the billboard's drawable front face, when unrotated.

oinline const Vec3& getNormal() const
Get the normal of billboard's drawable front face.

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

oinline const Vec3& getPos(unsigned 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 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 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 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.

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

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

ovirtual ~Billboard()

ovirtual bool computeBound() const

oenum AxisAligned

o AXIAL_ROT_X_AXIS

o AXIAL_ROT_Y_AXIS

o AXIAL_ROT_Z_AXIS

o CACHE_DIRTY

oMode _mode

oVec3 _axis

oVec3 _normal

oPositionList _positionList

oint _cachedMode

oVec3 _side

ovoid updateCache()


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



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