OSG
3.4.0
|
#include <ConnectedParticleSystem.h>
Public Member Functions | |
ConnectedParticleSystem () | |
ConnectedParticleSystem (const ConnectedParticleSystem ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgParticle, ConnectedParticleSystem) | |
virtual Particle * | createParticle (const Particle *ptemplate) |
Create a new particle from the specified template (or the default one if ptemplate is null). More... | |
virtual void | reuseParticle (int i) |
Reuse the i-th particle. More... | |
virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
Draw the connected particles as either a line or a quad strip, depending upon viewing distance. . More... | |
const osgParticle::Particle * | getStartParticle () const |
Get the (const) particle from where the line or quadstrip starts to be drawn. More... | |
osgParticle::Particle * | getStartParticle () |
Get the particle from where the line or quadstrip starts to be drawn. More... | |
void | setMaxNumberOfParticlesToSkip (unsigned int maxNumberofParticlesToSkip) |
Set the maximum numbers of particles to be skipped during the predraw filtering. More... | |
unsigned int | getMaxNumberOfParticlesToSkip () |
Get the maximum numbers of particles to be skipped during the predraw filtering. More... | |
![]() | |
ParticleSystem () | |
ParticleSystem (const ParticleSystem ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgParticle, ParticleSystem) | |
Alignment | getParticleAlignment () const |
Get the alignment type of particles. More... | |
void | setParticleAlignment (Alignment a) |
Set the alignment type of particles. More... | |
const osg::Vec3 & | getAlignVectorX () const |
Get the X-axis alignment vector. More... | |
void | setAlignVectorX (const osg::Vec3 &v) |
Set the X-axis alignment vector. More... | |
const osg::Vec3 & | getAlignVectorY () const |
Get the Y-axis alignment vector. More... | |
void | setAlignVectorY (const osg::Vec3 &v) |
Set the Y-axis alignment vector. More... | |
void | setAlignVectors (const osg::Vec3 &X, const osg::Vec3 &Y) |
Set the alignment vectors. More... | |
void | setParticleScaleReferenceFrame (ParticleScaleReferenceFrame rf) |
ParticleScaleReferenceFrame | getParticleScaleReferenceFrame () const |
const osg::BoundingBox & | getDefaultBoundingBox () const |
Get the default bounding box. More... | |
void | setDefaultBoundingBox (const osg::BoundingBox &bbox) |
bool | getUseVertexArray () const |
Return true if we use vertex arrays for rendering particles. More... | |
void | setUseVertexArray (bool v) |
bool | getUseShaders () const |
Return true if shaders are required. More... | |
void | setUseShaders (bool v) |
bool | getDoublePassRendering () const |
Get the double pass rendering flag. More... | |
void | setDoublePassRendering (bool v) |
bool | getFrozen () const |
Return true if the particle system is frozen. More... | |
bool | isFrozen () const |
void | setFrozen (bool v) |
int | numParticles () const |
Get the number of allocated particles (alive + dead). More... | |
int | numDeadParticles () const |
Get the number of dead particles. More... | |
bool | areAllParticlesDead () const |
Get whether all particles are dead. More... | |
Particle * | getParticle (int i) |
Get a pointer to the i-th particle. More... | |
const Particle * | getParticle (int i) const |
Get a const pointer to the i-th particle. More... | |
virtual void | destroyParticle (int i) |
Destroy the i-th particle. More... | |
unsigned int | getLastFrameNumber () const |
Get the last frame number. More... | |
double & | getDeltaTime (double currentTime) |
Get the unique delta time for emitters and updaters to use. More... | |
Particle & | getDefaultParticleTemplate () |
Get a reference to the default particle template. More... | |
const Particle & | getDefaultParticleTemplate () const |
Get a const reference to the default particle template. More... | |
void | setDefaultParticleTemplate (const Particle &p) |
Set the default particle template (particle is copied). More... | |
bool | getFreezeOnCull () const |
Get whether the particle system can freeze when culled. More... | |
void | setFreezeOnCull (bool v) |
Set whether the particle system can freeze when culled (default is true) More... | |
void | setDefaultAttributes (const std::string &texturefile="", bool emissive_particles=true, bool lighting=false, int texture_unit=0) |
void | setDefaultAttributesUsingShaders (const std::string &texturefile="", bool emissive_particles=true, int texture_unit=0) |
int | getLevelOfDetail () const |
(EXPERIMENTAL) Get the level of detail. More... | |
void | setLevelOfDetail (int v) |
SortMode | getSortMode () const |
Get the sort mode. More... | |
void | setSortMode (SortMode mode) |
double | getVisibilityDistance () const |
Get the visibility distance. More... | |
void | setVisibilityDistance (double distance) |
virtual void | update (double dt, osg::NodeVisitor &nv) |
Update the particles. Don't call this directly, use a ParticleSystemUpdater instead. More... | |
virtual osg::BoundingBox | computeBoundingBox () const |
ReadWriterMutex * | getReadWriteMutex () const |
![]() | |
Drawable () | |
Drawable (const Drawable &drawable, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_Node (osg, Drawable) | |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual void | computeDataVariance () |
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
void | setInitialBound (const osg::BoundingBox &bbox) |
const BoundingBox & | getInitialBound () const |
const BoundingSphere & | getBound () const |
const BoundingBox & | getBoundingBox () const |
virtual BoundingSphere | computeBound () const |
void | setComputeBoundingBoxCallback (ComputeBoundingBoxCallback *callback) |
ComputeBoundingBoxCallback * | getComputeBoundingBoxCallback () |
const ComputeBoundingBoxCallback * | getComputeBoundingBoxCallback () const |
void | setShape (Shape *shape) |
Shape * | getShape () |
const Shape * | getShape () const |
void | setSupportsDisplayList (bool flag) |
bool | getSupportsDisplayList () const |
void | setUseDisplayList (bool flag) |
bool | getUseDisplayList () const |
GLuint & | getDisplayList (unsigned int contextID) const |
virtual void | setUseVertexBufferObjects (bool flag) |
bool | getUseVertexBufferObjects () const |
virtual void | dirtyDisplayList () |
virtual unsigned int | getGLObjectSizeHint () const |
void | draw (RenderInfo &renderInfo) const |
virtual void | compileGLObjects (RenderInfo &renderInfo) const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
virtual void | releaseGLObjects (State *state=0) const |
virtual void | setDrawCallback (DrawCallback *dc) |
DrawCallback * | getDrawCallback () |
const DrawCallback * | getDrawCallback () const |
virtual bool | supports (const AttributeFunctor &) const |
virtual void | accept (AttributeFunctor &) |
virtual bool | supports (const ConstAttributeFunctor &) const |
virtual void | accept (ConstAttributeFunctor &) const |
virtual bool | supports (const PrimitiveFunctor &) const |
virtual void | accept (PrimitiveFunctor &) const |
virtual bool | supports (const PrimitiveIndexFunctor &) const |
virtual void | accept (PrimitiveIndexFunctor &) 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 Geometry * | asGeometry () |
virtual const Geometry * | asGeometry () const |
virtual Group * | asGroup () |
virtual const Group * | asGroup () 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 Geode * | asGeode () |
virtual const Geode * | asGeode () const |
virtual osgTerrain::Terrain * | asTerrain () |
virtual const osgTerrain::Terrain * | asTerrain () const |
virtual void | accept (NodeVisitor &nv) |
virtual void | ascend (NodeVisitor &nv) |
virtual void | traverse (NodeVisitor &) |
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 |
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 |
Additional Inherited Members | |
![]() | |
enum | Alignment { BILLBOARD, FIXED } |
enum | ParticleScaleReferenceFrame { LOCAL_COORDINATES, WORLD_COORDINATES } |
enum | SortMode { NO_SORT, SORT_FRONT_TO_BACK, SORT_BACK_TO_FRONT } |
typedef OpenThreads::Mutex | ReadWriterMutex |
typedef OpenThreads::ScopedLock < OpenThreads::Mutex > | ScopedReadLock |
typedef OpenThreads::ScopedLock < OpenThreads::Mutex > | ScopedWriteLock |
![]() | |
enum | AttributeTypes { VERTICES = 0, WEIGHTS = 1, NORMALS = 2, COLORS = 3, SECONDARY_COLORS = 4, FOG_COORDS = 5, ATTRIBUTE_6 = 6, ATTRIBUTE_7 = 7, TEXTURE_COORDS = 8, TEXTURE_COORDS_0 = TEXTURE_COORDS, TEXTURE_COORDS_1 = TEXTURE_COORDS_0+1, TEXTURE_COORDS_2 = TEXTURE_COORDS_0+2, TEXTURE_COORDS_3 = TEXTURE_COORDS_0+3, TEXTURE_COORDS_4 = TEXTURE_COORDS_0+4, TEXTURE_COORDS_5 = TEXTURE_COORDS_0+5, TEXTURE_COORDS_6 = TEXTURE_COORDS_0+6, TEXTURE_COORDS_7 = TEXTURE_COORDS_0+7 } |
typedef unsigned int | AttributeType |
![]() | |
typedef std::vector< Group * > | ParentList |
typedef unsigned int | NodeMask |
typedef std::vector< std::string > | DescriptionList |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
![]() | |
static GLuint | generateDisplayList (unsigned int contextID, unsigned int sizeHint=0) |
static void | setMinimumNumberOfDisplayListsToRetainInCache (unsigned int minimum) |
static unsigned int | getMinimumNumberOfDisplayListsToRetainInCache () |
static void | deleteDisplayList (unsigned int contextID, GLuint globj, unsigned int sizeHint=0) |
static void | flushAllDeletedDisplayLists (unsigned int contextID) |
static void | discardAllDeletedDisplayLists (unsigned int contextID) |
static void | flushDeletedDisplayLists (unsigned int contextID, double &availableTime) |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
![]() | |
static unsigned int | s_numberDrawablesReusedLastInLastFrame |
static unsigned int | s_numberNewDrawablesInLastFrame |
static unsigned int | s_numberDeletedDrawablesInLastFrame |
![]() | |
typedef std::vector< Particle > | Particle_vector |
typedef std::stack< Particle * > | Death_stack |
![]() | |
typedef osg::buffered_value < GLuint > | GLObjectList |
ConnectConnectedParticleSystem is a specialise ConnectedParticleSystem for effects like missile trails, where the individual particles are rendered as single ribbon.
Definition at line 26 of file ConnectedParticleSystem.h.
osgParticle::ConnectedParticleSystem::ConnectedParticleSystem | ( | ) |
osgParticle::ConnectedParticleSystem::ConnectedParticleSystem | ( | const ConnectedParticleSystem & | copy, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
protectedvirtual |
|
virtual |
Create a new particle from the specified template (or the default one if ptemplate
is null).
Reimplemented from osgParticle::ParticleSystem.
|
virtual |
Draw the connected particles as either a line or a quad strip, depending upon viewing distance. .
Reimplemented from osgParticle::ParticleSystem.
|
inline |
Get the maximum numbers of particles to be skipped during the predraw filtering.
Definition at line 60 of file ConnectedParticleSystem.h.
|
inline |
Get the (const) particle from where the line or quadstrip starts to be drawn.
Definition at line 45 of file ConnectedParticleSystem.h.
|
inline |
Get the particle from where the line or quadstrip starts to be drawn.
Definition at line 51 of file ConnectedParticleSystem.h.
osgParticle::ConnectedParticleSystem::META_Object | ( | osgParticle | , |
ConnectedParticleSystem | |||
) |
|
inlineprotected |
Definition at line 66 of file ConnectedParticleSystem.h.
|
virtual |
Reuse the i-th particle.
Reimplemented from osgParticle::ParticleSystem.
|
inline |
Set the maximum numbers of particles to be skipped during the predraw filtering.
Definition at line 57 of file ConnectedParticleSystem.h.
|
protected |
Definition at line 68 of file ConnectedParticleSystem.h.
|
protected |
Definition at line 69 of file ConnectedParticleSystem.h.
|
protected |
Definition at line 71 of file ConnectedParticleSystem.h.