anatomist  5.0.5
3D neuroimaging data viewer
anatomist::AWindow Class Referenceabstract

Abstract base class Anatomist window. More...

#include <anatomist/window/Window.h>

Inheritance diagram for anatomist::AWindow:
Collaboration diagram for anatomist::AWindow:

Public Types

enum  Type { CTRL_WINDOW = 100, WINDOW_2D = 101, WINDOW_3D = 102 }
 
enum  SubType {
  AXIAL_WINDOW = 200, SAGITTAL_WINDOW = 201, CORONAL_WINDOW = 202, OBLIQUE_WINDOW = 203,
  OTHER = 299
}
 
enum  RecordingState { OFF, ON, DISABLED }
 
- Public Types inherited from carto::RCObject
typedef int RefCounterType
 

Public Member Functions

virtual ~AWindow ()
 Unregisters from the application and other objects. More...
 
virtual std::string Title () const
 
virtual void registerObject (AObject *object, bool temporaryObject=false, int position=-1)
 
virtual void unregisterObject (AObject *object)
 
void setId (int id)
 Set the window identifier. More...
 
void SetRefreshFlag ()
 Set the refresh flag on. More...
 
void ResetRefreshFlag ()
 Set the refresh flag off. More...
 
bool lookupChanged () const
 
void setLookupChanged (bool flg=true)
 
int id () const
 Get the window identifier. More...
 
virtual Type type () const =0
 Get the window type (2D, 3D or control) More...
 
virtual SubType subtype () const
 
bool RefreshFlag () const
 Get the refresh flag status. More...
 
std::set< AObject * > Objects () const
 Get the objects. More...
 
bool hasObject (AObject *obj) const
 
virtual Point3df getPosition () const
 Get position of cursor. More...
 
float getTime () const
 Get time position of cursor. More...
 
virtual std::vector< float > getFullPosition () const
 
virtual void setPosition (const Point3df &position, const Referential *refdep)
 Set position of cursor. More...
 
virtual void setPosition (const std::vector< float > &position, const Referential *refdep=0)
 
virtual void setTime (float time)
 Set time position of cursor. More...
 
virtual void setTitle (const std::string &title)
 
ReferentialgetReferential () const
 
virtual void setReferential (Referential *ref)
 
GeometrywindowGeometry () const
 
void setWindowGeometry (Geometry *geom)
 
virtual void updateWindowGeometry ()
 adapts geometry to the current contents and referential More...
 
int Group () const
 
void setGroup (int group)
 
void setHasCursor (int hasCursor)
 
bool hasCursor () const
 takes both the global and own flags into account More...
 
int hasSelfCursor () const
 returns the own flag of the window (see hasGlobalCursor) (tri-state) More...
 
virtual void displayClickPoint ()
 
virtual bool positionFromCursor (int x, int y, Point3df &pos)
 Translates mouse position to Anatomist geometry position. More...
 
virtual AObjectobjectAt (const std::vector< float > &pos)
 
virtual void selectObject (const std::vector< float > &pos, int modifier)
 Selects (highlights) object at a given 4D space position. More...
 
virtual void button3clicked (int x, int y)
 handles button3 click (menu) More...
 
virtual void findObjectsAt (const std::vector< float > &pos, std::set< AObject *> &shown, std::set< AObject *> &hidden)
 finds objects at given position (internal) More...
 
virtual void update (const Observable *observable, void *arg)
 This method is called whenever the observed object is changed. More...
 
virtual void recordImages ()
 
virtual RecordingState recordingState () const
 
virtual void startRecord ()
 
virtual void startRecord (const std::string &filename)
 
virtual void stopRecord ()
 
virtual void createTitle ()
 Creates a new title for the window. More...
 
virtual const std::set< unsigned > & typeCount () const
 
virtual std::set< unsigned > & typeCount ()
 
virtual const std::string & baseTitle () const
 
virtual bool needsRedraw () const
 returns true if a refresh has been triggered and not performed yet (in subclasses: AWindow always returns false) More...
 
bool isTemporary (AObject *o) const
 
const std::set< AObject * > & temporaryObjects () const
 
Usual window operations
void displayTalairach ()
 Affiche les coordonnees de Talairach qui correspondent a la position du curseur lie (window 2D) More...
 
virtual void iconify ()
 
virtual void unIconify ()
 
virtual void show ()
 
virtual void hide ()
 
virtual bool close ()=0
 
virtual void showToolBars (int state=2)
 Shows or hides all tools (menu, toolbars) around the main view area. More...
 
virtual bool toolBarsVisible () const
 
virtual void setFullScreen (int state=2)
 
virtual bool isFullScreen () const
 
virtual void setGeometry (int x, int y, unsigned w, unsigned h)=0
 
virtual void geometry (int *x, int *y, unsigned *w, unsigned *h)=0
 Get position and dimensions of the window. More...
 
virtual void Refresh ()
 
virtual void showReferential ()
 
virtual void setupWindow ()
 Sets correct size and lookup of the window. More...
 
- Public Member Functions inherited from carto::SharedObject
 SharedObject ()
 
 SharedObject (const SharedObject &x)
 
virtual ~SharedObject ()
 
SharedObjectoperator= (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 &)
 
RCObjectoperator= (const RCObject &)
 
virtual ~RCObject ()
 
- Public Member Functions inherited from anatomist::Observer
virtual ~Observer ()
 

Static Public Member Functions

static void setLeftRightDisplay (bool state)
 
static int leftRightDisplay ()
 
static void setLeftRightDisplaySize (int size)
 
static int leftRightDisplaySize ()
 
static void setDisplayedAnnotations (const std::vector< std::string > &annotation_list)
 
static std::vector< std::string > displayedAnnotations ()
 
static void setGlobalHasCursor (bool hasCursor)
 
static int hasGlobalCursor ()
 
static void setCursorSize (int cursorSize)
 
static int cursorSize ()
 
static void setUseDefaultCursorColor (bool state)
 Set the default color cursor flag. More...
 
static int useDefaultCursorColor ()
 Give the default color cursor flag. More...
 
static void setCursorColor (const AimsRGB &cursCol)
 Set the color cursor. More...
 
static AimsRGB cursorColor ()
 Give the color cursor. More...
 
static float selectTolerence ()
 Selection tolerence distance. More...
 
static void setSelectTolerence (float tol)
 Set the selection tolerence distance. More...
 
static void recordCbk (void *clientdata)
 

Protected Member Functions

 AWindow ()
 AWindow constructor registers itself in the application. More...
 
void setWindowTitle ()
 Set the title of the window. More...
 
virtual void unregisterObservable (Observable *obs)
 Called when an observable is destroyed, only called by Observable: don't use this function directly. More...
 
void manageAutoReferential ()
 automatically set the contained objects referential to the window if it has not been set manually, and if all objetcs share the same referential. More...
 
- Protected Member Functions inherited from carto::SharedObject
void disableRefCount ()
 
- Protected Member Functions inherited from carto::WeakObject
 WeakObject ()
 
 WeakObject (const WeakObject &)
 
WeakObjectoperator= (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 _id
 Window identificator. More...
 
bool _refresh
 Should the window be refreshed? More...
 
bool _lookupChanged
 Lookup has changed (title or geometry) More...
 
std::list< carto::shared_ptr< AObject > > _objects
 List of the objects contained in the window. More...
 
std::set< AObject * > _sobjects
 Same but as a set (for fast search) More...
 
std::set< AObject * > _tempObjects
 
std::vector< float > _timepos
 Cursor time + next dimensions. More...
 
Referential_referential
 Referentiel. More...
 
Geometry_geometry
 Geometry. More...
 
std::string _title
 Title of the window. More...
 
int _instNumber
 Number of instance of the window class. More...
 
int _group
 Group number, for linked windows. More...
 
Point3df _position
 Click position. More...
 

Detailed Description

Abstract base class Anatomist window.

Definition at line 57 of file Window.h.

Member Enumeration Documentation

◆ RecordingState

Enumerator
OFF 
ON 
DISABLED 

Definition at line 76 of file Window.h.

◆ SubType

Enumerator
AXIAL_WINDOW 
SAGITTAL_WINDOW 
CORONAL_WINDOW 
OBLIQUE_WINDOW 
OTHER 

Definition at line 67 of file Window.h.

◆ Type

Enumerator
CTRL_WINDOW 
WINDOW_2D 
WINDOW_3D 

Definition at line 60 of file Window.h.

Constructor & Destructor Documentation

◆ ~AWindow()

virtual anatomist::AWindow::~AWindow ( )
virtual

Unregisters from the application and other objects.

◆ AWindow()

anatomist::AWindow::AWindow ( )
protected

AWindow constructor registers itself in the application.

Member Function Documentation

◆ baseTitle()

virtual const std::string& anatomist::AWindow::baseTitle ( ) const
virtual

◆ button3clicked()

virtual void anatomist::AWindow::button3clicked ( int  x,
int  y 
)
virtual

handles button3 click (menu)

◆ close()

virtual bool anatomist::AWindow::close ( )
pure virtual

Implemented in QAWindow.

◆ createTitle()

virtual void anatomist::AWindow::createTitle ( )
inlinevirtual

Creates a new title for the window.

Reimplemented in QAWindow.

Definition at line 232 of file Window.h.

◆ cursorColor()

static AimsRGB anatomist::AWindow::cursorColor ( )
static

Give the color cursor.

◆ cursorSize()

static int anatomist::AWindow::cursorSize ( )
inlinestatic

Definition at line 192 of file Window.h.

◆ displayClickPoint()

virtual void anatomist::AWindow::displayClickPoint ( )
inlinevirtual

Reimplemented in AWindow3D, QObjectBrowser, QAProfileWindow, and QAHistogramWindow.

Definition at line 206 of file Window.h.

◆ displayedAnnotations()

static std::vector<std::string> anatomist::AWindow::displayedAnnotations ( )
inlinestatic

Definition at line 185 of file Window.h.

◆ displayTalairach()

void anatomist::AWindow::displayTalairach ( )

Affiche les coordonnees de Talairach qui correspondent a la position du curseur lie (window 2D)

◆ findObjectsAt()

virtual void anatomist::AWindow::findObjectsAt ( const std::vector< float > &  pos,
std::set< AObject *> &  shown,
std::set< AObject *> &  hidden 
)
virtual

finds objects at given position (internal)

◆ geometry()

virtual void anatomist::AWindow::geometry ( int *  x,
int *  y,
unsigned *  w,
unsigned *  h 
)
pure virtual

Get position and dimensions of the window.

Implemented in QAWindow.

◆ getFullPosition()

virtual std::vector<float> anatomist::AWindow::getFullPosition ( ) const
virtual

◆ getPosition()

virtual Point3df anatomist::AWindow::getPosition ( ) const
virtual

Get position of cursor.

◆ getReferential()

Referential* anatomist::AWindow::getReferential ( ) const
inline

Definition at line 150 of file Window.h.

References ref().

◆ getTime()

float anatomist::AWindow::getTime ( ) const
inline

Get time position of cursor.

Definition at line 353 of file Window.h.

◆ Group()

int anatomist::AWindow::Group ( ) const
inline

Definition at line 156 of file Window.h.

◆ hasCursor()

bool anatomist::AWindow::hasCursor ( ) const

takes both the global and own flags into account

◆ hasGlobalCursor()

static int anatomist::AWindow::hasGlobalCursor ( )
inlinestatic

Definition at line 190 of file Window.h.

◆ hasObject()

bool anatomist::AWindow::hasObject ( AObject obj) const

◆ hasSelfCursor()

int anatomist::AWindow::hasSelfCursor ( ) const

returns the own flag of the window (see hasGlobalCursor) (tri-state)

◆ hide()

virtual void anatomist::AWindow::hide ( )
virtual

Reimplemented in QAWindow.

◆ iconify()

virtual void anatomist::AWindow::iconify ( )
virtual

Reimplemented in QAWindow.

◆ id()

int anatomist::AWindow::id ( ) const
inline

Get the window identifier.

Definition at line 334 of file Window.h.

◆ isFullScreen()

virtual bool anatomist::AWindow::isFullScreen ( ) const
virtual

Reimplemented in QAWindow.

◆ isTemporary()

bool anatomist::AWindow::isTemporary ( AObject o) const

◆ leftRightDisplay()

static int anatomist::AWindow::leftRightDisplay ( )
inlinestatic

Definition at line 168 of file Window.h.

◆ leftRightDisplaySize()

static int anatomist::AWindow::leftRightDisplaySize ( )
inlinestatic

Definition at line 176 of file Window.h.

◆ lookupChanged()

bool anatomist::AWindow::lookupChanged ( ) const
inline

Definition at line 124 of file Window.h.

◆ manageAutoReferential()

void anatomist::AWindow::manageAutoReferential ( )
protected

automatically set the contained objects referential to the window if it has not been set manually, and if all objetcs share the same referential.

◆ needsRedraw()

virtual bool anatomist::AWindow::needsRedraw ( ) const
inlinevirtual

returns true if a refresh has been triggered and not performed yet (in subclasses: AWindow always returns false)

Definition at line 239 of file Window.h.

◆ objectAt()

virtual AObject* anatomist::AWindow::objectAt ( const std::vector< float > &  pos)
virtual

◆ Objects()

std::set< AObject * > anatomist::AWindow::Objects ( ) const
inline

Get the objects.

Definition at line 347 of file Window.h.

◆ positionFromCursor()

bool anatomist::AWindow::positionFromCursor ( int  x,
int  y,
Point3df pos 
)
inlinevirtual

Translates mouse position to Anatomist geometry position.

Returns
false if posision cannot be computed (out of viewport)

Reimplemented in AWindow3D.

Definition at line 371 of file Window.h.

◆ recordCbk()

static void anatomist::AWindow::recordCbk ( void *  clientdata)
static

◆ recordImages()

virtual void anatomist::AWindow::recordImages ( )
virtual

◆ recordingState()

virtual RecordingState anatomist::AWindow::recordingState ( ) const
inlinevirtual

Definition at line 227 of file Window.h.

◆ Refresh()

virtual void anatomist::AWindow::Refresh ( )
virtual

Reimplemented in QAWindow.

◆ RefreshFlag()

bool anatomist::AWindow::RefreshFlag ( ) const
inline

Get the refresh flag status.

Definition at line 341 of file Window.h.

◆ registerObject()

virtual void anatomist::AWindow::registerObject ( AObject object,
bool  temporaryObject = false,
int  position = -1 
)
virtual

◆ ResetRefreshFlag()

void anatomist::AWindow::ResetRefreshFlag ( )
inline

Set the refresh flag off.

Definition at line 328 of file Window.h.

◆ selectObject()

virtual void anatomist::AWindow::selectObject ( const std::vector< float > &  pos,
int  modifier 
)
virtual

Selects (highlights) object at a given 4D space position.

◆ selectTolerence()

static float anatomist::AWindow::selectTolerence ( )
inlinestatic

Selection tolerence distance.

Definition at line 203 of file Window.h.

◆ setCursorColor()

static void anatomist::AWindow::setCursorColor ( const AimsRGB cursCol)
static

Set the color cursor.

◆ setCursorSize()

static void anatomist::AWindow::setCursorSize ( int  cursorSize)
inlinestatic

Definition at line 191 of file Window.h.

◆ setDisplayedAnnotations()

static void anatomist::AWindow::setDisplayedAnnotations ( const std::vector< std::string > &  annotation_list)
inlinestatic

Definition at line 180 of file Window.h.

◆ setFullScreen()

virtual void anatomist::AWindow::setFullScreen ( int  state = 2)
virtual

Reimplemented in QAWindow.

◆ setGeometry()

virtual void anatomist::AWindow::setGeometry ( int  x,
int  y,
unsigned  w,
unsigned  h 
)
pure virtual

Implemented in QAWindow.

◆ setGlobalHasCursor()

static void anatomist::AWindow::setGlobalHasCursor ( bool  hasCursor)
inlinestatic

Definition at line 189 of file Window.h.

◆ setGroup()

void anatomist::AWindow::setGroup ( int  group)
inline

Definition at line 157 of file Window.h.

◆ setHasCursor()

void anatomist::AWindow::setHasCursor ( int  hasCursor)

◆ setId()

void anatomist::AWindow::setId ( int  id)
inline

Set the window identifier.

Definition at line 316 of file Window.h.

◆ setLeftRightDisplay()

static void anatomist::AWindow::setLeftRightDisplay ( bool  state)
inlinestatic

Definition at line 164 of file Window.h.

◆ setLeftRightDisplaySize()

static void anatomist::AWindow::setLeftRightDisplaySize ( int  size)
inlinestatic

Definition at line 172 of file Window.h.

◆ setLookupChanged()

void anatomist::AWindow::setLookupChanged ( bool  flg = true)
inline

Definition at line 125 of file Window.h.

◆ setPosition() [1/2]

virtual void anatomist::AWindow::setPosition ( const Point3df position,
const Referential refdep 
)
virtual

Set position of cursor.

Reimplemented in AWindow3D.

◆ setPosition() [2/2]

virtual void anatomist::AWindow::setPosition ( const std::vector< float > &  position,
const Referential refdep = 0 
)
virtual

Reimplemented in AWindow3D.

◆ setReferential()

virtual void anatomist::AWindow::setReferential ( Referential ref)
virtual

Reimplemented in AWindow3D.

◆ SetRefreshFlag()

void anatomist::AWindow::SetRefreshFlag ( )
inline

Set the refresh flag on.

Definition at line 322 of file Window.h.

◆ setSelectTolerence()

static void anatomist::AWindow::setSelectTolerence ( float  tol)
inlinestatic

Set the selection tolerence distance.

Definition at line 205 of file Window.h.

◆ setTime()

virtual void anatomist::AWindow::setTime ( float  time)
virtual

Set time position of cursor.

◆ setTitle()

virtual void anatomist::AWindow::setTitle ( const std::string &  title)
virtual

Reimplemented in QAWindow.

◆ setupWindow()

virtual void anatomist::AWindow::setupWindow ( )
inlinevirtual

Sets correct size and lookup of the window.

Definition at line 108 of file Window.h.

◆ setUseDefaultCursorColor()

static void anatomist::AWindow::setUseDefaultCursorColor ( bool  state)
inlinestatic

Set the default color cursor flag.

Definition at line 194 of file Window.h.

◆ setWindowGeometry()

void anatomist::AWindow::setWindowGeometry ( Geometry geom)

◆ setWindowTitle()

void anatomist::AWindow::setWindowTitle ( )
protected

Set the title of the window.

◆ show()

virtual void anatomist::AWindow::show ( )
virtual

Reimplemented in QAWindow.

◆ showReferential()

virtual void anatomist::AWindow::showReferential ( )
virtual

Reimplemented in AWindow3D.

◆ showToolBars()

virtual void anatomist::AWindow::showToolBars ( int  state = 2)
virtual

Shows or hides all tools (menu, toolbars) around the main view area.

0: hide, 1: show, 2: toggle

Reimplemented in AWindow3D, and QAWindow.

◆ startRecord() [1/2]

virtual void anatomist::AWindow::startRecord ( )
virtual

◆ startRecord() [2/2]

void anatomist::AWindow::startRecord ( const std::string &  filename)
inlinevirtual

Definition at line 377 of file Window.h.

References DECLARE_GENERIC_OBJECT_TYPE.

◆ stopRecord()

virtual void anatomist::AWindow::stopRecord ( )
inlinevirtual

Definition at line 230 of file Window.h.

◆ subtype()

virtual SubType anatomist::AWindow::subtype ( ) const
inlinevirtual

Reimplemented in AWindow3D.

Definition at line 131 of file Window.h.

◆ temporaryObjects()

const std::set<AObject *>& anatomist::AWindow::temporaryObjects ( ) const
inline

Definition at line 241 of file Window.h.

◆ Title()

std::string anatomist::AWindow::Title ( ) const
inlinevirtual

Definition at line 359 of file Window.h.

◆ toolBarsVisible()

virtual bool anatomist::AWindow::toolBarsVisible ( ) const
virtual

◆ type()

virtual Type anatomist::AWindow::type ( ) const
pure virtual

Get the window type (2D, 3D or control)

Implemented in AWindow3D, QObjectBrowser, QAProfileWindow, and QAHistogramWindow.

◆ typeCount() [1/2]

virtual const std::set<unsigned>& anatomist::AWindow::typeCount ( ) const
virtual

◆ typeCount() [2/2]

virtual std::set<unsigned>& anatomist::AWindow::typeCount ( )
virtual

◆ unIconify()

virtual void anatomist::AWindow::unIconify ( )
virtual

Reimplemented in QAWindow.

◆ unregisterObject()

virtual void anatomist::AWindow::unregisterObject ( AObject object)
virtual

◆ unregisterObservable()

virtual void anatomist::AWindow::unregisterObservable ( Observable )
protectedvirtual

Called when an observable is destroyed, only called by Observable: don't use this function directly.

Reimplemented from anatomist::Observer.

◆ update()

virtual void anatomist::AWindow::update ( const Observable observable,
void *  arg 
)
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.

Parameters
observablethe observable object

Implements anatomist::Observer.

Reimplemented in QObjectBrowser.

◆ updateWindowGeometry()

virtual void anatomist::AWindow::updateWindowGeometry ( )
inlinevirtual

adapts geometry to the current contents and referential

Reimplemented in AWindow3D.

Definition at line 155 of file Window.h.

◆ useDefaultCursorColor()

static int anatomist::AWindow::useDefaultCursorColor ( )
inlinestatic

Give the default color cursor flag.

Definition at line 197 of file Window.h.

◆ windowGeometry()

Geometry* anatomist::AWindow::windowGeometry ( ) const
inline

Definition at line 152 of file Window.h.

Member Data Documentation

◆ _geometry

Geometry* anatomist::AWindow::_geometry
protected

Geometry.

Definition at line 273 of file Window.h.

◆ _group

int anatomist::AWindow::_group
protected

Group number, for linked windows.

Definition at line 282 of file Window.h.

◆ _id

int anatomist::AWindow::_id
protected

Window identificator.

Definition at line 258 of file Window.h.

◆ _instNumber

int anatomist::AWindow::_instNumber
protected

Number of instance of the window class.

\ This counter is used by child non-virtual classes to count instances of each specific class.

Definition at line 280 of file Window.h.

◆ _lookupChanged

bool anatomist::AWindow::_lookupChanged
protected

Lookup has changed (title or geometry)

Definition at line 262 of file Window.h.

◆ _objects

std::list<carto::shared_ptr<AObject> > anatomist::AWindow::_objects
protected

List of the objects contained in the window.

Definition at line 264 of file Window.h.

◆ _position

Point3df anatomist::AWindow::_position
protected

Click position.

Definition at line 284 of file Window.h.

◆ _referential

Referential* anatomist::AWindow::_referential
protected

Referentiel.

Definition at line 271 of file Window.h.

◆ _refresh

bool anatomist::AWindow::_refresh
protected

Should the window be refreshed?

Definition at line 260 of file Window.h.

◆ _sobjects

std::set<AObject *> anatomist::AWindow::_sobjects
protected

Same but as a set (for fast search)

Definition at line 266 of file Window.h.

◆ _tempObjects

std::set<AObject *> anatomist::AWindow::_tempObjects
protected

Definition at line 267 of file Window.h.

◆ _timepos

std::vector<float> anatomist::AWindow::_timepos
protected

Cursor time + next dimensions.

Definition at line 269 of file Window.h.

◆ _title

std::string anatomist::AWindow::_title
protected

Title of the window.

Definition at line 275 of file Window.h.


The documentation for this class was generated from the following file: