![]() |
anatomist
5.1.2
3D neuroimaging data viewer
|
VolumeBase object : use for generic dynamic_cast of all AVolume<T>, thus the visitor design pattern can be used. More...
#include <anatomist/volume/Volume.h>
Public Member Functions | |
AVolumeBase () | |
virtual | ~AVolumeBase () |
virtual void | setShaderParameters (const Shader &shader, const ViewState &state) const |
![]() | |
SliceableObject () | |
virtual | ~SliceableObject () |
virtual const GLComponent * | glAPI () const |
OpenGL objects const API. More... | |
virtual GLComponent * | glAPI () |
OpenGL objects API. More... | |
virtual const Sliceable * | sliceableAPI () const |
virtual Sliceable * | sliceableAPI () |
virtual std::vector< float > | glVoxelSize () const |
virtual std::vector< float > | glMin2D () const |
virtual std::vector< float > | glMax2D () const |
virtual void | glSetChanged (glPart, bool=true) const |
virtual void | glSetTexImageChanged (bool x=true, unsigned tex=0) const |
virtual void | glSetTexEnvChanged (bool x=true, unsigned tex=0) const |
virtual const Material * | glMaterial () const |
virtual const AObjectPalette * | glPalette (unsigned tex=0) const |
const Referential * | getReferential () const |
![]() | |
AObject (const std::string &filename="") | |
virtual | ~AObject () |
AObject subclasses must call cleanup() in their destructor. More... | |
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). More... | |
virtual const MObject * | mObjectAPI () const |
virtual MObject * | mObjectAPI () |
int | type () const |
Object type identifier. More... | |
void | setType (int type) |
Method to set type id, because type() is not virtual. More... | |
int | id () const |
Unique ID assigned upon construction, but somewhat unused now... More... | |
std::string | name () const |
Name shown in control window. More... | |
std::string | fileName () const |
File name (if any) for loaded objects. More... | |
void | setName (const std::string &n) |
void | setFileName (const std::string &filename) |
void | setId (int id) |
virtual int | isMultiObject () const |
maybe not necessary ?: we can use dynamic_cast instead More... | |
virtual float | MinT () const |
Obsolete, deprecated. More... | |
virtual float | MaxT () const |
Obsolete, deprecated. More... | |
virtual bool | boundingBox2D (std::vector< float > &bmin, std::vector< float > &bmax) const |
Bounding box in 2D views mode. More... | |
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. More... | |
virtual bool | render (PrimList &, const ViewState &) |
rendering (generally 2D or 3D using OpenGL). More... | |
virtual std::vector< float > | voxelSize () const |
Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1) More... | |
virtual void | setVoxelSize (const std::vector< float > &) |
virtual void | internalUpdate () |
Updates the state of the object. More... | |
virtual void | adjustPalette () |
Creates or updates object palette according to object values (if needed) More... | |
virtual AObjectPalette * | palette () |
Normally, getOrCreatePalette() should be used instead of this function in most cases. More... | |
virtual const AObjectPalette * | palette () const |
virtual void | setPalette (const AObjectPalette &palette) |
virtual const AObjectPalette * | getOrCreatePalette () const |
User normally calls this function. More... | |
virtual void | createDefaultPalette (const std::string &name="") |
function called by getOrCreatePalette() - overloadable, need not be called directly More... | |
virtual void | SetMaterial (const Material &mat) |
virtual Material & | GetMaterial () |
virtual const Material & | material () const |
Referential * | getReferential () const |
AObject * | referentialInheritance () const |
if not null, the object referential is inherited from this object More... | |
virtual void | setReferentialInheritance (AObject *ao) |
virtual void | setReferential (Referential *ref) |
virtual AObject * | fallbackReferentialInheritance () const |
object to take referential from when no ref is assigned More... | |
const Referential * | previousReferential () const |
Referential that the object was in before the last change. More... | |
virtual Tree * | optionTree () const |
Menu tree for new options, see object/optionMatcher.h. More... | |
virtual ObjectMenu * | optionMenu () const |
int | InMemory () const |
For objects loading only when needed (not used yet...) More... | |
int | Visible () const |
Visibility in control window. More... | |
void | SetVisibility (int v) |
ParentList & | Parents () |
List of multi-objects containing this one. Obsolete: use parents() More... | |
ParentList & | parents () |
List of multi-objects containing this one. More... | |
const ParentList & | parents () const |
List of multi-objects containing this one. More... | |
virtual void | RegisterParent (MObject *pob) |
virtual void | UnregisterParent (MObject *pob) |
const std::set< AWindow * > & | WinList () |
List of windows showing this object. More... | |
virtual void | registerWindow (AWindow *window) |
virtual void | unregisterWindow (AWindow *window) |
virtual bool | Is2DObject ()=0 |
virtual bool | Is3DObject ()=0 |
virtual bool | IsFusion2DAllowed () |
virtual bool | textured2D () const |
true if 2D rendering uses a textured plane (not a full openGL object) More... | |
virtual bool | isTransparent () const |
virtual bool | renderingIsObserverDependent () const |
true only if the rendering (openGL) of the object changes with the observer position/orientation of the view (which is rare, but typically needed for Volume Rendering) More... | |
virtual int | CanBeDestroyed () |
Allows / unallows destruction of object. More... | |
virtual void | setReferenceChanged () |
bool | hasReferenceChanged () const |
virtual void | setInternalsChanged () |
Notifies some underlying lower-level objects have changed. More... | |
virtual void | clearHasChangedFlags () const |
Reset has-changed flags. More... | |
bool | userModified () const |
if the object has been modified by user interaction, and needs saving More... | |
void | setUserModified (bool state=true) |
if the object has been modified by user interaction, and needs saving More... | |
virtual AObject * | objectAt (const std::vector< float > &pos, float tol=0) |
Find the object (sub-object) at given postion with a tolerence. More... | |
virtual AObject * | objectAt (const std::vector< float > &pos, float tol, const Referential *orgref, const Point3df &orggeom) |
Same with origin window referential. More... | |
virtual void | setGeomExtrema () |
Scans the object internals and determines its geometry extrema. More... | |
virtual void | SetExtrema () |
Scans the object internals and determines its (texture) extrema values. More... | |
virtual bool | hasTexture () const |
Textured objects have values associated with a geometric coordinate. More... | |
virtual unsigned | dimTexture () const |
Number of texture values for a point. More... | |
virtual float | mixedTexValue (const std::vector< float > &pos, const Referential *orgRef) const |
Gets a "mixed" texture value at a given space / time location. More... | |
virtual float | mixedTexValue (const std::vector< float > &pos) const |
Same as above except that coordinates are not transformed but taken in object coordinates system. More... | |
virtual std::vector< float > | texValues (const std::vector< float > &pos, const Referential *orgRef) const |
Gets the array of texture values at a given location. More... | |
virtual std::vector< float > | texValues (const std::vector< float > &pos) const |
virtual bool | loadable () const |
virtual bool | savable () const |
virtual bool | reload (const std::string &filename) |
Re-reads objects from disk. More... | |
virtual std::string | objectFullTypeName (void) const |
Get Object Full Type Name. More... | |
bool | save (const std::string &filename, bool onlyIfModified) |
virtual bool | save (const std::string &filename) |
virtual bool | printTalairachCoord (const Point3df &, const Referential *) const |
should be replaced by a real referential More... | |
void | setHeaderOptions () |
Set some object properties according to the header (.minf), such as material, palette etc. More... | |
virtual void | setProperties (carto::Object options) |
Same as setHeaderOptions() and used by it, allows passing a dictionary. More... | |
virtual void | storeHeaderOptions () |
Store some object properties into the header (.minf), such as material, palette etc before saving the object. More... | |
virtual carto::Object | makeHeaderOptions () const |
get object properties into a generic object, such as material, palette etc before saving the object More... | |
long | loadDate () const |
Time the object was created, loaded or reloaded. More... | |
void | setLoadDate (long t) |
virtual void | update (const Observable *observable, void *arg) |
This method is called whenever the observed object is changed. More... | |
bool | isCopy () const |
void | setCopyFlag (bool x=true) |
virtual std::string | toolTip () const |
tooltip displayed in 3D views (HTML). More... | |
carto::Object | aimsMeshFromGLComponent () |
![]() | |
Observable () | |
Construct an Observable with zero observers. More... | |
virtual | ~Observable () |
does nothing More... | |
void | addObserver (Observer *observer) |
Adds an observer to the set of observers for this object. More... | |
void | deleteObserver (Observer *observer) |
Deletes an observer from the set of observers of this object. More... | |
void | deleteObservers () |
Clears the observer list so that this object no longer has any observers (doesn't call any observer method - see notifyUnregisterObservers() for this ) More... | |
int | countObservers () const |
Returns the number of observers of this object. More... | |
virtual void | notifyObservers (void *arg=0) |
If this object has changed, as indicated by the hasChanged method, then notify all of its observers. More... | |
virtual void | notifyUnregisterObservers () |
Notifies observable destruction to all observers and unregisters them. More... | |
bool | hasChanged () const |
Tests if this object has changed. More... | |
bool | obsHasChanged (int) const |
only valid during an Observer::update() More... | |
bool | obsHasChanged (const std::string &) const |
only valid during an Observer::update() More... | |
void | setChanged () const |
Indicates that this object has changed. More... | |
![]() | |
SharedObject () | |
SharedObject (const SharedObject &x) | |
virtual | ~SharedObject () |
SharedObject & | operator= (const SharedObject &) |
bool | testDeletable () |
bool | tryDelete () |
![]() | |
void | attachWeakPtr (weak_ptr< T > &) const |
void | detachWeakPtr (weak_ptr< T > &) const |
void | attachWeakPtr (weak_shared_ptr< T > &) const |
void | detachWeakPtr (weak_shared_ptr< T > &) const |
virtual | ~WeakObject () |
![]() | |
RCObject () | |
RCObject (const RCObject &) | |
RCObject & | operator= (const RCObject &) |
virtual | ~RCObject () |
![]() | |
virtual | ~Observer () |
![]() | |
Sliceable () | |
virtual | ~Sliceable () |
virtual unsigned | glNumVertex (const ViewState &) const |
virtual const GLfloat * | glVertexArray (const ViewState &) const |
virtual const GLfloat * | glNormalArray (const ViewState &state) const |
normals array (optional), default=0 (no normals, flat shaded faces) More... | |
virtual unsigned | glPolygonSize (const ViewState &) const |
number of vertices per polygon (default = 3: triangles) More... | |
virtual unsigned | glNumPolygon (const ViewState &) const |
virtual const GLuint * | glPolygonArray (const ViewState &) const |
virtual unsigned | glDimTex (const ViewState &, unsigned tex=0) const |
texture dimension (1, 2 [or 3]) More... | |
virtual unsigned | glTexCoordSize (const ViewState &, unsigned tex=0) const |
texture array size (must be >= numVertex to work), defalut=0 More... | |
virtual const GLfloat * | glTexCoordArray (const ViewState &, unsigned tex=0) const |
virtual carto::VolumeRef< AimsRGBA > | glBuildTexImage (const ViewState &state, unsigned tex, int dimx=-1, int dimy=-1, bool useTexScale=true) const |
If you make non-standard textures (ie not from a palette), overload this function. More... | |
virtual bool | glMakeTexImage (const ViewState &state, const GLTexture &gltex, unsigned tex) const |
If you make non-standard textures (ie not from a palette), overload this function to fill gltex . More... | |
virtual bool | update2DTexture (AImage &, const Point3df &posbase, const SliceViewState &, unsigned tex=0) const |
this function must be overloaded to actually fill the slice image More... | |
virtual carto::VolumeRef< AimsRGBA > | rgbaVolume (const SliceViewState *=0, int tex=0) const |
fills a resampled RGBA volume More... | |
virtual void | rgbaVolume (carto::Volume< AimsRGBA > &, const SliceViewState *=0, int tex=0) const |
same as the other rgbaVolume() but fills an already allocated volume More... | |
virtual bool | glAllowedTexRGBInterpolation (unsigned tex=0) const |
virtual std::string | viewStateID (glPart part, const ViewState &) const |
Makes a unique ID from a viewstate. More... | |
![]() | |
GLComponent () | |
virtual | ~GLComponent () |
void | clearLists () |
virtual void | glClearHasChangedFlags () const |
virtual bool | glHasChanged (glPart) const |
void | setShader (const Shader &shader) |
void | removeShader () |
void | setupShader () |
create, setup, or remove the shader More... | |
const Shader * | getShader () const |
Shader * | getShader () |
virtual unsigned long | glMaxNumDisplayedPolygons () const |
Limit to the number of displayed polygons (default: 0, unlimited or ) global default value) More... | |
virtual void | glSetMaxNumDisplayedPolygons (unsigned long n) |
virtual unsigned | glNumTextures () const |
virtual unsigned | glNumTextures (const ViewState &) const |
virtual glTextureMode | glTexMode (unsigned tex=0) const |
virtual void | glSetTexMode (glTextureMode mode, unsigned tex=0) |
virtual float | glTexRate (unsigned tex=0) const |
virtual void | glSetTexRate (float rate, unsigned tex=0) |
virtual glTextureFiltering | glTexFiltering (unsigned tex=0) const |
virtual void | glSetTexFiltering (glTextureFiltering x, unsigned tex=0) |
virtual glAutoTexturingMode | glAutoTexMode (unsigned tex=0) const |
virtual void | glSetAutoTexMode (glAutoTexturingMode mode, unsigned tex=0) |
virtual const float * | glAutoTexParams (unsigned coord=0, unsigned tex=0) const |
virtual void | glSetAutoTexParams (const float *params, unsigned coord=0, unsigned tex=0) |
virtual bool | glTexImageChanged (unsigned tex=0) const |
virtual bool | glTexEnvChanged (unsigned tex=0) const |
virtual GLint | glGLTexMode (unsigned tex=0) const |
virtual GLint | glGLTexFiltering (unsigned tex=0) const |
virtual void | glSetTexRGBInterpolation (bool x, unsigned tex=0) |
virtual bool | glTexRGBInterpolation (unsigned tex=0) const |
virtual const TexExtrema & | glTexExtrema (unsigned tex=0) const |
virtual TexExtrema & | glTexExtrema (unsigned tex=0) |
virtual GLPrimitives | glMainGLL (const ViewState &) |
virtual void | glGarbageCollector (int nkept=-1) |
Frees unused display lists. More... | |
unsigned | glStateMemory () const |
Number of unused display lists in different states kept in memory (default: 4) More... | |
virtual void | glSetStateMemory (unsigned n) |
virtual bool | glMakeBodyGLL (const ViewState &state, const GLList &gllist) const |
If you want to make a non-standard GL display list for the body geometry, overload this function to fill gllist . More... | |
virtual void | glBeforeBodyGLL (const ViewState &state, GLPrimitives &pl) const |
GL list to execute before the body is rendered. More... | |
virtual void | glAfterBodyGLL (const ViewState &state, GLPrimitives &pl) const |
GL list to execute after the body is rendered. More... | |
virtual bool | glMakeTexEnvGLL (const ViewState &state, const GLList &gllist, unsigned tex) const |
virtual GLPrimitives | glBodyGLL (const ViewState &state) const |
virtual GLPrimitives | glMaterialGLL (const ViewState &state) const |
virtual GLPrimitives | glTexNameGLL (const ViewState &, unsigned tex=0) const |
virtual GLPrimitives | glTexEnvGLL (const ViewState &, unsigned tex=0) const |
virtual void | glSetMainGLL (const std::string &state, GLPrimitives x) |
virtual void | glSetBodyGLL (const std::string &state, RefGLItem x) |
virtual void | glSetMaterialGLL (const std::string &state, RefGLItem x) |
virtual void | glSetTexNameGLL (const std::string &state, RefGLItem x, unsigned tex=0) |
virtual std::set< glTextureMode > | glAllowedTexModes (unsigned tex=0) const |
List of actually allowed texturing modes for this particular object. More... | |
virtual std::set< glTextureFiltering > | glAllowedTexFilterings (unsigned tex=0) const |
virtual std::set< glAutoTexturingMode > | glAllowedAutoTexModes (unsigned tex=0) const |
virtual bool | glAllowedTexRate (unsigned tex=0) const |
virtual carto::Object | debugInfo () const |
int | glObjectID () const |
virtual TexInfo & | glTexInfo (unsigned tex=0) const |
![]() | |
PythonAObject () | |
virtual | ~PythonAObject () |
virtual carto::GenericObject * | attributed ()=0 |
virtual const carto::GenericObject * | attributed () const |
Additional Inherited Members | |
![]() | |
enum | ObjectType { VOLUME , BUCKET , FACET , TRIANG , LIST , VECTOR , MAP , SET , GRAPH , GRAPHOBJECT , VOLSURF , MULTISURF , MULTIBUCKET , MULTIVOLUME , FUSION2D , FUSION3D , FASCICLE , FASCICLEGRAPH , TEXTURE , TEXSURFACE , FUSION2DMESH , VECTORFIELD , OTHER } |
Base object type identifiers. More... | |
typedef std::set< MObject * > | ParentList |
Storage type for parent objects (multi-objects containing this one) More... | |
typedef ObjectMenu *(* | ObjectMenuRegistrerFunction) (const AObject *objtype, ObjectMenu *menu) |
dynamic menu registration function More... | |
![]() | |
typedef int | RefCounterType |
![]() | |
enum | glTextureMode { glGEOMETRIC , glLINEAR , glREPLACE , glDECAL , glBLEND , glADD , glCOMBINE , glLINEAR_A_IF_A , glLINEAR_ON_DEFINED , glLINEAR_A_IF_B = glLINEAR_ON_DEFINED , glLINEAR_A_IF_NOT_A , glLINEAR_A_IF_NOT_B , glLINEAR_B_IF_A , glLINEAR_B_IF_B , glLINEAR_B_IF_NOT_A , glLINEAR_B_IF_NOT_B , glLINEAR_A_IF_A_ALPHA , glLINEAR_A_IF_NOT_B_ALPHA , glLINEAR_B_IF_B_ALPHA , glLINEAR_B_IF_NOT_A_ALPHA , glMAX_CHANNEL , glMIN_CHANNEL , glMAX_ALPHA , glMIN_ALPHA , glGEOMETRIC_SQRT , glGEOMETRIC_LIGHTEN } |
enum | glTextureFiltering { glFILT_NEAREST , glFILT_LINEAR } |
enum | glPart { glGENERAL , glBODY , glMATERIAL , glGEOMETRY , glPALETTE , glREFERENTIAL , glTEXIMAGE , glTEXENV , glNOPART , glTEXIMAGE_NUM , glTEXENV_NUM } |
GL object parts, each driving a GL list. More... | |
enum | glAutoTexturingMode { glTEX_MANUAL , glTEX_OBJECT_LINEAR , glTEX_EYE_LINEAR , glTEX_SPHERE_MAP , glTEX_REFLECTION_MAP , glTEX_NORMAL_MAP } |
typedef ViewState::glSelectRenderMode | glSelectRenderMode |
![]() | |
static std::list< AObject * > | load (const std::string &filename) |
Static object loader: creates an objects, loads its contents. More... | |
static bool | reload (AObject *object, bool onlyoutdated=false) |
Reads from disk again. More... | |
static int | registerObjectType (const std::string &id) |
Creates a new object type number and returns it. More... | |
static std::string | objectTypeName (int type) |
static void | setObjectMenu (std::string type, carto::rc_ptr< ObjectMenu > om) |
static carto::rc_ptr< ObjectMenu > | getObjectMenu (std::string type) |
static std::map< std::string, carto::rc_ptr< ObjectMenu > > & | getObjectMenuMap () |
static void | addObjectMenuRegistration (ObjectMenuRegistrerFunction) |
static void | addObjectMenuRegistration (ObjectMenuRegistrerClass *) |
static void | cleanStatic () |
cleanup static global variables (called when quitting anatomist) More... | |
![]() | |
static unsigned long | glGlobalMaxNumDisplayedPolygons () |
static void | glSetGlobalMaxNumDisplayedPolygons (unsigned long n) |
static GLPrimitives | glHandleTransformation (const ViewState &vs, const Referential *myref) |
helper function used in AObject::render() More... | |
static GLPrimitives | glPopTransformation (const ViewState &vs, const Referential *myref) |
called after glHandleTransformation() and glMainGLL() to pop the transformation matrix More... | |
![]() | |
const PrimList & | primitives () const |
PrimList & | primitives () |
virtual void | cleanup () |
must be called by objects destructors - Must be explicitly called by each object destructor since it can call virtual functions More... | |
virtual void | clearReferentialInheritance () |
sets the object to get referential from to null, unregister it More... | |
AObject *& | _referentialInheritance () |
provide access to derived classes More... | |
virtual void | unregisterObservable (Observable *) |
Called when an observable is destroyed, only called by Observable: don't use this function directly. More... | |
AObject (const AObject &) | |
copy constructor, protected and used only to reimplement clone() More... | |
![]() | |
void | clearChanged () const |
Indicates that this object has no longer changed, or that it has already notified all of its observers of its most recent change. More... | |
void | obsSetChanged (int, bool=true) const |
int-based change flags (use enums to address them) More... | |
void | obsSetChanged (const std::string &, bool=true) const |
string-based change flags More... | |
![]() | |
void | disableRefCount () |
![]() | |
WeakObject () | |
WeakObject (const WeakObject &) | |
WeakObject & | operator= (const WeakObject &) |
![]() | |
virtual void | cleanupObserver () |
call this function from inherited classes destructors. More... | |
virtual void | registerObservable (Observable *) |
only called by Observable: don't use this function directly More... | |
const std::set< Observable * > & | observed () const |
![]() | |
void | glAddTextures (unsigned ntex=1) |
![]() | |
int | _type |
Should be static in each object class. More... | |
int | _id |
std::string | _name |
std::string | _filename |
std::set< AWindow * > | _winList |
int | _inMemory |
int | _visible |
ParentList | _parents |
Material | _material |
Should be a pointer: some objects don't have a material (2D objects) More... | |
Referential * | _referential |
Referentiel. More... | |
bool | _referenceHasChanged |
Reference has-changed flag. More... | |
AObjectPalette * | _palette |
Palette. More... | |
![]() | |
static std::map< std::string, int > | _objectTypes |
name-to-type map More... | |
static std::map< int, std::string > | _objectTypeNames |
type-to-name map More... | |
static std::map< std::string, carto::rc_ptr< ObjectMenu > > | _objectmenu_map |
Object Menu Map. More... | |
VolumeBase object : use for generic dynamic_cast of all AVolume<T>, thus the visitor design pattern can be used.
anatomist::AVolumeBase::AVolumeBase | ( | ) |
|
virtual |
|
virtual |
Reimplemented from anatomist::GLComponent.