34 #ifndef ANA_VOLUME_VOLUME_H 35 #define ANA_VOLUME_VOLUME_H 67 AVolume(
const std::string & filename =
"" );
75 float MinT()
const {
return 0.0; }
76 float MaxT()
const {
return float(_volume->getSizeT()-1); }
79 std::vector<float> & bmax )
const;
80 virtual bool boundingBox( std::vector<float> & bmin,
81 std::vector<float> & bmax )
const;
94 T & operator () (
size_t x=0,
size_t y=0,
size_t z=0,
size_t t=0 )
95 {
return (*_volume)( x, y , z ,t ); }
96 const T & operator () (
size_t x=0,
size_t y=0,
size_t z=0,
98 {
return (*_volume)( x, y , z ,t ); }
103 unsigned tex = 0 )
const;
104 virtual std::vector<float>
voxelSize()
const;
105 virtual void setVoxelSize(
const std::vector<float> & vs );
116 virtual AObject*
objectAt(
const std::vector<float> & pos,
float tol = 0 );
120 virtual float mixedTexValue(
const std::vector<float> & pos )
const;
121 virtual std::vector<float>
122 texValues(
const std::vector<float> & pos )
const;
128 virtual bool savable()
const {
return(
true ); }
129 virtual bool reload(
const std::string & filename );
130 virtual bool save(
const std::string & filename );
141 const std::vector<float> & time,
146 const std::vector<float> & time )
const;
149 const std::vector<float> & time )
const;
152 const std::vector<float> & time )
const;
ViewState holds information about how a view wants to see an object.
float MaxT() const
Obsolete, deprecated.
Base Anatomist object (abstract)
virtual bool boundingBox(std::vector< float > &bmin, std::vector< float > &bmax) const
Fills bmin and bmax with the N-D bounding box extrema in the object's referential coordinates...
virtual bool save(const std::string &filename)
carto::rc_ptr< carto::Volume< T > > volume()
virtual bool update2DTexture(AImage &, const Point3df &posbase, const SliceViewState &, unsigned tex=0) const
this function must be overloaded to actually fill the slice image
carto::rc_ptr< AimsData< T > > aimsvolume()
virtual void adjustPalette()
Creates or updates object palette according to object values (if needed)
float MinT() const
Obsolete, deprecated.
virtual void setInternalsChanged()
Notifies some underlying lower-level objects have changed.
virtual AObject * objectAt(const std::vector< float > &pos, float tol=0)
Not selectable: always returns Null.
Attributed objects wrapper.
virtual bool loadable() const
AObject-inherited version of Sliceable.
virtual bool hasTexture() const
Textured objects have values associated with a geometric coordinate.
virtual carto::GenericObject * attributed()=0
virtual float mixedTexValue(const std::vector< float > &pos, const Referential *orgRef) const
Gets a "mixed" texture value at a given space / time location.
VolumeBase object : use for generic dynamic_cast of all AVolume<T>, thus the visitor design pattern c...
bool Is2DObject()
Can be display in 2D windows.
virtual void setShaderParameters(const Shader &shader, const ViewState &state) const
bool Is3DObject()
Can be display in 3D windows.
virtual std::vector< float > voxelSize() const
Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1)
virtual bool printTalairachCoord(const Point3df &, const Referential *) const
should be replaced by a real referential
virtual bool savable() const
virtual bool boundingBox2D(std::vector< float > &bmin, std::vector< float > &bmax) const
Bounding box in 2D views mode.
virtual std::vector< float > texValues(const std::vector< float > &pos, const Referential *orgRef) const
Gets the array of texture values at a given location.
virtual AObject * objectAt(const std::vector< float > &pos, float tol=0)
Find the object (sub-object) at given postion with a tolerence.
virtual unsigned dimTexture() const
Number of texture values for a point.
virtual void SetExtrema()
Scans the object internals and determines its (texture) extrema values.
virtual bool isTransparent() const
Referential: marker for transformations, with an associated color.
virtual bool reload(const std::string &filename)
Re-reads objects from disk.
bool textured2D() const
true if 2D rendering uses a textured plane (not a full openGL object)
const carto::rc_ptr< carto::Volume< T > > volume() const
virtual AObject * clone(bool shallow=true)
Makes a copy of the object, with a duplicated object structure, palette and material, but which may share the underlying low-level data object (Aims object).
const carto::rc_ptr< AimsData< T > > aimsvolume() const
Specialization for a sliceable object.
virtual std::string objectFullTypeName(void) const
Get Object Full Type Name.
virtual void setVoxelSize(const std::vector< float > &)