14#ifndef OSGVOLUME_LAYER
15#define OSGVOLUME_LAYER 1
68 virtual void setFileName(
const std::string& filename) { _filename = filename; }
71 virtual const std::string&
getFileName()
const {
return _filename; }
160 void setFileName(
const std::string& filename) { _filename = filename;
if (_image.valid()) _image->setFileName(filename); }
161 virtual const std::string&
getFileName()
const {
return _image.get() ? _image->getFileName() : _filename; }
224 void setFileName(
unsigned int i,
const std::string& filename) {
if (i>=_layers.size()) _layers.resize(i+1); _layers[i].filename = filename;
if (_layers[i].layer.valid()) _layers[i].layer->setFileName(filename); }
225 const std::string&
getFileName(
unsigned int i)
const {
return _layers[i].layer.valid() ? _layers[i].layer->getFileName() : _layers[i].filename; }
227 void setLayer(
unsigned int i,
Layer* layer) {
if (i>=_layers.size()) _layers.resize(i+1); _layers[i].layer = layer; }
231 Layer*
getLayer(
unsigned int i) {
return i<_layers.size() ? _layers[i].layer.get() : 0; }
233 const Layer*
getLayer(
unsigned int i)
const {
return i<_layers.size() ? _layers[i].layer.get() : 0; }
239 void removeLayer(
unsigned int i) { _layers.erase(_layers.begin()+i); }
256 filename(cnl.filename),
265 if (&cnl==
this)
return *
this;
Definition osgVolume/Layer:212
void setLayer(unsigned int i, Layer *layer)
Definition osgVolume/Layer:227
void setFileName(unsigned int i, const std::string &filename)
Definition osgVolume/Layer:224
CompositeLayer(const CompositeLayer &compositeLayer, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
std::vector< NameLayer > Layers
Definition osgVolume/Layer:276
virtual ~CompositeLayer()
Definition osgVolume/Layer:249
const std::string & getFileName(unsigned int i) const
Definition osgVolume/Layer:225
void removeLayer(unsigned int i)
Definition osgVolume/Layer:239
bool requiresUpdateTraversal() const
const Layer * getLayer(unsigned int i) const
Definition osgVolume/Layer:233
virtual void update(osg::NodeVisitor &)
void addLayer(const osg::ref_ptr< T > &layer)
Definition osgVolume/Layer:237
META_Object(osgVolume, CompositeLayer)
void addLayer(Layer *layer)
Definition osgVolume/Layer:235
Layer * getLayer(unsigned int i)
Definition osgVolume/Layer:231
unsigned int getNumLayers() const
Definition osgVolume/Layer:241
Layers _layers
Definition osgVolume/Layer:278
void setLayer(unsigned int i, const osg::ref_ptr< T > &layer)
Definition osgVolume/Layer:229
Definition osgVolume/Layer:27
const osg::Vec4 & getTexelScale() const
Definition osgVolume/Layer:41
const osg::Vec4 & getTexelOffset() const
Definition osgVolume/Layer:38
const osg::RefMatrix * getMatrix() const
Definition osgVolume/Layer:45
META_Object(osgVolume, ImageDetails)
void setMatrix(osg::RefMatrix *matrix)
Definition osgVolume/Layer:43
osg::ref_ptr< osg::RefMatrix > _matrix
Definition osgVolume/Layer:51
void setTexelScale(const osg::Vec4 &scale)
Definition osgVolume/Layer:40
osg::Vec4 _texelOffset
Definition osgVolume/Layer:49
osg::Vec4 _texelScale
Definition osgVolume/Layer:50
void setTexelOffset(const osg::Vec4 &offset)
Definition osgVolume/Layer:37
osg::RefMatrix * getMatrix()
Definition osgVolume/Layer:44
ImageDetails(const ImageDetails &, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition osgVolume/Layer:150
const osg::Vec4 & getTexelOffset() const
Definition osgVolume/Layer:175
const osg::Vec4 & getTexelScale() const
Definition osgVolume/Layer:178
virtual void setModifiedCount(unsigned int value)
ImageLayer(osg::Image *image=0)
void rescaleToZeroToOneRange()
ImageLayer(const ImageLayer &imageLayer, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
osg::Vec4 _texelOffset
Definition osgVolume/Layer:205
META_Object(osgVolume, ImageLayer)
void setTexelScale(const osg::Vec4 &scale)
Definition osgVolume/Layer:177
virtual ~ImageLayer()
Definition osgVolume/Layer:203
virtual unsigned int getModifiedCount() const
void setImage(osg::Image *image)
virtual bool requiresUpdateTraversal() const
virtual const osg::Image * getImage() const
Definition osgVolume/Layer:171
void setTexelOffset(const osg::Vec4 &offset)
Definition osgVolume/Layer:174
void setFileName(const std::string &filename)
Definition osgVolume/Layer:160
void setImage(const osg::ref_ptr< T > &image)
Definition osgVolume/Layer:165
virtual void update(osg::NodeVisitor &)
void translateMinToZero()
virtual osg::Image * getImage()
Definition osgVolume/Layer:168
void offsetAndScaleImage(const osg::Vec4 &offset, const osg::Vec4 &scale)
virtual const std::string & getFileName() const
Definition osgVolume/Layer:161
osg::Vec4 _texelScale
Definition osgVolume/Layer:206
bool computeMinMax(osg::Vec4 &min, osg::Vec4 &max)
osg::ref_ptr< osg::Image > _image
Definition osgVolume/Layer:207
Definition osgVolume/Layer:57
void setProperty(Property *property)
Definition osgVolume/Layer:103
osg::Texture::FilterMode _minFilter
Definition osgVolume/Layer:142
virtual void update(osg::NodeVisitor &)
Definition osgVolume/Layer:122
osg::Texture::FilterMode getMagFilter() const
Definition osgVolume/Layer:93
const Property * getProperty() const
Definition osgVolume/Layer:111
osg::Vec4 _defaultValue
Definition osgVolume/Layer:141
virtual void setFileName(const std::string &filename)
Definition osgVolume/Layer:68
const Locator * getLocator() const
Definition osgVolume/Layer:78
virtual bool requiresUpdateTraversal() const
Definition osgVolume/Layer:119
osg::Texture::FilterMode _magFilter
Definition osgVolume/Layer:143
virtual void setModifiedCount(unsigned int)
Definition osgVolume/Layer:128
osg::ref_ptr< Locator > _locator
Definition osgVolume/Layer:140
Property * getProperty()
Definition osgVolume/Layer:108
Layer(const Layer &, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
std::string _filename
Definition osgVolume/Layer:139
virtual osg::BoundingSphere computeBound() const
void setDefaultValue(const osg::Vec4 &value)
Definition osgVolume/Layer:80
void setMinFilter(osg::Texture::FilterMode filter)
Definition osgVolume/Layer:84
virtual const std::string & getFileName() const
Definition osgVolume/Layer:71
Locator * getLocator()
Definition osgVolume/Layer:77
void setMagFilter(osg::Texture::FilterMode filter)
Definition osgVolume/Layer:90
void addProperty(Property *property)
virtual const osg::Image * getImage() const
Definition osgVolume/Layer:99
virtual osg::Image * getImage()
Definition osgVolume/Layer:96
void setLocator(Locator *locator)
Definition osgVolume/Layer:73
const osg::Vec4 & getDefaultValue() const
Definition osgVolume/Layer:81
virtual void dirty()
Definition osgVolume/Layer:125
osg::ref_ptr< Property > _property
Definition osgVolume/Layer:145
virtual unsigned int getModifiedCount() const
Definition osgVolume/Layer:131
void addProperty(const osg::ref_ptr< T > &p)
Definition osgVolume/Layer:116
META_Object(osgVolume, Layer)
void setLocator(const osg::ref_ptr< T > &locator)
Definition osgVolume/Layer:75
osg::Texture::FilterMode getMinFilter() const
Definition osgVolume/Layer:87
void setProperty(const osg::ref_ptr< T > &p)
Definition osgVolume/Layer:105
Definition osgVolume/Locator:30
Definition BoundingSphere:35
@ SHALLOW_COPY
Definition CopyOp:47
Definition NodeVisitor:82
FilterMode
Definition Texture:499
Definition TransferFunction:56
T * get() const
Definition ref_ptr:117
OSGVOLUME_EXPORT osg::Image * createNormalMapTexture(osg::Image *image_3d)
OSGVOLUME_EXPORT osg::Image * applyTransferFunction(osg::Image *image, osg::TransferFunction1D *transferFunction)
#define OSGVOLUME_EXPORT
Definition osgVolume/Export:39
Definition osgVolume/Layer:252
NameLayer(const std::string &fn, Layer *l)
Definition osgVolume/Layer:259
NameLayer(const NameLayer &cnl)
Definition osgVolume/Layer:255
std::string filename
Definition osgVolume/Layer:272
NameLayer()
Definition osgVolume/Layer:253
osg::ref_ptr< Layer > layer
Definition osgVolume/Layer:273