SizeTraitGeneric Struct Reference

Inheritance diagram for SizeTraitGeneric:

ParticleTraits

List of all members.

Static Public Member Functions

static void init (Particles *part, DrawActionBase *, dataType &data)
static bool particle (dataType &, UInt32)
static Vec3fsize (dataType &data, UInt32 particle)

Classes

struct  dataType


Detailed Description

Particle Size Traits

Definition at line 789 of file OSGParticles.cpp.


Member Function Documentation

static void SizeTraitGeneric::init ( Particles part,
DrawActionBase ,
dataType data 
) [inline, static]

Definition at line 799 of file OSGParticles.cpp.

References osg::ParticlesBase::getMFSizes(), osg::ParticlesBase::getPositions(), SizeTraitGeneric::dataType::perParticle, SizeTraitGeneric::dataType::s, osg::MField< FieldTypeT, fieldNameSpace >::size(), and SizeTraitGeneric::dataType::sizes.

00800     {
00801         data.sizes = part->getMFSizes();
00802         
00803         if(data.sizes != NULL)
00804         {
00805             if(data.sizes->size() == 1)
00806             {
00807                 data.s = (*(data.sizes))[0];
00808                 data.perParticle = false;
00809             }
00810             else if(data.sizes->size() == part->getPositions()->size())
00811             {
00812                 data.perParticle = true;
00813             }
00814             else
00815             {
00816                 data.s.setValues(1,1,1);
00817                 data.perParticle = false;
00818             }           
00819         }
00820         else
00821         {
00822             data.s.setValues(1,1,1);
00823             data.perParticle = false;
00824         }           
00825     }

static bool SizeTraitGeneric::particle ( dataType ,
UInt32   
) [inline, static]

Definition at line 827 of file OSGParticles.cpp.

00828     {
00829         return false;
00830     }

static Vec3f& SizeTraitGeneric::size ( dataType data,
UInt32  particle 
) [inline, static]

Definition at line 832 of file OSGParticles.cpp.

References SizeTraitGeneric::dataType::perParticle, SizeTraitGeneric::dataType::s, and SizeTraitGeneric::dataType::sizes.

00833     {
00834         if(data.perParticle)
00835                 return (*(data.sizes))[particle];
00836         return data.s;
00837     }


The documentation for this struct was generated from the following file:

Generated on Mon Mar 17 12:02:59 2008 for OpenSG by  doxygen 1.5.5