anatomist  5.1.2
3D neuroimaging data viewer
anatomist::ASurfMatcher Class Reference

Fusion object to match 2 surfaces. More...

#include <anatomist/surfmatcher/surfMatcher.h>

Inheritance diagram for anatomist::ASurfMatcher:
Collaboration diagram for anatomist::ASurfMatcher:

Public Member Functions

 ASurfMatcher (AObject *o1, AObject *o2)
 
virtual ~ASurfMatcher ()
 
virtual int MType () const
 Precise type of multi-object. More...
 
virtual bool CanRemove (AObject *obj)
 
virtual TreeoptionTree () const
 Menu tree for new options, see object/optionMatcher.h. More...
 
bool ascending () const
 true if direction is matching ascending (object 1 -> object 2) More...
 
virtual void setAscending (bool asc)
 
virtual void processStep ()
 
bool processFinished () const
 
bool record () const
 
virtual void setRecord (bool r)
 
virtual Tree parameters ()
 
virtual Tree parameters () const
 
virtual void setParameters (const Tree &par)
 
virtual carto::SyntaxSet paramSyntax () const
 
virtual void resetProcess ()
 resets the moving surface and associated cached data More...
 
void setOrgControlPoints (const std::vector< unsigned > &pts)
 sets control points on the source surface (given in vertex indices) More...
 
void setDestControlPoints (const std::vector< Point3df > &pts)
 sets control points on the destination surface (given in 3D coords) More...
 
const std::vector< unsigned > & orgControlPoints () const
 
std::vector< unsigned > & orgControlPoints ()
 
const std::vector< Point3df > & destControlPoints () const
 
std::vector< Point3df > & destControlPoints ()
 
ATriangulatedorgSurface () const
 
ATriangulateddestSurface () const
 
ATriangulatedmovingSurface () const
 
void deleteOrgCtrlPointsSurf ()
 
void deleteDstCtrlPointsSurf ()
 
void moveOrgCtrlPoints (unsigned oldtime, unsigned time)
 
- Public Member Functions inherited from anatomist::ObjectVector
 ObjectVector ()
 
virtual ~ObjectVector ()
 
virtual size_t size () const
 
virtual iterator begin ()
 
virtual const_iterator begin () const
 
virtual iterator end ()
 
virtual const_iterator end () const
 
virtual void insert (AObject *)
 
virtual void insert (AObject *, int pos)
 
virtual void insert (const carto::shared_ptr< AObject > &, int pos=-1)
 
virtual const_iterator find (const AObject *) const
 
virtual const_iterator find (const carto::shared_ptr< AObject > &) const
 
virtual void erase (iterator &)
 
- Public Member Functions inherited from anatomist::MObject
 MObject ()
 
virtual ~MObject ()
 
virtual const MObjectmObjectAPI () const
 
virtual MObjectmObjectAPI ()
 
int isMultiObject () const
 maybe not necessary ?: we can use dynamic_cast instead More...
 
virtual void setReferential (Referential *ref)
 
virtual void setReferentialInheritance (AObject *)
 
void eraseObject (AObject *obj)
 
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 std::vector< float > voxelSize () const
 Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1) 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 AObjectobjectAt (const std::vector< float > &pos, float tol=0)
 Find the object (sub-object) at given postion with a tolerence. More...
 
virtual std::list< AObject * > renderedSubObjects (const ViewState &) const
 lis of objects displayed in render() in a default implementation More...
 
virtual bool render (PrimList &, const ViewState &)
 rendering (generally 2D or 3D using OpenGL). More...
 
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 bool Is2DObject ()
 Can be display in 2D windows. More...
 
virtual bool Is3DObject ()
 Can be display in 3D windows. More...
 
virtual bool isTransparent () const
 
virtual void update (const Observable *observable, void *arg)
 This class is an Observer of each of the AObject it groups. More...
 
virtual void setContentChanged () const
 
bool hasContentChanged () const
 
virtual void clearHasChangedFlags () const
 
virtual void SetMaterial (const Material &mat)
 
virtual void setPalette (const AObjectPalette &pal)
 
virtual bool shouldRemoveChildrenWithMe () const
 tells whether children objects should be removed from views when this MObject is removed from a view. More...
 
virtual std::list< AObject * > generativeChildren () const
 Children objects which have been used to build the current MObject. More...
 
- Public Member Functions inherited from anatomist::AObject
 AObject (const std::string &filename="")
 
virtual ~AObject ()
 AObject subclasses must call cleanup() in their destructor. More...
 
virtual AObjectclone (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 GLComponentglAPI () const
 OpenGL objects const API. More...
 
virtual GLComponentglAPI ()
 OpenGL objects API. More...
 
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 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 AObjectPalettepalette ()
 Normally, getOrCreatePalette() should be used instead of this function in most cases. More...
 
virtual const AObjectPalettepalette () const
 
virtual const AObjectPalettegetOrCreatePalette () 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 MaterialGetMaterial ()
 
virtual const Materialmaterial () const
 
ReferentialgetReferential () const
 
AObjectreferentialInheritance () const
 if not null, the object referential is inherited from this object More...
 
virtual AObjectfallbackReferentialInheritance () const
 object to take referential from when no ref is assigned More...
 
const ReferentialpreviousReferential () const
 Referential that the object was in before the last change. More...
 
virtual ObjectMenuoptionMenu () 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)
 
ParentListParents ()
 List of multi-objects containing this one. Obsolete: use parents() More...
 
ParentListparents ()
 List of multi-objects containing this one. More...
 
const ParentListparents () 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 IsFusion2DAllowed ()
 
virtual bool textured2D () const
 true if 2D rendering uses a textured plane (not a full openGL object) 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...
 
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 AObjectobjectAt (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)
 
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 ()
 
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 int classType ()
 
static void surfMatchControl (const std::set< AObject * > &)
 Opens the surfmatcher control window. More...
 
- Static Public Member Functions inherited from anatomist::AObject
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< ObjectMenugetObjectMenu (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 Public Attributes

static Tree_optionTree
 
- Static Public Attributes inherited from anatomist::ObjectVector
static Tree_optionTree
 

Protected Member Functions

void prepareNeighbourhood (ATriangulated *s, unsigned time)
 
void computeLength (ATriangulated *s, unsigned time)
 
- Protected Member Functions inherited from anatomist::MObject
virtual void _insertObject (AObject *o)
 must be called by all subclasses in their insert() implementation More...
 
virtual void _eraseObject (AObject *o)
 must be called by all subclasses if they reimplement erase() More...
 
virtual void updateSubObjectReferential (const AObject *o)
 
virtual void clearReferentialInheritance ()
 sets the object to get referential from to null, unregister it More...
 
- Protected Member Functions inherited from anatomist::AObject
const PrimListprimitives () const
 
PrimListprimitives ()
 
virtual void cleanup ()
 must be called by objects destructors - Must be explicitly called by each object destructor since it can call virtual functions 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 &)
 
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

bool _ascending
 
bool _processFinished
 
bool _record
 
ASurfMatcher_processData * _mdata
 
ASurfMatcher_ctrlPts * _ctrlPts
 
- Protected Attributes inherited from anatomist::ObjectVector
datatype _data
 
- Protected Attributes inherited from anatomist::MObject
bool _contentHasChanged
 
- Protected Attributes inherited from anatomist::AObject
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...
 

Additional Inherited Members

- Public Types inherited from anatomist::MObject
typedef AIterator iterator
 
typedef AIterator const_iterator
 
- Public Types inherited from anatomist::AObject
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
 
- Protected Types inherited from anatomist::ObjectVector
typedef std::list< carto::shared_ptr< AObject > > datatype
 
- Static Protected Attributes inherited from anatomist::AObject
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...
 

Detailed Description

Fusion object to match 2 surfaces.

Definition at line 56 of file surfMatcher.h.

Constructor & Destructor Documentation

◆ ASurfMatcher()

anatomist::ASurfMatcher::ASurfMatcher ( AObject o1,
AObject o2 
)

◆ ~ASurfMatcher()

virtual anatomist::ASurfMatcher::~ASurfMatcher ( )
virtual

Member Function Documentation

◆ ascending()

bool anatomist::ASurfMatcher::ascending ( ) const
inline

true if direction is matching ascending (object 1 -> object 2)

Definition at line 72 of file surfMatcher.h.

References _ascending.

◆ CanRemove()

virtual bool anatomist::ASurfMatcher::CanRemove ( AObject obj)
virtual

Reimplemented from anatomist::ObjectVector.

◆ classType()

static int anatomist::ASurfMatcher::classType ( )
inlinestatic

Definition at line 67 of file surfMatcher.h.

◆ computeLength()

void anatomist::ASurfMatcher::computeLength ( ATriangulated s,
unsigned  time 
)
protected

◆ deleteDstCtrlPointsSurf()

void anatomist::ASurfMatcher::deleteDstCtrlPointsSurf ( )

◆ deleteOrgCtrlPointsSurf()

void anatomist::ASurfMatcher::deleteOrgCtrlPointsSurf ( )

◆ destControlPoints() [1/2]

std::vector<Point3df>& anatomist::ASurfMatcher::destControlPoints ( )

◆ destControlPoints() [2/2]

const std::vector<Point3df>& anatomist::ASurfMatcher::destControlPoints ( ) const

◆ destSurface()

ATriangulated* anatomist::ASurfMatcher::destSurface ( ) const

◆ moveOrgCtrlPoints()

void anatomist::ASurfMatcher::moveOrgCtrlPoints ( unsigned  oldtime,
unsigned  time 
)

◆ movingSurface()

ATriangulated* anatomist::ASurfMatcher::movingSurface ( ) const

◆ MType()

virtual int anatomist::ASurfMatcher::MType ( ) const
inlinevirtual

Precise type of multi-object.

Reimplemented from anatomist::ObjectVector.

Definition at line 62 of file surfMatcher.h.

References anatomist::AObject::type().

◆ optionTree()

virtual Tree* anatomist::ASurfMatcher::optionTree ( ) const
virtual

Menu tree for new options, see object/optionMatcher.h.

Reimplemented from anatomist::ObjectVector.

◆ orgControlPoints() [1/2]

std::vector<unsigned>& anatomist::ASurfMatcher::orgControlPoints ( )

◆ orgControlPoints() [2/2]

const std::vector<unsigned>& anatomist::ASurfMatcher::orgControlPoints ( ) const

◆ orgSurface()

ATriangulated* anatomist::ASurfMatcher::orgSurface ( ) const

◆ parameters() [1/2]

virtual Tree anatomist::ASurfMatcher::parameters ( )
virtual

◆ parameters() [2/2]

virtual Tree anatomist::ASurfMatcher::parameters ( ) const
virtual

◆ paramSyntax()

virtual carto::SyntaxSet anatomist::ASurfMatcher::paramSyntax ( ) const
virtual

◆ prepareNeighbourhood()

void anatomist::ASurfMatcher::prepareNeighbourhood ( ATriangulated s,
unsigned  time 
)
protected

◆ processFinished()

bool anatomist::ASurfMatcher::processFinished ( ) const
inline

Definition at line 75 of file surfMatcher.h.

References _processFinished.

◆ processStep()

virtual void anatomist::ASurfMatcher::processStep ( )
virtual

◆ record()

bool anatomist::ASurfMatcher::record ( ) const
inline

Definition at line 76 of file surfMatcher.h.

References _record.

◆ resetProcess()

virtual void anatomist::ASurfMatcher::resetProcess ( )
virtual

resets the moving surface and associated cached data

◆ setAscending()

virtual void anatomist::ASurfMatcher::setAscending ( bool  asc)
virtual

◆ setDestControlPoints()

void anatomist::ASurfMatcher::setDestControlPoints ( const std::vector< Point3df > &  pts)

sets control points on the destination surface (given in 3D coords)

◆ setOrgControlPoints()

void anatomist::ASurfMatcher::setOrgControlPoints ( const std::vector< unsigned > &  pts)

sets control points on the source surface (given in vertex indices)

◆ setParameters()

virtual void anatomist::ASurfMatcher::setParameters ( const Tree par)
virtual

◆ setRecord()

virtual void anatomist::ASurfMatcher::setRecord ( bool  r)
inlinevirtual

Definition at line 77 of file surfMatcher.h.

References _record.

◆ surfMatchControl()

static void anatomist::ASurfMatcher::surfMatchControl ( const std::set< AObject * > &  )
static

Opens the surfmatcher control window.

Member Data Documentation

◆ _ascending

bool anatomist::ASurfMatcher::_ascending
protected

Definition at line 105 of file surfMatcher.h.

Referenced by ascending().

◆ _ctrlPts

ASurfMatcher_ctrlPts* anatomist::ASurfMatcher::_ctrlPts
protected

Definition at line 109 of file surfMatcher.h.

◆ _mdata

ASurfMatcher_processData* anatomist::ASurfMatcher::_mdata
protected

Definition at line 108 of file surfMatcher.h.

◆ _optionTree

Tree* anatomist::ASurfMatcher::_optionTree
static

Definition at line 99 of file surfMatcher.h.

◆ _processFinished

bool anatomist::ASurfMatcher::_processFinished
protected

Definition at line 106 of file surfMatcher.h.

Referenced by processFinished().

◆ _record

bool anatomist::ASurfMatcher::_record
protected

Definition at line 107 of file surfMatcher.h.

Referenced by record(), and setRecord().


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