anatomist
5.1.2
3D neuroimaging data viewer
|
Base Anatomist object (abstract) More...
#include <anatomist/object/Object.h>
Public Types | |
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... | |
Public Types inherited from carto::RCObject | |
typedef int | RefCounterType |
Public Member Functions | |
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 GLComponent * | glAPI () const |
OpenGL objects const API. More... | |
virtual GLComponent * | glAPI () |
OpenGL objects API. 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 | 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 () |
Public Member Functions inherited from anatomist::Observable | |
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... | |
Public Member Functions inherited from carto::SharedObject | |
SharedObject () | |
SharedObject (const SharedObject &x) | |
virtual | ~SharedObject () |
SharedObject & | operator= (const SharedObject &) |
bool | testDeletable () |
bool | tryDelete () |
Public Member Functions inherited from carto::WeakObject | |
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 () |
Public Member Functions inherited from carto::RCObject | |
RCObject () | |
RCObject (const RCObject &) | |
RCObject & | operator= (const RCObject &) |
virtual | ~RCObject () |
Public Member Functions inherited from anatomist::Observer | |
virtual | ~Observer () |
Static Public Member Functions | |
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... | |
Protected Member Functions | |
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... | |
Protected Member Functions inherited from anatomist::Observable | |
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... | |
Protected Member Functions inherited from carto::SharedObject | |
void | disableRefCount () |
Protected Member Functions inherited from carto::WeakObject | |
WeakObject () | |
WeakObject (const WeakObject &) | |
WeakObject & | operator= (const WeakObject &) |
Protected Member Functions inherited from anatomist::Observer | |
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 |
Protected Attributes | |
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 Protected Attributes | |
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... | |
Friends | |
class | StaticInitializers |
typedef ObjectMenu*(* anatomist::AObject::ObjectMenuRegistrerFunction) (const AObject *objtype, ObjectMenu *menu) |
typedef std::set<MObject*> anatomist::AObject::ParentList |
Base object type identifiers.
Some of these base types are still unused now. New objects (unknown to the base Anatomist library) use dynamic identifiers that they must register by calling registerObjectType() once (and only once)
anatomist::AObject::AObject | ( | const std::string & | filename = "" | ) |
|
virtual |
|
protected |
copy constructor, protected and used only to reimplement clone()
|
protected |
provide access to derived classes
|
static |
|
static |
|
inlinevirtual |
Creates or updates object palette according to object values (if needed)
Reimplemented in anatomist::AVolumeView< T >, and anatomist::AVolume< T >.
carto::Object anatomist::AObject::aimsMeshFromGLComponent | ( | ) |
|
virtual |
Fills bmin and bmax with the N-D bounding box extrema in the object's referential coordinates.
Changed in Anatomist 4.6. The older API was using Point3df instead of vector and informed only the spatial dimensions.
An object with no spatial information (a texture for instance) may still have time information. For this reason, the resulting bounding box should always have 4 components (at least), then 4th and additional ones should be valid, even if the function returns false (no spatial bounding box).
Reimplemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::ATexture, anatomist::ATexSurface, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::PlanarFusion3D, anatomist::CutMesh, anatomist::AConnectivityMatrix, anatomist::MObject, anatomist::Fusion3D, anatomist::AGraph, and anatomist::Bucket.
|
virtual |
Bounding box in 2D views mode.
In mm, may be the same as boundingBox() if the object field of view is the same in 3D and 2D modes. It normally includes voxels size (for a volume, bmin will be -vs/2 where vs is the voxel size, for the 3 first coordinates).
The default implementation just calls boundingBox().
Reimplemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::Fusion2DMesh, anatomist::MObject, anatomist::AGraph, and anatomist::Bucket.
|
virtual |
Allows / unallows destruction of object.
(cannot be destroyed if part of some other kind of multi-object)
|
static |
cleanup static global variables (called when quitting anatomist)
|
protectedvirtual |
must be called by objects destructors - Must be explicitly called by each object destructor since it can call virtual functions
|
virtual |
Reset has-changed flags.
Must be called after a call to notifyObservers function to reset changes. This system is somewhat insuficient in fact: some observers don't need to update just now, and won't see the change later...
Reimplemented in anatomist::CutMesh, and anatomist::MObject.
|
protectedvirtual |
sets the object to get referential from to null, unregister it
Reimplemented in anatomist::MObject.
|
virtual |
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).
This is especially useful to show the same object with several palettes. This virtual method returns null by default if it is not overloaded.
Reimplemented in anatomist::AVolume< T >, anatomist::ATexture, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::ASparseMatrix, and anatomist::AGraph.
|
virtual |
function called by getOrCreatePalette() - overloadable, need not be called directly
Reimplemented in anatomist::VectorField, anatomist::ATexture, anatomist::VolRenderShader, anatomist::VolRender, and anatomist::AGraph.
|
inlinevirtual |
Number of texture values for a point.
Reimplemented in anatomist::AVolume< T >, anatomist::ATexture, and anatomist::Fusion2D.
|
virtual |
object to take referential from when no ref is assigned
Reimplemented in anatomist::TesselatedMesh, anatomist::PlanarFusion3D, anatomist::CutMesh, and anatomist::Fusion2D.
|
inline |
|
inlinevirtual |
|
inlinestatic |
|
inlinestatic |
|
virtual |
User normally calls this function.
Referential* anatomist::AObject::getReferential | ( | ) | const |
|
inlinevirtual |
OpenGL objects API.
Reimplemented in anatomist::VectorField, anatomist::TransformedObject, anatomist::AMTexture, anatomist::AGLObject, anatomist::Fusion2DMesh, anatomist::VolRenderShader, anatomist::VolRender, anatomist::SliceableObject, anatomist::GLMObject, anatomist::Fusion2D, and anatomist::AGraph.
|
inlinevirtual |
OpenGL objects const API.
Reimplemented in anatomist::VectorField, anatomist::TransformedObject, anatomist::AMTexture, anatomist::AGLObject, anatomist::Fusion2DMesh, anatomist::VolRenderShader, anatomist::VolRender, anatomist::SliceableObject, anatomist::GLMObject, anatomist::Fusion2D, and anatomist::AGraph.
Definition at line 150 of file Object.h.
Referenced by anatomist::TransformedObject::glAPI().
bool anatomist::AObject::hasReferenceChanged | ( | ) | const |
|
inlinevirtual |
Textured objects have values associated with a geometric coordinate.
Reimplemented in anatomist::AVolume< T >, anatomist::Fusion3D, and anatomist::Fusion2D.
|
inline |
|
inline |
|
virtual |
Updates the state of the object.
(when a part has changed and other parts depend on this change). Does nothing by default
Reimplemented in anatomist::Hierarchy, and anatomist::AGraphObject.
|
pure virtual |
Implemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::Slice, anatomist::VectorField, anatomist::ATexture, anatomist::ATexSurface, anatomist::TesselatedMesh, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::PlanarFusion3D, anatomist::AMTexture, anatomist::Fusion2DMesh, anatomist::CutMesh, anatomist::ASparseMatrix, anatomist::VolRenderShader, anatomist::VolRender, anatomist::ClippedObject, anatomist::MObject, anatomist::Fusion3D, anatomist::Fusion2D, anatomist::AInterpoler, anatomist::Hierarchy, anatomist::AGraph, and anatomist::Bucket.
|
pure virtual |
Implemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::Slice, anatomist::VectorField, anatomist::ATexture, anatomist::ATexSurface, anatomist::TesselatedMesh, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::PlanarFusion3D, anatomist::AMTexture, anatomist::CutMesh, anatomist::ASparseMatrix, anatomist::VolRenderShader, anatomist::VolRender, anatomist::ClippedObject, anatomist::MObject, anatomist::Fusion3D, anatomist::Fusion2D, anatomist::AInterpoler, anatomist::Hierarchy, anatomist::AGraph, and anatomist::Bucket.
bool anatomist::AObject::isCopy | ( | ) | const |
|
inlinevirtual |
maybe not necessary ?: we can use dynamic_cast instead
Reimplemented in anatomist::MObject.
|
virtual |
|
static |
Static object loader: creates an objects, loads its contents.
|
inlinevirtual |
long anatomist::AObject::loadDate | ( | ) | const |
Time the object was created, loaded or reloaded.
|
virtual |
get object properties into a generic object, such as material, palette etc before saving the object
Reimplemented in anatomist::Slice, anatomist::CutMesh, and anatomist::ClippedObject.
|
inlinevirtual |
Reimplemented in anatomist::TesselatedMesh, anatomist::VolRenderShader, anatomist::VolRender, anatomist::GLMObject, and anatomist::AGraphObject.
|
virtual |
Obsolete, deprecated.
Reimplemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::MObject, and anatomist::Bucket.
|
virtual |
Obsolete, deprecated.
Reimplemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::MObject, and anatomist::Bucket.
|
inlinevirtual |
Same as above except that coordinates are not transformed but taken in object coordinates system.
Reimplemented in anatomist::AVolume< T >, and anatomist::Fusion2D.
|
virtual |
Gets a "mixed" texture value at a given space / time location.
The value is mixed, for multi-dimensional textures, according to an internal method (each object can use its own). Space coordinates are transformed from the incoming referential to the object's one.
Note: in Anatomist 4.4 and earlier, this method was taking an additional argument, org_voxel_size. This was kind of pointless since it more or less supposed that coordinates were passed in voxels rather in mm, which is wrong. In Anatomist 4.5 coords are officially always in mm.
Reimplemented in anatomist::Fusion2D.
|
inlinevirtual |
Reimplemented in anatomist::MObject.
|
inlinevirtual |
Reimplemented in anatomist::MObject.
|
inline |
Name shown in control window.
Definition at line 165 of file Object.h.
Referenced by anatomist::MObject::eraseObject().
|
virtual |
Same with origin window referential.
|
virtual |
Find the object (sub-object) at given postion with a tolerence.
Reimplemented in anatomist::AVolume< T >, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::MObject, anatomist::AGraph, anatomist::Bucket, and anatomist::ATexture.
|
inlinevirtual |
Get Object Full Type Name.
It should be objectTypeName(_type) for most anatomist objects and completed with <T> for templated anatomist objects. For instance : AVolume<AimsRGBA>::objectFullTypeName() return : VOLUME<AimsRGBA>
Reimplemented in anatomist::AVolume< T >.
|
static |
|
virtual |
Reimplemented in anatomist::VectorField, anatomist::ATexture, and anatomist::ANormalsMesh.
|
virtual |
Menu tree for new options, see object/optionMatcher.h.
Reimplemented in anatomist::Slice, anatomist::ASurfMatcher, anatomist::VectorField, anatomist::ATexSurface, anatomist::TesselatedMesh, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::ANormalsMesh, anatomist::PlanarFusion3D, anatomist::AMTexture, anatomist::CutMesh, anatomist::VolRenderShader, anatomist::VolRender, anatomist::ClippedObject, anatomist::ObjectVector, anatomist::ObjectList, anatomist::Fusion3D, anatomist::Fusion2D, anatomist::AInterpoler, anatomist::Hierarchy, and anatomist::Bucket.
Referenced by anatomist::ASurface< D >::optionTree().
|
inlinevirtual |
Normally, getOrCreatePalette() should be used instead of this function in most cases.
Reimplemented in anatomist::Slice, anatomist::VectorField, anatomist::VolRenderShader, anatomist::VolRender, anatomist::ClippedObject, anatomist::GLMObject, and anatomist::AGraphObject.
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
const Referential* anatomist::AObject::previousReferential | ( | ) | const |
Referential that the object was in before the last change.
This function is only here to overcome a problem in the observer pattern, it is only used by observers that must react to a referential change
|
protected |
|
protected |
|
inlinevirtual |
should be replaced by a real referential
Reimplemented in anatomist::AVolume< T >.
AObject* anatomist::AObject::referentialInheritance | ( | ) | const |
if not null, the object referential is inherited from this object
|
static |
Creates a new object type number and returns it.
|
inlinevirtual |
|
virtual |
|
static |
Reads from disk again.
|
virtual |
Re-reads objects from disk.
Only called if loadable() is true
and fileName() is not empty. A new filename can be passed to the reload function, so that files uncompressed by the ObjectReader in temporary locations can be processed. Overload this function in inherited classes to implement it.
If onlyoutdated
is true, reloading will only be done if the files containing the object have been modified since the object has been created/loaded/saved
Reimplemented in anatomist::AVolume< T >, anatomist::ATexture, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, anatomist::ASparseMatrix, and anatomist::Bucket.
rendering (generally 2D or 3D using OpenGL).
Calls GLComponent API ig glAPI() is not null, otherwise nothing is done and this method should be overloaded.
Reimplemented in anatomist::AVolumeView< T >, anatomist::ANormalsMesh, anatomist::GLMObject, anatomist::Slice, anatomist::VectorField, anatomist::TransformedObject, anatomist::TesselatedMesh, anatomist::Fusion2DMesh, anatomist::CutMesh, anatomist::AConnectivityMatrix, anatomist::VolRenderShader, anatomist::VolRender, anatomist::ClippedObject, anatomist::MObject, anatomist::Fusion3D, anatomist::Fusion2D, anatomist::AGraph, anatomist::ASurface< D >, anatomist::ASurface< 2 >, and anatomist::ASurface< 3 >.
Referenced by anatomist::ASurface< 2 >::glPolygonArray().
|
virtual |
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)
Reimplemented in anatomist::TransformedObject, anatomist::VolRenderShader, anatomist::VolRender, and anatomist::MObject.
|
inlinevirtual |
|
virtual |
bool anatomist::AObject::save | ( | const std::string & | filename, |
bool | onlyIfModified | ||
) |
void anatomist::AObject::setCopyFlag | ( | bool | x = true | ) |
|
inlinevirtual |
Scans the object internals and determines its (texture) extrema values.
Reimplemented in anatomist::AVolumeView< T >, and anatomist::AVolume< T >.
void anatomist::AObject::setFileName | ( | const std::string & | filename | ) |
Referenced by anatomist::ASurface< D >::clone().
|
inlinevirtual |
Scans the object internals and determines its geometry extrema.
Reimplemented in anatomist::AGraph, and anatomist::Bucket.
void anatomist::AObject::setHeaderOptions | ( | ) |
Set some object properties according to the header (.minf), such as material, palette etc.
void anatomist::AObject::setId | ( | int | id | ) |
|
virtual |
Notifies some underlying lower-level objects have changed.
Useful especially after an underlying AIMS object has been modified
Reimplemented in anatomist::AVolume< T >, anatomist::ATexture, anatomist::ASurface< D >, anatomist::ASurface< 2 >, anatomist::ASurface< 3 >, and anatomist::Bucket.
void anatomist::AObject::setLoadDate | ( | long | t | ) |
|
virtual |
void anatomist::AObject::setName | ( | const std::string & | n | ) |
|
inlinestatic |
|
virtual |
|
virtual |
Same as setHeaderOptions() and used by it, allows passing a dictionary.
Reimplemented in anatomist::Slice, anatomist::CutMesh, anatomist::ClippedObject, and anatomist::AGraph.
|
virtual |
|
virtual |
Reimplemented in anatomist::MObject.
|
virtual |
Reimplemented in anatomist::MObject.
|
inline |
void anatomist::AObject::setUserModified | ( | bool | state = true | ) |
if the object has been modified by user interaction, and needs saving
|
inlinevirtual |
Reimplemented in anatomist::AVolume< T >, anatomist::AGraph, anatomist::Bucket, anatomist::VectorField, and anatomist::Fusion2DMesh.
|
virtual |
Store some object properties into the header (.minf), such as material, palette etc before saving the object.
basically calls makeHeaderOptions() and stored them in the object header.
|
inlinevirtual |
true if 2D rendering uses a textured plane (not a full openGL object)
Reimplemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, and anatomist::Fusion2D.
|
inlinevirtual |
Reimplemented in anatomist::AVolume< T >, and anatomist::Fusion2D.
|
virtual |
Gets the array of texture values at a given location.
Note: in Anatomist 4.4 and earlier, this method was taking an additional argument, org_voxel_size. This was kind of pointless since it more or less supposed that coordinates were passed in voxels rather in mm, which is wrong. In Anatomist 4.5 coords are officially always in mm.
Reimplemented in anatomist::Fusion2D.
|
virtual |
tooltip displayed in 3D views (HTML).
The default impementation returns an empty string, and the default tooltip will be displayed (see QAViewToolTip)
|
inline |
Object type identifier.
Should be virtual, each object shouldn't hold its own type
Definition at line 158 of file Object.h.
Referenced by anatomist::ClippedObject::MType(), anatomist::AConnectivityMatrix::MType(), anatomist::CutMesh::MType(), anatomist::AMTexture::MType(), anatomist::PlanarFusion3D::MType(), anatomist::TesselatedMesh::MType(), anatomist::ASurfMatcher::MType(), anatomist::Slice::MType(), anatomist::AVolumeView< T >::MType(), and anatomist::AGraphObject::setShowType().
|
protectedvirtual |
Called when an observable is destroyed, only called by Observable: don't use this function directly.
Reimplemented from anatomist::Observer.
Reimplemented in anatomist::Fusion2D.
|
inlinevirtual |
|
virtual |
|
virtual |
This method is called whenever the observed object is changed.
The programmer calls an observable object's notifyObservers method to have all the object's observers notified of the change.
observable | the observable object |
Implements anatomist::Observer.
Reimplemented in anatomist::AVolumeView< T >, anatomist::Slice, anatomist::ATexture, anatomist::ATexSurface, anatomist::TesselatedMesh, anatomist::ANormalsMesh, anatomist::PlanarFusion3D, anatomist::CutMesh, anatomist::AConnectivityMatrix, anatomist::VolRenderShader, anatomist::VolRender, anatomist::ClippedObject, anatomist::MObject, anatomist::Fusion3D, anatomist::Fusion2D, anatomist::AInterpoler, anatomist::VectorField, anatomist::AMTexture, anatomist::Fusion2DMesh, and anatomist::GLMObject.
bool anatomist::AObject::userModified | ( | ) | const |
if the object has been modified by user interaction, and needs saving
|
inline |
|
virtual |
Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1)
Reimplemented in anatomist::AVolumeView< T >, anatomist::AVolume< T >, anatomist::VectorField, anatomist::Fusion2DMesh, anatomist::VolRender, anatomist::MObject, anatomist::Fusion2D, anatomist::AGraph, and anatomist::Bucket.
|
inline |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |