Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends

osgVolume::Volume Class Reference

Inheritance diagram for osgVolume::Volume:
osg::Group osg::Node osg::Object osg::Referenced

List of all members.

Public Member Functions

 Volume ()
 Volume (const Volume &, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Node (osgVolume, Volume)
virtual void traverse (osg::NodeVisitor &nv)
VolumeTilegetVolumeTile (const TileID &tileID)
const VolumeTilegetVolumeTile (const TileID &tileID) const
void setVolumeTechniquePrototype (VolumeTechnique *volumeTechnique)
VolumeTechniquegetVolumeTechniquePrototype ()
const VolumeTechniquegetVolumeTechniquePrototype () const

Protected Types

typedef std::map< TileID,
VolumeTile * > 
VolumeTileMap
typedef std::set< VolumeTile * > VolumeTileSet

Protected Member Functions

virtual ~Volume ()
void dirtyRegisteredVolumeTiles ()
void registerVolumeTile (VolumeTile *tile)
void unregisterVolumeTile (VolumeTile *tile)

Protected Attributes

OpenThreads::Mutex _mutex
VolumeTileSet _volumeTileSet
VolumeTileMap _volumeTileMap
osg::ref_ptr< VolumeTechnique_volumeTechnique

Friends

class VolumeTile

Detailed Description

Volume provides a framework for loosely coupling 3d image VolumeTile's with volume algorithms. This allows VolumeTechnique's to be plugged in at runtime.


Member Typedef Documentation

typedef std::map< TileID, VolumeTile* > osgVolume::Volume::VolumeTileMap [protected]
typedef std::set< VolumeTile* > osgVolume::Volume::VolumeTileSet [protected]

Constructor & Destructor Documentation

osgVolume::Volume::Volume (  ) 
osgVolume::Volume::Volume ( const Volume ,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osgVolume::Volume::~Volume (  )  [protected, virtual]

Member Function Documentation

void osgVolume::Volume::dirtyRegisteredVolumeTiles (  )  [protected]
VolumeTechnique* osgVolume::Volume::getVolumeTechniquePrototype (  )  [inline]

Get the VolumeTechnique prototype.

const VolumeTechnique* osgVolume::Volume::getVolumeTechniquePrototype (  )  const [inline]

Get the const VolumeTechnique prototype.

const VolumeTile* osgVolume::Volume::getVolumeTile ( const TileID tileID  )  const

Get the const VolumeTile for a given VolumeTileID.

VolumeTile* osgVolume::Volume::getVolumeTile ( const TileID tileID  ) 

Get the VolumeTile for a given VolumeTileID.

osgVolume::Volume::META_Node ( osgVolume  ,
Volume   
)
void osgVolume::Volume::registerVolumeTile ( VolumeTile tile  )  [protected]
void osgVolume::Volume::setVolumeTechniquePrototype ( VolumeTechnique volumeTechnique  )  [inline]

Set the VolumeTechnique prototype that nested VolumeTile should clone if they haven't already been assigned a volume rendering technique.

virtual void osgVolume::Volume::traverse ( osg::NodeVisitor  )  [virtual]

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::Group.

void osgVolume::Volume::unregisterVolumeTile ( VolumeTile tile  )  [protected]

Friends And Related Function Documentation

friend class VolumeTile [friend]

Member Data Documentation


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