GOFIGURE2  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
LineageContainer Class Reference

Wraps a boost multi index container of LineageStructure. This class intends to synchronize Lineage representation in the Visualization and in the TableWidget. More...

#include <Code/GUI/lib/VisualizationTraceContainers/LineageContainer.h>

Inheritance diagram for LineageContainer:
Inheritance graph
[legend]
Collaboration diagram for LineageContainer:
Collaboration graph
[legend]

Public Types

typedef
Superclass::MultiIndexContainerElementType 
LineageType
 
typedef
MultiIndexContainerType::index
< TrackRootID >
::type::iterator 
MultiIndexContainerTrackRootIDIterator
 
typedef
Superclass::MultiIndexContainerType 
MultiIndexContainerType
 
typedef TraceContainerBase
< boost::MultiIndexLineageContainer
Superclass
 
- Public Types inherited from TraceContainerBase< boost::MultiIndexLineageContainer >
typedef
MultiIndexContainerType::template
index< CollectionID >
::type::iterator 
MultiIndexContainerCollectionIDIterator
 
typedef
MultiIndexContainerType::value_type 
MultiIndexContainerElementType
 
typedef
MultiIndexContainerType::template
index< Highlighted >
::type::iterator 
MultiIndexContainerHighlightedIterator
 
typedef
MultiIndexContainerType::template
index< TraceID >
::type::iterator 
MultiIndexContainerTraceIDIterator
 
typedef
boost::MultiIndexLineageContainer 
MultiIndexContainerType
 
typedef
MultiIndexContainerType::template
index< Visible >
::type::iterator 
MultiIndexContainerVisibleIterator
 

Public Slots

void ShowActorsWithGivenTimePoint (const unsigned int &iT)
 
void UpdateElementHighlighting (unsigned int iTraceID)
 Update highlighting property of one element given one actor. More...
 
virtual void UpdateElementHighlightingWithGivenTraceIDs (const QStringList &iList, const Qt::CheckState &iCheck)
 Change elements highlighting property given a list of TraceIDs and the new status. More...
 
virtual void UpdateElementVisibilityWithGivenTraceIDs (const QStringList &iList, const Qt::CheckState &iCheck)
 Change elements visibility property given a list of TraceIDs and the new status. More...
 

Signals

void DeleteLineage (unsigned int)
 
void ExportLineages ()
 
void HighlightLineage (const unsigned int &, const bool &)
 
void ShowCurrentLineage (std::list< unsigned int > &, const unsigned int &)
 
void ShowLineage (const unsigned int &, const bool &)
 
void TracePicked (unsigned int, Qt::CheckState)
 When one track has been picked (highlighted) from the visualization. More...
 
void TraceVisibilityChanged (unsigned int, Qt::CheckState)
 

Public Member Functions

std::list< unsigned int > DeleteAllHighlightedElements ()
 Delete all highlighted elements. More...
 
bool DeleteElement (const unsigned int &iId)
 
bool DeleteElement (MultiIndexContainerTraceIDIterator iIter)
 
double * GetLineageColor (const unsigned int &iTraceID)
 
bool GetLineageHighlighted (const unsigned int &iTraceID)
 
unsigned int GetLineageTrackRootID (const unsigned int &iTraceID)
 
bool GetLineageVisibile (const unsigned int &iTraceID)
 
std::list< unsigned int > GetListOfLineageIDs ()
 
std::list< unsigned int > GetListOfTrackRootIDs ()
 
unsigned int GetTraceIDFromTrackRootID (const unsigned int &iTraceID)
 
void InsertNewLineage (const unsigned int &iLineageID, double irgba[4], const unsigned int &iTrackIDRoot, const bool &IsVisible=false)
 insert a new element in the container with all the info needed More...
 
 LineageContainer (QObject *iParent, QGoImageView3D *iView)
 Constructor. More...
 
void SetTraceVisibility (const unsigned int &iTraceID, const bool &iVisibility)
 
virtual ~LineageContainer ()
 Destructor. More...
 
- Public Member Functions inherited from TraceContainerBase< boost::MultiIndexLineageContainer >
std::vector< vtkActor * > GetActorGivenTraceID (unsigned int iTraceID)
 
unsigned int GetCollectionIDOfGivenTraceID (unsigned int iTraceID)
 Get the CollectionID given a TraceID. More...
 
double * GetCurrentElementColor ()
 Get the color of the current element track. More...
 
vtkPolyData * GetCurrentElementNodes ()
 Get the polydata representing the current element track. More...
 
std::list< vtkPolyData * > GetHighlightedElements ()
 Get all highlighted elements by pair<ID, Polydata>. More...
 
std::list< unsigned int > GetHighlightedElementsCollectionID ()
 
std::list< unsigned int > GetHighlightedElementsTraceID ()
 Get the list of highlighted elements TraceID. More...
 
vtkProperty * GetHighlightedProperty ()
 Get property for highlighted traces. More...
 
void Insert (const MultiIndexContainerElementType &iE)
 Insert one element in the container. More...
 
void InsertCurrentElement ()
 Insert Current Element in the container. More...
 
void Print (TIterator iBegin, TIterator iEnd)
 Print the container content in the application output. More...
 
void Print ()
 Print the container content in the application output according to the template parameter. More...
 
void Print ()
 Print the container content in the application output. More...
 
bool RemoveElementFromVisualizationWithGivenTraceID (const unsigned int &iId)
 Remove element from visualization. More...
 
void ResetCurrentElement ()
 Reset Current Element to a default state. More...
 
void SetColorCode (const std::string &iColumnName, const std::map< unsigned int, std::string > &iValues)
 Color code contour / mesh according to values provided. More...
 
void SetColorCode (const std::string &iColumnName, const std::map< unsigned int, TValue > &iValues)
 Color code contour / mesh according to values provided. More...
 
void SetHighlightedProperty (vtkProperty *iProperty)
 Set property whenever the trace is highlighted. More...
 
void SetIntersectionLineWidth (const float &iWidth)
 
void SetLookupTableForColorCoding (vtkLookupTable *iLut)
 Apply the given lookup table to all traces in the container. More...
 
void SetRandomColor (const std::string &iColumnName, const std::map< unsigned int, unsigned int > &iIds)
 
void SetRandomColor (const std::string &iColumnName, const std::map< unsigned int, std::string > &iValues)
 
 TraceContainerBase (QObject *iParent, QGoImageView3D *iView)
 Constructor. More...
 
std::list< unsigned int > UpdateAllHighlightedElementsWithGivenColor (QColor iColor)
 Update all highlighted elements in the container with a given color. More...
 
void UpdateCurrentElementCollection (unsigned int iCollectionID)
 
void UpdateCurrentElementFromDB (unsigned int iTraceID, double irgba[4], bool IsVisible=false)
 Update Current Element from te database. More...
 
bool UpdateCurrentElementFromExistingOne (unsigned int iTraceID, bool iErase=true)
 put the information of the existing element into m_CurrentElement and remove the existing element from the container,the visu and the memory More...
 
bool UpdateCurrentElementFromExistingOne (typename MultiIndexContainerType::template index< TIndex >::type::iterator iIt)
 
bool UpdateElementHighlightingWithGivenTraceID (const unsigned int &iId)
 Update element highlighting given it TraceId. More...
 
bool UpdateElementVisibilityWithGivenTraceID (const unsigned int &iId)
 Update element visibility given it TraceId. More...
 
void UpdateVisualizationForGivenElement (typename MultiIndexContainerType::template index< TIndex >::type::iterator &iIt, std::vector< vtkActor * > iActors, const bool &iHighlighted, const bool &iVisible)
 Update Actors, Highlighted, Visibility (properties) of given a element. More...
 
void UpdateVisualizationForGivenIDs (TList iList)
 Update Visualization of the given TraceIDs. More...
 
virtual ~TraceContainerBase ()
 Destructor. More...
 

Protected Member Functions

std::vector< vtkActor * > AddTrace (vtkPolyData *, vtkProperty *)
 
- Protected Member Functions inherited from TraceContainerBase< boost::MultiIndexLineageContainer >
void RenderAllElementsWithOriginalColors ()
 Render with original colors. More...
 
void SetScalarRangeForAllElements (const double &iMin, const double &iMax)
 Set the scalar range. More...
 
void UpdateCurrentElementFromVisuBase (std::vector< vtkActor * > &iActors, vtkPolyData *iNodes, const bool &iHighlighted, const bool &iVisible)
 
virtual void UpdateElementHighlightingWithGivenTraceIDsBase (const QStringList &iList, const Qt::CheckState &iCheck)
 Change elements highlighting property given a list of TraceIDs and the new status. More...
 
void UpdateElementHighlightingWithTraceID (const unsigned int &oTraceId, Qt::CheckState &oState)
 Update highlighting property of one element given one actor. More...
 
virtual void UpdateElementVisibilityWithGivenTraceIDsBase (const QStringList &iList, const Qt::CheckState &iCheck)
 Change elements visibility property given a list of TraceIDs and the new status. More...
 
void UpdateElementVisibilityWithTraceID (const unsigned int &oTraceId, const bool &iState)
 

Private Member Functions

 Q_DISABLE_COPY (LineageContainer)
 

Additional Inherited Members

- Public Attributes inherited from TraceContainerBase< boost::MultiIndexLineageContainer >
MultiIndexContainerType m_Container
 Trace Contaienr. More...
 
MultiIndexContainerElementType m_CurrentElement
 Current Element of the trace type. More...
 
QGoImageView3Dm_ImageView
 Link to the visualization. More...
 
- Protected Attributes inherited from TraceContainerBase< boost::MultiIndexLineageContainer >
vtkProperty * m_HighlightedProperty
 
float m_IntersectionLineWidth
 

Detailed Description

Wraps a boost multi index container of LineageStructure. This class intends to synchronize Lineage representation in the Visualization and in the TableWidget.

See Also
LineageStructure QGoTableWidget QGoImageView3D

Definition at line 83 of file LineageContainer.h.

Member Typedef Documentation

Definition at line 92 of file LineageContainer.h.

typedef MultiIndexContainerType::index< TrackRootID >::type::iterator LineageContainer::MultiIndexContainerTrackRootIDIterator

Definition at line 95 of file LineageContainer.h.

Definition at line 91 of file LineageContainer.h.

Definition at line 89 of file LineageContainer.h.

Constructor & Destructor Documentation

LineageContainer::LineageContainer ( QObject *  iParent,
QGoImageView3D iView 
)
explicit

Constructor.

Definition at line 40 of file LineageContainer.cxx.

LineageContainer::~LineageContainer ( )
virtual

Destructor.

Definition at line 46 of file LineageContainer.cxx.

Member Function Documentation

std::vector< vtkActor * > LineageContainer::AddTrace ( vtkPolyData *  ,
vtkProperty *   
)
protected

Definition at line 131 of file LineageContainer.cxx.

std::list< unsigned int > LineageContainer::DeleteAllHighlightedElements ( )
virtual

Delete all highlighted elements.

Returns
the list of TraceIDs of such elements

Implements TraceContainerBase< boost::MultiIndexLineageContainer >.

Definition at line 100 of file LineageContainer.cxx.

bool LineageContainer::DeleteElement ( const unsigned int &  iId)
virtual
Todo:
implement them:

Implements TraceContainerBase< boost::MultiIndexLineageContainer >.

Definition at line 77 of file LineageContainer.cxx.

bool LineageContainer::DeleteElement ( MultiIndexContainerTraceIDIterator  iIter)
virtual
void LineageContainer::DeleteLineage ( unsigned  int)
signal
void LineageContainer::ExportLineages ( )
signal
double * LineageContainer::GetLineageColor ( const unsigned int &  iTraceID)

Definition at line 254 of file LineageContainer.cxx.

bool LineageContainer::GetLineageHighlighted ( const unsigned int &  iTraceID)

Definition at line 234 of file LineageContainer.cxx.

unsigned int LineageContainer::GetLineageTrackRootID ( const unsigned int &  iTraceID)

Definition at line 174 of file LineageContainer.cxx.

bool LineageContainer::GetLineageVisibile ( const unsigned int &  iTraceID)

Definition at line 216 of file LineageContainer.cxx.

std::list< unsigned int > LineageContainer::GetListOfLineageIDs ( )

Definition at line 156 of file LineageContainer.cxx.

std::list< unsigned int > LineageContainer::GetListOfTrackRootIDs ( )

Definition at line 138 of file LineageContainer.cxx.

unsigned int LineageContainer::GetTraceIDFromTrackRootID ( const unsigned int &  iTraceID)

Definition at line 195 of file LineageContainer.cxx.

void LineageContainer::HighlightLineage ( const unsigned int &  ,
const bool &   
)
signal
void LineageContainer::InsertNewLineage ( const unsigned int &  iLineageID,
double  irgba[4],
const unsigned int &  iTrackIDRoot,
const bool &  IsVisible = false 
)

insert a new element in the container with all the info needed

Parameters
[in]iLineageIDID for the new lineage
[in]irgbacolor of the lineage
[in]iTrackIDRootfor the new lineage
[in]IsVisible

Definition at line 60 of file LineageContainer.cxx.

LineageContainer::Q_DISABLE_COPY ( LineageContainer  )
private
void LineageContainer::SetTraceVisibility ( const unsigned int &  iTraceID,
const bool &  iVisibility 
)

Definition at line 349 of file LineageContainer.cxx.

void LineageContainer::ShowActorsWithGivenTimePoint ( const unsigned int &  iT)
slot

Definition at line 339 of file LineageContainer.cxx.

void LineageContainer::ShowCurrentLineage ( std::list< unsigned int > &  ,
const unsigned int &   
)
signal
void LineageContainer::ShowLineage ( const unsigned int &  ,
const bool &   
)
signal
void LineageContainer::TracePicked ( unsigned  int,
Qt::CheckState   
)
signal

When one track has been picked (highlighted) from the visualization.

void LineageContainer::TraceVisibilityChanged ( unsigned  int,
Qt::CheckState   
)
signal
void LineageContainer::UpdateElementHighlighting ( unsigned int  iTraceID)
inlineslot

Update highlighting property of one element given one actor.

Parameters
[in]iActorActor of the element to be modified
Returns
true if the element exists
false else

Definition at line 218 of file LineageContainer.h.

void LineageContainer::UpdateElementHighlightingWithGivenTraceIDs ( const QStringList &  iList,
const Qt::CheckState &  iCheck 
)
virtualslot

Change elements highlighting property given a list of TraceIDs and the new status.

Parameters
[in]iListlist of TraceIDs
[in]iCheck

Definition at line 273 of file LineageContainer.cxx.

void LineageContainer::UpdateElementVisibilityWithGivenTraceIDs ( const QStringList &  iList,
const Qt::CheckState &  iCheck 
)
virtualslot

Change elements visibility property given a list of TraceIDs and the new status.

Parameters
[in]iListlist of TraceIDs
[in]iCheck

Definition at line 306 of file LineageContainer.cxx.


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