34 #ifndef ANA_VOLUME_VOLUME_H
35 #define ANA_VOLUME_VOLUME_H
67 AVolume(
const std::string & filename =
"" );
73 float MinT()
const {
return 0.0; }
74 float MaxT()
const {
return float(_volume->getSizeT()-1); }
77 std::vector<float> & bmax )
const;
79 std::vector<float> & bmax )
const;
87 T &
operator () (
size_t x=0,
size_t y=0,
size_t z=0,
size_t t=0 )
88 {
return (*_volume)( x, y , z ,t ); }
91 {
return (*_volume)( x, y , z ,t ); }
96 unsigned tex = 0 )
const;
109 virtual AObject*
objectAt(
const std::vector<float> & pos,
float tol = 0 );
114 virtual std::vector<float>
121 virtual bool savable()
const {
return(
true ); }
122 virtual bool reload(
const std::string & filename );
123 virtual bool save(
const std::string & filename );
134 const std::vector<float> & time,
139 const std::vector<float> & time )
const;
142 const std::vector<float> & time )
const;
145 const std::vector<float> & time )
const;
Base Anatomist object (abstract)
VolumeBase object : use for generic dynamic_cast of all AVolume<T>, thus the visitor design pattern c...
virtual void setShaderParameters(const Shader &shader, const ViewState &state) const
virtual float mixedTexValue(const std::vector< float > &pos) const
Same as above except that coordinates are not transformed but taken in object coordinates system.
bool textured2D() const
true if 2D rendering uses a textured plane (not a full openGL object)
bool Is3DObject()
Can be display in 3D windows.
const carto::rc_ptr< carto::Volume< T > > volume() const
virtual unsigned dimTexture() const
Number of texture values for a point.
bool Is2DObject()
Can be display in 2D windows.
void updateSagittal(AImage *ximage, const Point3df &p0, const std::vector< float > &time) const
Optimized texture filling routine (no transformation)
virtual bool isTransparent() const
float GetValue(Point3df pos, float time, Referential *winref, Geometry *wingeom)
Retourne la valeur d'un voxel du volume.
AVolume(carto::rc_ptr< carto::Volume< T > >)
void adjustPalette()
Creates or updates object palette according to object values (if needed)
float MaxT() const
Obsolete, deprecated.
virtual void setInternalsChanged()
Notifies some underlying lower-level objects have changed.
virtual void setVolume(carto::rc_ptr< carto::Volume< T > > vol)
virtual std::vector< float > texValues(const std::vector< float > &pos) const
virtual bool hasTexture() const
Textured objects have values associated with a geometric coordinate.
void updateSlice(AImage &image, const Point3df &p0, const std::vector< float > &time, const Transformation *tra, const Point3df &inc, const Point3df &offset, const Geometry *wingeom) const
Generic texture filling routine for any transformation.
virtual std::string objectFullTypeName(void) const
Get Object Full Type Name.
carto::rc_ptr< carto::Volume< T > > volume()
virtual bool reload(const std::string &filename)
Re-reads objects from disk.
void updateAxial(AImage *ximage, const Point3df &p0, const std::vector< float > &time) const
Optimized texture filling routine (no transformation)
virtual bool printTalairachCoord(const Point3df &pos, const Referential *) const
should be replaced by a real referential
virtual bool boundingBox2D(std::vector< float > &bmin, std::vector< float > &bmax) const
Bounding box in 2D views mode.
float MinT() const
Obsolete, deprecated.
AVolume(const std::string &filename="")
T & operator()(size_t x=0, size_t y=0, size_t z=0, size_t t=0)
virtual carto::GenericObject * attributed()
void SetExtrema()
Scans the object internals and determines its (texture) extrema values.
virtual AObject * objectAt(const std::vector< float > &pos, float tol=0)
Not selectable: always returns Null.
virtual bool savable() const
virtual std::vector< float > voxelSize() const
Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1)
void updateCoronal(AImage *ximage, const Point3df &p0, const std::vector< float > &time) const
Optimized texture filling routine (no transformation)
virtual bool update2DTexture(AImage &, const Point3df &posbase, const SliceViewState &, unsigned tex=0) const
new API
virtual AObject * clone(bool shallow=true)
Makes a copy of the object, with a duplicated object structure, palette and material,...
virtual bool loadable() const
virtual void setVoxelSize(const std::vector< float > &vs)
virtual bool save(const std::string &filename)
virtual const carto::GenericObject * attributed() const
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.
Attributed objects wrapper.
Referential: marker for transformations, with an associated color.
AObject-inherited version of Sliceable.
Specialization for a sliceable object.
ViewState holds information about how a view wants to see an object.