Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::DVRSimpleShader Class Reference

*put brief class description here* More...

#include <OSGDVRSimpleShader.h>

Inheritance diagram for osg::DVRSimpleShader:

osg::DVRSimpleShaderBase osg::DVRShader osg::DVRShaderBase osg::FieldContainer osg::DVRSimpleLUTShaderBase osg::DVRSimpleLUTShader osg::DVRMtexLUTShaderBase osg::DVRMtexLUTShader List of all members.

Public Types

typedef DVRSimpleShaderPtr Ptr
enum  { NextFieldId = 1 }

Public Member Functions

Sync
*virtual void changed (BitVector whichField, UInt32 from)
 react to field changes
Output
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
 output the instance for debug purposes
Volume Rendering
*virtual bool initialize (DVRVolume *volume, DrawActionBase *action)
 Callback to set up shader - register textures here.
virtual void activate (DVRVolume *volume, DrawActionBase *action)
 Callback before any slice is rendered - setup per volume.
virtual void brickActivate (DVRVolume *volume, DrawActionBase *action, Brick *brick)
 Callback before any brick - state setup per brick.
virtual void deactivate (DVRVolume *volume, DrawActionBase *action)
 Callback after all rendering of the volume is done.
virtual void cleanup (DVRVolume *volume, DrawActionBase *action)
 Callback to clean up shader resources.
FieldContainer Get
*virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Binary Access
*virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Copy
*virtual FieldContainerPtr shallowCopy (void) const
Volume Rendering
virtual void renderSlice (DVRVolume *volume, DrawActionBase *action, Real32 *data, UInt32 vertices, UInt32 values)
virtual void renderSlice (DVRVolume *volume, DrawActionBase *action, DVRRenderSlice *clippedSlice)
virtual bool hasRenderCallback (void)
virtual bool useMTSlabs (void)

Static Public Member Functions

Class Get
*static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
Construction
*static DVRSimpleShaderPtr create (void)
 create a new instance of the class
static DVRSimpleShaderPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype

Static Public Attributes

static const osg::BitVector MTInfluenceMask
static const BitVector NextFieldMask

Protected Member Functions

Constructors
DVRSimpleShader (void)
 Constructor.
 DVRSimpleShader (const DVRSimpleShader &source)
 Copy Constructor.
Destructors
*virtual ~DVRSimpleShader (void)
 Destructor.
Sync
*void executeSyncImpl (DVRSimpleShaderBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Sync
*void executeSyncImpl (DVRShaderBase *pOther, const BitVector &whichField)

Protected Attributes

Int32 m_nTextureId

Private Types

typedef DVRSimpleShaderBase Inherited

Private Member Functions

void operator= (const DVRSimpleShader &source)

Static Private Member Functions

static void initMethod (void)
 initialize the static features of the class, e.g. action callbacks

Friends

class FieldContainer
class DVRSimpleShaderBase

Detailed Description

Abstract shader class - not to be instantiated. Is intended to be stateless - NO FIELDS!!

Definition at line 54 of file OSGDVRSimpleShader.h.


Member Typedef Documentation

typedef DVRSimpleShaderBase osg::DVRSimpleShader::Inherited [private]
 

Reimplemented from osg::DVRSimpleShaderBase.

Reimplemented in osg::DVRMtexLUTShader, osg::DVRMtexLUTShaderBase, osg::DVRSimpleLUTShader, and osg::DVRSimpleLUTShaderBase.

Definition at line 58 of file OSGDVRSimpleShader.h.

typedef DVRSimpleShaderPtr osg::DVRSimpleShaderBase::Ptr [inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 89 of file OSGDVRSimpleShaderBase.h.


Member Enumeration Documentation

anonymous enum [inherited]
 

Enumerator:
NextFieldId 

Definition at line 73 of file OSGFieldContainerImpl.h.

00073 { NextFieldId = 1 };


Constructor & Destructor Documentation

DVRSimpleShader::DVRSimpleShader void   )  [protected]
 

Definition at line 63 of file OSGDVRSimpleShader.cpp.

00063                                      :
00064     Inherited   (  ),
00065     m_nTextureId(-1)
00066 {
00067 }

DVRSimpleShader::DVRSimpleShader const DVRSimpleShader source  )  [protected]
 

Definition at line 70 of file OSGDVRSimpleShader.cpp.

00070                                                               :
00071     Inherited   (source),
00072     m_nTextureId(    -1)
00073 {
00074 }

DVRSimpleShader::~DVRSimpleShader void   )  [protected, virtual]
 

Definition at line 77 of file OSGDVRSimpleShader.cpp.

00078 {
00079 }


Member Function Documentation

void DVRSimpleShader::changed BitVector  whichField,
UInt32  from
[virtual]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 89 of file OSGDVRSimpleShader.cpp.

References osg::DVRShader::changed().

Referenced by osg::DVRSimpleLUTShader::changed().

00090 {
00091     Inherited::changed(whichField, origin);
00092 }

void DVRSimpleShader::dump UInt32  uiIndent = 0,
const BitVector  bvFlags = 0
const [virtual]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 95 of file OSGDVRSimpleShader.cpp.

References SLOG.

00097 {
00098     SLOG << "Dump DVRSimpleShader NI" << std::endl;
00099 }

bool DVRSimpleShader::initialize DVRVolume volume,
DrawActionBase action
[virtual]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 103 of file OSGDVRSimpleShader.cpp.

References DVRVOLUME_PARAMETER, FDEBUG, FNOTICE, FWARNING, osg::DVRVolume::getTextureManager(), GLenum, m_nTextureId, osg::Image::OSG_FLOAT16_IMAGEDATA, osg::Image::OSG_FLOAT32_IMAGEDATA, osg::Image::OSG_L_PF, osg::Image::OSG_LA_PF, osg::Image::OSG_RGB_DXT1, osg::Image::OSG_RGB_PF, osg::Image::OSG_RGBA_DXT1, osg::Image::OSG_RGBA_DXT3, osg::Image::OSG_RGBA_DXT5, osg::Image::OSG_RGBA_PF, osg::Image::OSG_UINT16_IMAGEDATA, osg::Image::OSG_UINT32_IMAGEDATA, osg::Image::OSG_UINT8_IMAGEDATA, osg::TextureManager::registerTexture(), and SWARNING.

00105 {
00106     FDEBUG(("DVRSimpleShader::initialize\n"));
00107     
00108     m_nTextureId = -1;
00109 
00110     DVRVolumeTexturePtr vol = DVRVOLUME_PARAMETER(volume, DVRVolumeTexture);
00111 
00112     ImagePtr img = vol->getImage();
00113     
00114     // Map the size to an index
00115     
00116     static Int16 types[] =  { Image::OSG_UINT8_IMAGEDATA,
00117                               Image::OSG_UINT16_IMAGEDATA,
00118                               Image::OSG_UINT32_IMAGEDATA,
00119                               Image::OSG_FLOAT16_IMAGEDATA,
00120                               Image::OSG_FLOAT32_IMAGEDATA,
00121                               -1 };
00122     
00123     UInt16 type = 0;
00124     while(types[type] != -1 && types[type] != img->getDataType()) type++;
00125     
00126     if(!types[type])
00127     {
00128         FWARNING(("DVRSimpleShader::initialize: Image data type %d "
00129                   "unknown!\n", img->getDataType()));
00130         type = 0;
00131     }
00132     
00133     if(type > 2) // Ignore float types for now
00134     {
00135         FWARNING(("DVRSimpleShader::initialize: Can't do float image types,"
00136                   " treating as int.\n"));
00137         type = 0;
00138     }
00139     
00140     
00141     // Map the pixel format to an index
00142        
00143     static Int16 formats[] =  { Image::OSG_L_PF,
00144                                 Image::OSG_LA_PF,
00145                                 Image::OSG_RGBA_DXT1,
00146                                 Image::OSG_RGBA_DXT3,
00147                                 Image::OSG_RGBA_DXT5,
00148                                 Image::OSG_RGBA_PF,
00149                                 Image::OSG_RGB_DXT1,
00150                                 Image::OSG_RGB_PF,
00151                                 -1 };
00152     
00153     UInt16 format = 0;
00154     while(formats[format] != -1 && 
00155           formats[format] != img->getPixelFormat()) format++;
00156     
00157     if(!formats[format])
00158     {
00159         FWARNING(("DVRSimpleShader::initialize: Image pixel format %d "
00160                   "unknown!\n", img->getPixelFormat()));
00161         format = 0;
00162     }
00163     
00164     if(type > 5) // RGB doesn't have alpha...
00165     {
00166         FNOTICE(("DVRSimpleShader::initialize: Image pixel format doesn't "
00167                  "have alpha! Volume will not be transparent!\n"));
00168     }
00169 
00170     // Now get the best internal format for the image
00171     
00172     static GLenum intfs[8][3] = {
00173         { GL_INTENSITY, GL_INTENSITY16, GL_INTENSITY16 },
00174         { GL_LUMINANCE_ALPHA, GL_LUMINANCE16_ALPHA16, GL_LUMINANCE16_ALPHA16 },
00175         { GL_RGBA, GL_RGBA, GL_RGBA },
00176         { GL_RGBA, GL_RGBA, GL_RGBA },
00177         { GL_RGBA, GL_RGBA, GL_RGBA },
00178         { GL_RGBA, GL_RGBA16, GL_RGBA16 },
00179         { GL_RGB, GL_RGB, GL_RGB },
00180         { GL_RGB, GL_RGB16, GL_RGB16 }
00181         };
00182                                
00183     
00184     m_nTextureId = volume->getTextureManager().registerTexture(
00185         vol->getImage(),        // image
00186         intfs[format][type],    // internalFormat
00187         GL_NONE,                // externalFormat
00188         1,                      // doBricking
00189         0,                      // textureStage0
00190         -1);                    // textureStage1
00191     
00192     if(m_nTextureId == -1) 
00193     {
00194         SWARNING << "Error registering textures ..." << std::endl;
00195         return false;
00196     }
00197     
00198     return true;
00199 }

void DVRSimpleShader::activate DVRVolume volume,
DrawActionBase action
[virtual]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 203 of file OSGDVRSimpleShader.cpp.

References osg::DVRVolumeBase::getDoTextures().

Referenced by osg::DVRSimpleLUTShader::activate().

00204 {
00205     //FDEBUG << "DVRSimpleShader::activate\n"));
00206 
00207     glPushAttrib(GL_ENABLE_BIT         | 
00208                  GL_COLOR_BUFFER_BIT   |
00209                  GL_STENCIL_BUFFER_BIT |
00210                  GL_DEPTH_BUFFER_BIT   | 
00211                  GL_POLYGON_BIT        | 
00212                  GL_TEXTURE_BIT);
00213 
00214     glDisable(GL_DITHER);
00215     glDisable(GL_LIGHTING);
00216     
00217     glColor4f(1.0,1.0,1.0,1.0); 
00218     
00219     if(volume->getDoTextures()) 
00220     {
00221         // glDisable(GL_TEXTURE_2D);  
00222         // glEnable(GL_TEXTURE_3D_EXT);  
00223         glEnable(GL_BLEND);  
00224         glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);   
00225         
00226         glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);  
00227     }
00228 }

void DVRSimpleShader::brickActivate DVRVolume volume,
DrawActionBase action,
Brick brick
[virtual]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRSimpleLUTShader.

Definition at line 231 of file OSGDVRSimpleShader.cpp.

Referenced by osg::DVRSimpleLUTShader::brickActivate().

00234 {
00235     //FDEBUG(("DVRSimpleShader::brickActivate\n"));
00236 }

void DVRSimpleShader::deactivate DVRVolume volume,
DrawActionBase action
[virtual]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 239 of file OSGDVRSimpleShader.cpp.

References FDEBUG.

Referenced by osg::DVRSimpleLUTShader::deactivate().

00241 {
00242     FDEBUG(("DVRSimpleShader::deactivate\n"));
00243     
00244     glPopAttrib();
00245 }

void DVRSimpleShader::cleanup DVRVolume volume,
DrawActionBase action
[virtual]
 

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 248 of file OSGDVRSimpleShader.cpp.

References osg::DVRVolume::getTextureManager(), m_nTextureId, and osg::TextureManager::unregisterTexture().

00249 {
00250     if (volume != NULL)
00251     {
00252         if (m_nTextureId != -1)
00253             volume->getTextureManager().unregisterTexture(m_nTextureId);
00254     }
00255 }

void DVRSimpleShader::initMethod void   )  [static, private]
 

Reimplemented from osg::DVRShader.

Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.

Definition at line 84 of file OSGDVRSimpleShader.cpp.

00085 {
00086 }

void osg::DVRSimpleShader::operator= const DVRSimpleShader source  )  [private]
 

osg::FieldContainerType & osg::DVRSimpleShaderBase::getClassType void   )  [inline, static, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 58 of file OSGDVRSimpleShaderBase.inl.

References osg::DVRSimpleShaderBase::_type.

Referenced by osg::DVRSimpleShaderBase::create().

00059 {
00060     return _type; 
00061 } 

osg::UInt32 osg::DVRSimpleShaderBase::getClassTypeId void   )  [inline, static, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 65 of file OSGDVRSimpleShaderBase.inl.

References osg::DVRSimpleShaderBase::_type, and osg::TypeBase::getId().

00066 {
00067     return _type.getId(); 
00068 } 

FieldContainerType & DVRSimpleShaderBase::getType void   )  [virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 86 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRSimpleShaderBase::_type.

00087 {
00088     return _type; 
00089 } 

const FieldContainerType & DVRSimpleShaderBase::getType void   )  const [virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 91 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRSimpleShaderBase::_type.

00092 {
00093     return _type;
00094 } 

UInt32 DVRSimpleShaderBase::getContainerSize void   )  const [virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 106 of file OSGDVRSimpleShaderBase.cpp.

00107 { 
00108     return sizeof(DVRSimpleShader); 
00109 }

UInt32 DVRSimpleShaderBase::getBinSize const BitVector whichField  )  [virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 166 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRShaderBase::getBinSize().

Referenced by osg::DVRSimpleLUTShaderBase::getBinSize().

00167 {
00168     UInt32 returnValue = Inherited::getBinSize(whichField);
00169 
00170 
00171     return returnValue;
00172 }

void DVRSimpleShaderBase::copyToBin BinaryDataHandler pMem,
const BitVector whichField
[virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 174 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRShaderBase::copyToBin().

Referenced by osg::DVRSimpleLUTShaderBase::copyToBin().

00176 {
00177     Inherited::copyToBin(pMem, whichField);
00178 
00179 
00180 }

void DVRSimpleShaderBase::copyFromBin BinaryDataHandler pMem,
const BitVector whichField
[virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 182 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRShaderBase::copyFromBin().

Referenced by osg::DVRSimpleLUTShaderBase::copyFromBin().

00184 {
00185     Inherited::copyFromBin(pMem, whichField);
00186 
00187 
00188 }

DVRSimpleShaderPtr osg::DVRSimpleShaderBase::create void   )  [inline, static, inherited]
 

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 72 of file OSGDVRSimpleShaderBase.inl.

References osg::DVRSimpleShaderBase::getClassType(), osg::FieldContainerType::getPrototype(), osg::NullFC, and osg::DVRSimpleShaderBase::shallowCopy().

00073 {
00074     DVRSimpleShaderPtr fc; 
00075 
00076     if(getClassType().getPrototype() != OSG::NullFC) 
00077     {
00078         fc = DVRSimpleShaderPtr::dcast(
00079             getClassType().getPrototype()-> shallowCopy()); 
00080     }
00081     
00082     return fc; 
00083 }

DVRSimpleShaderPtr osg::DVRSimpleShaderBase::createEmpty void   )  [inline, static, inherited]
 

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 87 of file OSGDVRSimpleShaderBase.inl.

References osg::FieldContainer::newPtr().

00088 { 
00089     DVRSimpleShaderPtr returnValue; 
00090     
00091     newPtr(returnValue); 
00092 
00093     return returnValue; 
00094 }

FieldContainerPtr DVRSimpleShaderBase::shallowCopy void   )  const [virtual, inherited]
 

Implements osg::FieldContainer.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 97 of file OSGDVRSimpleShaderBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by osg::DVRSimpleShaderBase::create().

00098 { 
00099     DVRSimpleShaderPtr returnValue; 
00100 
00101     newPtr(returnValue, dynamic_cast<const DVRSimpleShader *>(this)); 
00102 
00103     return returnValue; 
00104 }

void DVRSimpleShaderBase::executeSyncImpl DVRSimpleShaderBase pOther,
const BitVector whichField
[protected, inherited]
 

Definition at line 191 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRShaderBase::executeSyncImpl().

Referenced by osg::DVRSimpleShaderBase::executeSync(), and osg::DVRSimpleLUTShaderBase::executeSyncImpl().

00193 {
00194 
00195     Inherited::executeSyncImpl(pOther, whichField);
00196 
00197 
00198 }

void DVRShaderBase::executeSyncImpl DVRShaderBase pOther,
const BitVector whichField
[protected, inherited]
 

Definition at line 182 of file OSGDVRShaderBase.cpp.

References osg::FieldContainer::executeSyncImpl().

Referenced by osg::DVRShaderBase::executeSync(), osg::DVRSimpleShaderBase::executeSyncImpl(), and osg::DVRIsoShaderBase::executeSyncImpl().

00184 {
00185 
00186     Inherited::executeSyncImpl(pOther, whichField);
00187 
00188 
00189 }

void osg::FieldContainer::executeSyncImpl FieldContainer pOther,
const BitVector whichField
[inline, protected, inherited]
 

Definition at line 333 of file OSGFieldContainerImpl.inl.

Referenced by osg::StateBase::executeSyncImpl(), osg::DVRShaderBase::executeSyncImpl(), osg::DVRClipGeometryBase::executeSyncImpl(), osg::AttachmentContainer::executeSyncImpl(), and osg::Attachment::executeSyncImpl().

00335 {
00336 }

void DVRSimpleShaderBase::executeSync FieldContainer other,
const BitVector whichField
[protected, virtual, inherited]
 

Reimplemented from osg::DVRShaderBase.

Reimplemented in osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShaderBase.

Definition at line 113 of file OSGDVRSimpleShaderBase.cpp.

References osg::DVRSimpleShaderBase::executeSyncImpl().

00115 {
00116     this->executeSyncImpl((DVRSimpleShaderBase *) &other, whichField);
00117 }

void DVRShader::renderSlice DVRVolume volume,
DrawActionBase action,
Real32 data,
UInt32  vertices,
UInt32  values
[virtual, inherited]
 

Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.

Definition at line 85 of file OSGDVRShader.cpp.

References SLOG.

00090 {
00091     SLOG << "DVRShader::renderSlice - NI" << std::endl;
00092 }

void DVRShader::renderSlice DVRVolume volume,
DrawActionBase action,
DVRRenderSlice clippedSlice
[virtual, inherited]
 

Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.

Definition at line 94 of file OSGDVRShader.cpp.

References SLOG.

00097 {
00098     SLOG << "DVRShader::renderSlice - NI" << std::endl;
00099 }

bool DVRShader::hasRenderCallback void   )  [virtual, inherited]
 

Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.

Definition at line 101 of file OSGDVRShader.cpp.

00102 {
00103     return false; 
00104 }

bool DVRShader::useMTSlabs void   )  [virtual, inherited]
 

Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.

Definition at line 106 of file OSGDVRShader.cpp.

00107 {
00108     return false; 
00109 }; 

UInt16 osg::FieldContainer::getClassGroupId void   )  [inline, static, inherited]
 

Definition at line 71 of file OSGFieldContainerImpl.inl.

References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().

00072 {
00073     return _type.getGroupId();
00074 }

UInt32 osg::FieldContainer::getTypeId void   )  const [inline, inherited]
 

Definition at line 77 of file OSGFieldContainerImpl.inl.

References osg::TypeBase::getId(), and osg::FieldContainer::getType().

Referenced by osg::TextureChunk::changeFrom(), and osg::CubeTextureChunk::changeFrom().

00078 {
00079     return getType().getId();
00080 }

UInt16 osg::FieldContainer::getGroupId void   )  const [inline, inherited]
 

Definition at line 83 of file OSGFieldContainerImpl.inl.

References osg::FieldContainerType::getGroupId(), and osg::FieldContainer::getType().

Referenced by osg::Image::setAttachmentField().

00084 {
00085     return getType().getGroupId();
00086 }

const Char8 * osg::FieldContainer::getTypeName void   )  const [inline, inherited]
 

Definition at line 89 of file OSGFieldContainerImpl.inl.

References osg::TypeBase::getCName(), and osg::FieldContainer::getType().

00090 {
00091     return getType().getCName();
00092 }

Field * osg::FieldContainer::getField UInt32  fieldId  )  [inline, inherited]
 

Definition at line 95 of file OSGFieldContainerImpl.inl.

References osg::FieldDescription::getField(), osg::FieldContainerType::getFieldDescription(), and osg::FieldContainer::getType().

Referenced by osg::QFCItem::expand(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup().

00096 {
00097     const FieldDescription *desc = getType().getFieldDescription(fieldId);
00098 
00099     return desc ? desc->getField(*this) : NULL;
00100 }

Field * osg::FieldContainer::getField const Char8 fieldName  )  [inline, inherited]
 

Definition at line 103 of file OSGFieldContainerImpl.inl.

References osg::FieldContainerType::findFieldDescription(), osg::FieldDescription::getField(), and osg::FieldContainer::getType().

00104 {
00105     const FieldDescription *desc =getType().findFieldDescription(fieldName);
00106 
00107     return desc ? desc->getField(*this) : NULL;
00108 }

template<class ObjectPtrT>
void osg::FieldContainer::newPtr ObjectPtrT &  result,
const typename ObjectPtrT::StoredObjectType *  prototypeP
[inline, static, protected, inherited]
 

Definition at line 138 of file OSGFieldContainerImpl.inl.

References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().

Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), osg::FresnelMaterialBase::createEmpty(), osg::FragmentProgramChunkBase::createEmpty(), osg::FileGrabForegroundBase::createEmpty(), osg::FatBorderChunkBase::createEmpty(), osg::DVRVolumeTextureBase::createEmpty(), osg::DVRVolumeBase::createEmpty(), osg::DVRSimpleShaderBase::createEmpty(), osg::DVRSimpleLUTShaderBase::createEmpty(), osg::DVRMtexLUTShaderBase::createEmpty(), osg::DVRLookupTableBase::createEmpty(), osg::DVRIsoSurfaceBase::createEmpty(), osg::DVRIsoShaderBase::createEmpty(), osg::DVRGeometryBase::createEmpty(), osg::DVRClipObjectsBase::createEmpty(), osg::DVRClipGeometryBase::createEmpty(), osg::DVRAppearanceBase::createEmpty(), osg::DistanceLODBase::createEmpty(), osg::DisplayCalibrationBase::createEmpty(), osg::DirectionalLightBase::createEmpty(), osg::DepthClearBackgroundBase::createEmpty(), osg::DepthChunkBase::createEmpty(), osg::CubeTextureChunkBase::createEmpty(), osg::ComponentTransformBase::createEmpty(), osg::ColorMaskChunkBase::createEmpty(), osg::ColorBufferViewportBase::createEmpty(),