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

osg::DVRVolumeTexture Class Reference

*put brief class description here* More...

#include <OSGDVRVolumeTexture.h>

Inheritance diagram for osg::DVRVolumeTexture:

osg::DVRVolumeTextureBase osg::Attachment osg::FieldContainer List of all members.

Public Types

typedef DVRVolumeTexturePtr Ptr
enum  {
  ImageFieldId = Inherited::NextFieldId, HistogramFieldId = ImageFieldId + 1, MaxValFieldId = HistogramFieldId + 1, SliceThicknessFieldId = MaxValFieldId + 1,
  ResolutionFieldId = SliceThicknessFieldId + 1, FileNameFieldId = ResolutionFieldId + 1, NextFieldId = FileNameFieldId + 1
}

Public Member Functions

Field Set
*void setImage (const ImagePtr &value)
 Set the value of the DVRVolumeTexture::_sfImage field.
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
FieldContainer Get
*virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get
*SFImagePtrgetSFImage (void)
 Get the DVRVolumeTexture::_sfImage field.
MFReal32getMFHistogram (void)
 Get the DVRVolumeTexture::_mfHistogram field.
SFReal32getSFMaxVal (void)
 Get the DVRVolumeTexture::_sfMaxVal field.
SFVec3fgetSFSliceThickness (void)
 Get the DVRVolumeTexture::_sfSliceThickness field.
SFVec3fgetSFResolution (void)
 Get the DVRVolumeTexture::_sfResolution field.
SFStringgetSFFileName (void)
 Get the DVRVolumeTexture::_sfFileName field.
ImagePtrgetImage (void)
 Get the value of the DVRVolumeTexture::_sfImage field.
const ImagePtrgetImage (void) const
 Get the value of the DVRVolumeTexture::_sfImage field.
Real32getMaxVal (void)
 Get the value of the DVRVolumeTexture::_sfMaxVal field.
const Real32getMaxVal (void) const
 Get the value of the DVRVolumeTexture::_sfMaxVal field.
Vec3fgetSliceThickness (void)
 Get the value of the DVRVolumeTexture::_sfSliceThickness field.
const Vec3fgetSliceThickness (void) const
 Get the value of the DVRVolumeTexture::_sfSliceThickness field.
Vec3fgetResolution (void)
 Get the value of the DVRVolumeTexture::_sfResolution field.
const Vec3fgetResolution (void) const
 Get the value of the DVRVolumeTexture::_sfResolution field.
std::string & getFileName (void)
 Get the value of the DVRVolumeTexture::_sfFileName field.
const std::string & getFileName (void) const
 Get the value of the DVRVolumeTexture::_sfFileName field.
Real32getHistogram (const UInt32 index)
 Get the value of the index element the DVRVolumeTexture::_mfHistogram field.
MFReal32getHistogram (void)
 Get the DVRVolumeTexture::_mfHistogram field.
const MFReal32getHistogram (void) const
 Get the DVRVolumeTexture::_mfHistogram field.
Field Set
void setMaxVal (const Real32 &value)
 Set the value of the DVRVolumeTexture::_sfMaxVal field.
void setSliceThickness (const Vec3f &value)
 Set the value of the DVRVolumeTexture::_sfSliceThickness field.
void setResolution (const Vec3f &value)
 Set the value of the DVRVolumeTexture::_sfResolution field.
void setFileName (const std::string &value)
 Set the value of the DVRVolumeTexture::_sfFileName field.
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

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 DVRVolumeTexturePtr create (void)
 create a new instance of the class
static DVRVolumeTexturePtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype

Static Public Attributes

static const osg::BitVector ImageFieldMask
static const osg::BitVector HistogramFieldMask
static const osg::BitVector MaxValFieldMask
static const osg::BitVector SliceThicknessFieldMask
static const osg::BitVector ResolutionFieldMask
static const osg::BitVector FileNameFieldMask
static const osg::BitVector MTInfluenceMask
static const BitVector InternalFieldMask = (1 << Attachment::InternalFieldId)
static const BitVector ParentsFieldMask = (1 << Attachment::ParentsFieldId)
static const BitVector NextFieldMask

Protected Member Functions

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

Protected Attributes

Fields
*SFImagePtr _sfImage
MFReal32 _mfHistogram
SFReal32 _sfMaxVal
SFVec3f _sfSliceThickness
SFVec3f _sfResolution
SFString _sfFileName

Private Types

typedef DVRVolumeTextureBase Inherited

Private Member Functions

void operator= (const DVRVolumeTexture &source)

Static Private Member Functions

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

Friends

class FieldContainer
class DVRVolumeTextureBase

Detailed Description

Attachment for storing and handling Volume-Textures for volume rendering. Here is the place of the voxel values.

Definition at line 54 of file OSGDVRVolumeTexture.h.


Member Typedef Documentation

typedef DVRVolumeTextureBase osg::DVRVolumeTexture::Inherited [private]
 

Reimplemented from osg::DVRVolumeTextureBase.

Definition at line 58 of file OSGDVRVolumeTexture.h.

typedef DVRVolumeTexturePtr osg::DVRVolumeTextureBase::Ptr [inherited]
 

Definition at line 95 of file OSGDVRVolumeTextureBase.h.


Member Enumeration Documentation

anonymous enum [inherited]
 

Enumerator:
ImageFieldId 
HistogramFieldId 
MaxValFieldId 
SliceThicknessFieldId 
ResolutionFieldId 
FileNameFieldId 
NextFieldId 

Reimplemented from osg::Attachment.

Definition at line 97 of file OSGDVRVolumeTextureBase.h.

00098     {
00099         ImageFieldId          = Inherited::NextFieldId,
00100         HistogramFieldId      = ImageFieldId          + 1,
00101         MaxValFieldId         = HistogramFieldId      + 1,
00102         SliceThicknessFieldId = MaxValFieldId         + 1,
00103         ResolutionFieldId     = SliceThicknessFieldId + 1,
00104         FileNameFieldId       = ResolutionFieldId     + 1,
00105         NextFieldId           = FileNameFieldId       + 1
00106     };


Constructor & Destructor Documentation

DVRVolumeTexture::DVRVolumeTexture void   )  [protected]
 

Definition at line 63 of file OSGDVRVolumeTexture.cpp.

00063                                        :
00064     Inherited()
00065 {
00066 }

DVRVolumeTexture::DVRVolumeTexture const DVRVolumeTexture source  )  [protected]
 

Definition at line 70 of file OSGDVRVolumeTexture.cpp.

00070                                                                  :
00071     Inherited(source)
00072 {
00073 }

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

Definition at line 77 of file OSGDVRVolumeTexture.cpp.

References osg::DVRVolumeTextureBase::getImage(), osg::NullFC, and setImage().

00078 {
00079     if (getImage() != NullFC)
00080     {
00081         setImage(NullFC);
00082     }
00083 }


Member Function Documentation

void osg::DVRVolumeTexture::setImage const ImagePtr value  )  [inline]
 

Reimplemented from osg::DVRVolumeTextureBase.

Definition at line 56 of file OSGDVRVolumeTexture.inl.

References osg::DVRVolumeTextureBase::_sfImage, osg::SField< FieldTypeT, fieldNameSpace >::getValue(), and osg::setRefdCP().

Referenced by changed(), and ~DVRVolumeTexture().

00057 {
00058     setRefdCP(_sfImage.getValue(), value);
00059 }   

void DVRVolumeTexture::changed BitVector  whichField,
UInt32  origin
[virtual]
 

! FIXME: ! you can either change the image pointer or the file name

Reimplemented from osg::FieldContainer.

Definition at line 95 of file OSGDVRVolumeTexture.cpp.

References osg::DVRVolumeTextureBase::_mfHistogram, osg::DVRVolumeTextureBase::_sfFileName, osg::DVRVolumeTextureBase::_sfImage, osg::DVRVolumeTextureBase::_sfMaxVal, osg::DVRVolumeTextureBase::_sfResolution, osg::DVRVolumeTextureBase::_sfSliceThickness, osg::ChangedOrigin::Abstract, osg::ChangedOrigin::AbstrIncRefCount, osg::addRefCP(), osg::beginEditCP(), osg::FieldContainer::changed(), osg::ImageBase::create(), osg::FieldContainerPtrBase::dump(), osg::endEditCP(), FDEBUG, osg::DVRVolumeTextureBase::FileNameFieldMask, FINFO, osg::DVRVolumeTextureBase::getImage(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::DVRVolumeTextureBase::ImageFieldMask, osg::NullFC, osg::MField< FieldTypeT, fieldNameSpace >::resize(), setImage(), osg::SField< FieldTypeT, fieldNameSpace >::setValue(), and SWARNING.

00096 {
00097     DVRVolumeTexturePtr thisP(*this);
00098   
00099     FDEBUG(("DVRVolumeTexture::changed - \n"));
00100   
00101     if (whichField & ImageFieldMask) 
00102     {
00103         FINFO(("DVRVolumeTexture::changed - new Image\n"));
00104 
00105         if(origin & ChangedOrigin::Abstract)
00106         {
00107             if(origin & ChangedOrigin::AbstrIncRefCount)
00108             {
00109                 addRefCP(_sfImage.getValue());
00110             }
00111             else
00112             {
00113                 ImagePtr pImage = _sfImage.getValue();
00114                 
00115                 _sfImage.setValue(NullFC);
00116                 
00117                 setImage(pImage);
00118             }
00119         }
00120         
00121         _mfHistogram.resize(256);
00122         
00123         // update histogram
00124         Real32 *hist   = &(_mfHistogram[0]);
00125         UChar8 *img    = getImage()->getData();
00126         Real32  maxVal = 0;
00127         
00128         for(UInt32 i = 0; i < 256; i++)
00129             hist[i] = 0;
00130 
00131         if(img == NULL) 
00132             return;
00133     
00134         FDEBUG(("Image: %d %d %d\n",
00135                 getImage()->getWidth(), 
00136                 getImage()->getHeight(), 
00137                 getImage()->getDepth()));
00138 
00139         // need to fix this for compressed textures!
00140         for(Int32 j = 0;j < getImage()->getSize();j++)
00141         {
00142 //          cerr << j << ": " << (int) img[j] << std::endl ;
00143             hist[img[j]]++;
00144         }
00145         
00146         for(UInt32 k = 0; k < 256; k++)
00147             maxVal = (hist[k] > maxVal) ? hist[k] : maxVal;
00148         
00149         _sfMaxVal.setValue(maxVal);
00150 
00151         // update sliceThickness
00152         const std::string * sTatt = 
00153             getImage()->findAttachmentField("SliceThickness");
00154 
00155         if(sTatt) 
00156         {
00157             Real64 sT[3];
00158 
00159             sscanf(sTatt->c_str(), "%lf %lf %lf", &sT[0], &sT[1], &sT[2]);
00160 
00161             _sfSliceThickness.setValue(
00162                 Vec3f(Real32(sT[0]), 
00163                       Real32(sT[1]), 
00164                       Real32(sT[2])));
00165         } 
00166         else 
00167         {
00168             SWARNING << "DVRVolumeTexture::changed - No SliceThickness found"
00169                      << std::endl;
00170         }
00171         
00172         // update resolution
00173         const std::string * resAtt = 
00174             getImage()->findAttachmentField("Resolution");
00175 
00176         if (resAtt) 
00177         {
00178             Real64 sT[3];
00179 
00180             sscanf(resAtt->c_str(), "%lf %lf %lf", &sT[0], &sT[1], &sT[2]);
00181 
00182             _sfResolution.setValue(
00183                 Vec3f(Real32(sT[0]), 
00184                       Real32(sT[1]), 
00185                       Real32(sT[2])));
00186         } 
00187         else 
00188         {
00189             _sfResolution.setValue(Vec3f(getImage()->getWidth (), 
00190                                          getImage()->getHeight(), 
00191                                          getImage()->getDepth ()));
00192         }
00193 
00196         whichField &= ~FileNameFieldMask;
00197     }
00198     
00199     if (whichField & FileNameFieldMask)
00200     {
00201         FINFO(("DVRVolumeTexture::changed - new fileName\n"));
00202         
00203         ImagePtr datImage = Image::create();
00204     
00205         datImage->read(_sfFileName.getValue().c_str());
00206 
00207         datImage->dump();
00208 
00209         beginEditCP(thisP, ImageFieldMask);
00210         {
00211             setImage(datImage);
00212         }
00213         endEditCP  (thisP, ImageFieldMask);
00214     }
00215 
00216     Inherited::changed(whichField, origin);
00217 }

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

Reimplemented from osg::Attachment.

Definition at line 221 of file OSGDVRVolumeTexture.cpp.

References SLOG.

00223 {
00224     SLOG << "Dump DVRVolumeTexture NI" << std::endl;
00225 }

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

Definition at line 89 of file OSGDVRVolumeTexture.cpp.

00090 {
00091 }

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

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

Reimplemented from osg::Attachment.

Definition at line 58 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_type.

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

00059 {
00060     return _type; 
00061 } 

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

Reimplemented from osg::Attachment.

Definition at line 65 of file OSGDVRVolumeTextureBase.inl.

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

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

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

Reimplemented from osg::Attachment.

Definition at line 161 of file OSGDVRVolumeTextureBase.cpp.

References osg::DVRVolumeTextureBase::_type.

00162 {
00163     return _type; 
00164 } 

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

Reimplemented from osg::Attachment.

Definition at line 166 of file OSGDVRVolumeTextureBase.cpp.

References osg::DVRVolumeTextureBase::_type.

00167 {
00168     return _type;
00169 } 

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

Reimplemented from osg::Attachment.

Definition at line 181 of file OSGDVRVolumeTextureBase.cpp.

00182 { 
00183     return sizeof(DVRVolumeTexture); 
00184 }

SFImagePtr * osg::DVRVolumeTextureBase::getSFImage void   )  [inline, inherited]
 

Definition at line 101 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfImage.

00102 {
00103     return &_sfImage;
00104 }

MFReal32 * osg::DVRVolumeTextureBase::getMFHistogram void   )  [inline, inherited]
 

Definition at line 108 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_mfHistogram.

00109 {
00110     return &_mfHistogram;
00111 }

SFReal32 * osg::DVRVolumeTextureBase::getSFMaxVal void   )  [inline, inherited]
 

Definition at line 115 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfMaxVal.

00116 {
00117     return &_sfMaxVal;
00118 }

SFVec3f * osg::DVRVolumeTextureBase::getSFSliceThickness void   )  [inline, inherited]
 

Definition at line 122 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfSliceThickness.

00123 {
00124     return &_sfSliceThickness;
00125 }

SFVec3f * osg::DVRVolumeTextureBase::getSFResolution void   )  [inline, inherited]
 

Definition at line 129 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfResolution.

00130 {
00131     return &_sfResolution;
00132 }

SFString * osg::DVRVolumeTextureBase::getSFFileName void   )  [inline, inherited]
 

Definition at line 136 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfFileName.

00137 {
00138     return &_sfFileName;
00139 }

ImagePtr & osg::DVRVolumeTextureBase::getImage void   )  [inline, inherited]
 

Definition at line 144 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by changed(), and ~DVRVolumeTexture().

00145 {
00146     return _sfImage.getValue();
00147 }

const ImagePtr & osg::DVRVolumeTextureBase::getImage void   )  const [inline, inherited]
 

Definition at line 151 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00152 {
00153     return _sfImage.getValue();
00154 }

Real32 & osg::DVRVolumeTextureBase::getMaxVal void   )  [inline, inherited]
 

Definition at line 165 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfMaxVal, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00166 {
00167     return _sfMaxVal.getValue();
00168 }

const Real32 & osg::DVRVolumeTextureBase::getMaxVal void   )  const [inline, inherited]
 

Definition at line 172 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfMaxVal, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00173 {
00174     return _sfMaxVal.getValue();
00175 }

Vec3f & osg::DVRVolumeTextureBase::getSliceThickness void   )  [inline, inherited]
 

Definition at line 186 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfSliceThickness, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00187 {
00188     return _sfSliceThickness.getValue();
00189 }

const Vec3f & osg::DVRVolumeTextureBase::getSliceThickness void   )  const [inline, inherited]
 

Definition at line 193 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfSliceThickness, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00194 {
00195     return _sfSliceThickness.getValue();
00196 }

Vec3f & osg::DVRVolumeTextureBase::getResolution void   )  [inline, inherited]
 

Definition at line 207 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfResolution, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00208 {
00209     return _sfResolution.getValue();
00210 }

const Vec3f & osg::DVRVolumeTextureBase::getResolution void   )  const [inline, inherited]
 

Definition at line 214 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfResolution, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00215 {
00216     return _sfResolution.getValue();
00217 }

std::string & osg::DVRVolumeTextureBase::getFileName void   )  [inline, inherited]
 

Definition at line 228 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfFileName, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00229 {
00230     return _sfFileName.getValue();
00231 }

const std::string & osg::DVRVolumeTextureBase::getFileName void   )  const [inline, inherited]
 

Definition at line 235 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfFileName, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00236 {
00237     return _sfFileName.getValue();
00238 }

Real32 & osg::DVRVolumeTextureBase::getHistogram const UInt32  index  )  [inline, inherited]
 

Definition at line 250 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_mfHistogram.

00251 {
00252     return _mfHistogram[index];
00253 }

MFReal32 & osg::DVRVolumeTextureBase::getHistogram void   )  [inline, inherited]
 

Definition at line 257 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_mfHistogram.

00258 {
00259     return _mfHistogram;
00260 }

const MFReal32 & osg::DVRVolumeTextureBase::getHistogram void   )  const [inline, inherited]
 

Definition at line 264 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_mfHistogram.

00265 {
00266     return _mfHistogram;
00267 }

void osg::DVRVolumeTextureBase::setMaxVal const Real32 value  )  [inline, inherited]
 

Definition at line 179 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfMaxVal, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00180 {
00181     _sfMaxVal.setValue(value);
00182 }

void osg::DVRVolumeTextureBase::setSliceThickness const Vec3f value  )  [inline, inherited]
 

Definition at line 200 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfSliceThickness, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00201 {
00202     _sfSliceThickness.setValue(value);
00203 }

void osg::DVRVolumeTextureBase::setResolution const Vec3f value  )  [inline, inherited]
 

Definition at line 221 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfResolution, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00222 {
00223     _sfResolution.setValue(value);
00224 }

void osg::DVRVolumeTextureBase::setFileName const std::string &  value  )  [inline, inherited]
 

Definition at line 242 of file OSGDVRVolumeTextureBase.inl.

References osg::DVRVolumeTextureBase::_sfFileName, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00243 {
00244     _sfFileName.setValue(value);
00245 }

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

Reimplemented from osg::Attachment.

Definition at line 254 of file OSGDVRVolumeTextureBase.cpp.

References osg::DVRVolumeTextureBase::_mfHistogram, osg::DVRVolumeTextureBase::_sfFileName, osg::DVRVolumeTextureBase::_sfImage, osg::DVRVolumeTextureBase::_sfMaxVal, osg::DVRVolumeTextureBase::_sfResolution, osg::DVRVolumeTextureBase::_sfSliceThickness, osg::DVRVolumeTextureBase::FileNameFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::Attachment::getBinSize(), osg::DVRVolumeTextureBase::HistogramFieldMask, osg::DVRVolumeTextureBase::ImageFieldMask, osg::DVRVolumeTextureBase::MaxValFieldMask, osg::FieldBits::NoField, osg::DVRVolumeTextureBase::ResolutionFieldMask, and osg::DVRVolumeTextureBase::SliceThicknessFieldMask.

00255 {
00256     UInt32 returnValue = Inherited::getBinSize(whichField);
00257 
00258     if(FieldBits::NoField != (ImageFieldMask & whichField))
00259     {
00260         returnValue += _sfImage.getBinSize();
00261     }
00262 
00263     if(FieldBits::NoField != (HistogramFieldMask & whichField))
00264     {
00265         returnValue += _mfHistogram.getBinSize();
00266     }
00267 
00268     if(FieldBits::NoField != (MaxValFieldMask & whichField))
00269     {
00270         returnValue += _sfMaxVal.getBinSize();
00271     }
00272 
00273     if(FieldBits::NoField != (SliceThicknessFieldMask & whichField))
00274     {
00275         returnValue += _sfSliceThickness.getBinSize();
00276     }
00277 
00278     if(FieldBits::NoField != (ResolutionFieldMask & whichField))
00279     {
00280         returnValue += _sfResolution.getBinSize();
00281     }
00282 
00283     if(FieldBits::NoField != (FileNameFieldMask & whichField))
00284     {
00285         returnValue += _sfFileName.getBinSize();
00286     }
00287 
00288 
00289     return returnValue;
00290 }

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

Reimplemented from osg::Attachment.

Definition at line 292 of file OSGDVRVolumeTextureBase.cpp.

References osg::DVRVolumeTextureBase::_mfHistogram, osg::DVRVolumeTextureBase::_sfFileName, osg::DVRVolumeTextureBase::_sfImage, osg::DVRVolumeTextureBase::_sfMaxVal, osg::DVRVolumeTextureBase::_sfResolution, osg::DVRVolumeTextureBase::_sfSliceThickness, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(),