OSG
3.4.0
|
#include <Billboard.h>
Public Types | |
enum | Mode { POINT_ROT_EYE, POINT_ROT_WORLD, AXIAL_ROT } |
typedef std::vector< Vec3 > | PositionList |
![]() | |
typedef std::vector< Group * > | ParentList |
typedef unsigned int | NodeMask |
typedef std::vector< std::string > | DescriptionList |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
Billboard () | |
Billboard (const Billboard &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_Node (osg, Billboard) | |
void | setMode (Mode mode) |
Mode | getMode () const |
void | setAxis (const Vec3 &axis) |
const Vec3 & | getAxis () const |
void | setNormal (const Vec3 &normal) |
const Vec3 & | getNormal () const |
void | setPosition (unsigned int i, const Vec3 &pos) |
const Vec3 & | getPosition (unsigned int i) const |
void | setPositionList (PositionList &pl) |
PositionList & | getPositionList () |
const PositionList & | getPositionList () const |
virtual bool | addDrawable (Drawable *gset) |
virtual bool | addDrawable (Drawable *gset, const Vec3 &pos) |
virtual bool | removeDrawable (Drawable *gset) |
bool | computeMatrix (Matrix &modelview, const Vec3 &eye_local, const Vec3 &pos_local) const |
virtual BoundingSphere | computeBound () const |
![]() | |
Geode () | |
Geode (const Geode &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_Node (osg, Geode) | |
virtual Geode * | asGeode () |
virtual const Geode * | asGeode () const |
virtual bool | removeDrawables (unsigned int i, unsigned int numDrawablesToRemove=1) |
virtual bool | replaceDrawable (Drawable *origDraw, Drawable *newDraw) |
virtual bool | setDrawable (unsigned int i, Drawable *drawable) |
unsigned int | getNumDrawables () const |
Drawable * | getDrawable (unsigned int i) |
const Drawable * | getDrawable (unsigned int i) const |
bool | containsDrawable (const Drawable *drawable) const |
unsigned int | getDrawableIndex (const Drawable *drawable) const |
void | compileDrawables (RenderInfo &renderInfo) |
const BoundingBox & | getBoundingBox () const |
![]() | |
Group () | |
Group (const Group &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_Node (osg, Group) | |
virtual Group * | asGroup () |
virtual const Group * | asGroup () const |
virtual void | traverse (NodeVisitor &nv) |
virtual bool | addChild (Node *child) |
virtual bool | insertChild (unsigned int index, Node *child) |
virtual bool | removeChild (Node *child) |
bool | removeChild (unsigned int pos, unsigned int numChildrenToRemove=1) |
virtual bool | removeChildren (unsigned int pos, unsigned int numChildrenToRemove) |
virtual bool | replaceChild (Node *origChild, Node *newChild) |
virtual unsigned int | getNumChildren () const |
virtual bool | setChild (unsigned int i, Node *node) |
Node * | getChild (unsigned int i) |
const Node * | getChild (unsigned int i) const |
bool | containsNode (const Node *node) const |
unsigned int | getChildIndex (const Node *node) const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
virtual void | releaseGLObjects (osg::State *=0) const |
![]() | |
Node () | |
Node (const Node &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const |
virtual Object * | clone (const CopyOp ©op) const |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Geometry * | asGeometry () |
virtual const Geometry * | asGeometry () const |
virtual Transform * | asTransform () |
virtual const Transform * | asTransform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Switch * | asSwitch () |
virtual const Switch * | asSwitch () const |
virtual osgTerrain::Terrain * | asTerrain () |
virtual const osgTerrain::Terrain * | asTerrain () const |
virtual void | accept (NodeVisitor &nv) |
virtual void | ascend (NodeVisitor &nv) |
const ParentList & | getParents () const |
ParentList | getParents () |
Group * | getParent (unsigned int i) |
const Group * | getParent (unsigned int i) const |
unsigned int | getNumParents () const |
NodePathList | getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const |
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
void | setUpdateCallback (Callback *nc) |
Callback * | getUpdateCallback () |
const Callback * | getUpdateCallback () const |
void | addUpdateCallback (Callback *nc) |
void | removeUpdateCallback (Callback *nc) |
unsigned int | getNumChildrenRequiringUpdateTraversal () const |
void | setEventCallback (Callback *nc) |
Callback * | getEventCallback () |
const Callback * | getEventCallback () const |
void | addEventCallback (Callback *nc) |
void | removeEventCallback (Callback *nc) |
unsigned int | getNumChildrenRequiringEventTraversal () const |
void | setCullCallback (Callback *nc) |
Callback * | getCullCallback () |
const Callback * | getCullCallback () const |
void | addCullCallback (Callback *nc) |
void | removeCullCallback (Callback *nc) |
void | setCullingActive (bool active) |
bool | getCullingActive () const |
unsigned int | getNumChildrenWithCullingDisabled () const |
bool | isCullingActive () const |
unsigned int | getNumChildrenWithOccluderNodes () const |
bool | containsOccluderNodes () const |
void | setNodeMask (NodeMask nm) |
NodeMask | getNodeMask () const |
void | setStateSet (osg::StateSet *stateset) |
osg::StateSet * | getOrCreateStateSet () |
osg::StateSet * | getStateSet () |
const osg::StateSet * | getStateSet () const |
void | setDescriptions (const DescriptionList &descriptions) |
DescriptionList & | getDescriptions () |
const DescriptionList & | getDescriptions () const |
const std::string & | getDescription (unsigned int i) const |
std::string & | getDescription (unsigned int i) |
unsigned int | getNumDescriptions () const |
void | addDescription (const std::string &desc) |
void | setInitialBound (const osg::BoundingSphere &bsphere) |
const BoundingSphere & | getInitialBound () const |
void | dirtyBound () |
const BoundingSphere & | getBound () const |
void | setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback) |
ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () |
const ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
std::string | getCompoundClassName () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
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 () |
![]() | |
virtual | ~Geode () |
![]() | |
virtual | ~Group () |
virtual void | childRemoved (unsigned int, unsigned int) |
virtual void | childInserted (unsigned int) |
![]() | |
virtual | ~Node () |
void | addParent (osg::Group *parent) |
void | removeParent (osg::Group *parent) |
void | setNumChildrenRequiringUpdateTraversal (unsigned int num) |
void | setNumChildrenRequiringEventTraversal (unsigned int num) |
void | setNumChildrenWithCullingDisabled (unsigned int num) |
void | setNumChildrenWithOccluderNodes (unsigned int num) |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
Billboard is a derived form of Geode that orients its osg::Drawable children to face the eye point. Typical uses include trees and particle explosions.
Definition at line 26 of file Billboard.h.
typedef std::vector<Vec3> osg::Billboard::PositionList |
Type definition for pivot point position list.
Definition at line 66 of file Billboard.h.
|
protected |
Enumerator | |
---|---|
AXIAL_ROT_X_AXIS | |
AXIAL_ROT_Y_AXIS | |
AXIAL_ROT_Z_AXIS | |
POINT_ROT_WORLD_Z_AXIS | |
CACHE_DIRTY |
Definition at line 106 of file Billboard.h.
enum osg::Billboard::Mode |
Enumerator | |
---|---|
POINT_ROT_EYE | |
POINT_ROT_WORLD | |
AXIAL_ROT |
Definition at line 30 of file Billboard.h.
osg::Billboard::Billboard | ( | ) |
osg::Billboard::Billboard | ( | const Billboard & | , |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
) |
Copy constructor using CopyOp to manage deep vs shallow copy.
|
protectedvirtual |
|
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 |
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.
bool osg::Billboard::computeMatrix | ( | Matrix & | modelview, |
const Vec3 & | eye_local, | ||
const Vec3 & | pos_local | ||
) | const |
|
inline |
Get the rotation axis.
Definition at line 52 of file Billboard.h.
|
inline |
Get the billboard rotation mode.
Definition at line 46 of file Billboard.h.
|
inline |
Get the front face direction normal.
Definition at line 57 of file Billboard.h.
|
inline |
Get the specified child Drawable's position.
Definition at line 63 of file Billboard.h.
|
inline |
Get the list of pivot point positions.
Definition at line 72 of file Billboard.h.
|
inline |
Get a const list of pivot point positions.
Definition at line 75 of file Billboard.h.
osg::Billboard::META_Node | ( | osg | , |
Billboard | |||
) |
|
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.
Set the rotation axis for the billboard's child Drawables. Only utilized when mode==AXIAL_ROT.
This normal defines child Drawables' front face direction when unrotated.
Set the specified child Drawable's position.
Definition at line 61 of file Billboard.h.
|
inline |
Set the list of pivot point positions.
Definition at line 69 of file Billboard.h.
|
protected |
|
protected |
Definition at line 117 of file Billboard.h.
|
protected |
Definition at line 124 of file Billboard.h.
|
protected |
Definition at line 116 of file Billboard.h.
|
protected |
Definition at line 118 of file Billboard.h.
|
protected |
Definition at line 120 of file Billboard.h.
|
protected |
Definition at line 119 of file Billboard.h.
|
protected |
Definition at line 125 of file Billboard.h.