35 #ifndef __LineageContainer_h
36 #define __LineageContainer_h
49 typedef multi_index::multi_index_container<
51 boost::multi_index::indexed_by<
52 boost::multi_index::ordered_unique<
53 boost::multi_index::tag< TraceID >,
56 boost::multi_index::ordered_non_unique<
57 boost::multi_index::tag< CollectionID >,
58 BOOST_MULTI_INDEX_MEMBER(
TraceStructure,
unsigned int, CollectionID)
60 boost::multi_index::ordered_non_unique<
61 boost::multi_index::tag< Highlighted >,
64 boost::multi_index::ordered_non_unique<
65 boost::multi_index::tag< Visible >,
68 boost::multi_index::ordered_non_unique<
69 boost::multi_index::tag< TrackRootID >,
94 typedef MultiIndexContainerType::index< TrackRootID >::type::iterator
114 const unsigned int& iLineageID,
116 const unsigned int& iTrackIDRoot,
117 const bool& IsVisible =
false);
177 void ShowLineage(
const unsigned int&,
const bool&);
191 const Qt::CheckState& iCheck );
199 const Qt::CheckState& iCheck );
209 Qt::CheckState state;
215 std::vector< vtkActor* >
AddTrace( vtkPolyData* , vtkProperty* );
221 #endif // LineageCONTAINER_H
MultiIndexContainerType::value_type MultiIndexContainerElementType
std::list< unsigned int > DeleteAllHighlightedElements()
Delete all highlighted elements.
Q_DISABLE_COPY(LineageContainer)
bool GetLineageHighlighted(const unsigned int &iTraceID)
TraceContainerBase< boost::MultiIndexLineageContainer > Superclass
MultiIndexContainerType::template index< TraceID >::type::iterator MultiIndexContainerTraceIDIterator
void TraceVisibilityChanged(unsigned int, Qt::CheckState)
MultiIndexContainerType::index< TrackRootID >::type::iterator MultiIndexContainerTrackRootIDIterator
boost::MultiIndexLineageContainer MultiIndexContainerType
LineageContainer(QObject *iParent, QGoImageView3D *iView)
Constructor.
std::list< unsigned int > GetListOfTrackRootIDs()
void ShowLineage(const unsigned int &, const bool &)
class for the visualization of 3D Image represented by one vtkImageData*.
Superclass::MultiIndexContainerType MultiIndexContainerType
Generic interface for trace container. More specific container should inherit from this class and get...
std::list< unsigned int > GetListOfLineageIDs()
unsigned int GetTraceIDFromTrackRootID(const unsigned int &iTraceID)
virtual ~LineageContainer()
Destructor.
bool DeleteElement(const unsigned int &iId)
void TracePicked(unsigned int, Qt::CheckState)
When one track has been picked (highlighted) from the visualization.
Structure which represent a lineage, and used for interaction between Visualization and TableWidget...
bool GetLineageVisibile(const unsigned int &iTraceID)
Wraps a boost multi index container of LineageStructure. This class intends to synchronize Lineage re...
virtual void UpdateElementHighlightingWithGivenTraceIDs(const QStringList &iList, const Qt::CheckState &iCheck)
Change elements highlighting property given a list of TraceIDs and the new status.
std::vector< vtkActor * > AddTrace(vtkPolyData *, vtkProperty *)
void UpdateElementHighlighting(unsigned int iTraceID)
Update highlighting property of one element given one actor.
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
unsigned int GetLineageTrackRootID(const unsigned int &iTraceID)
void HighlightLineage(const unsigned int &, const bool &)
multi_index::multi_index_container< LineageStructure, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< TraceID >, >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< CollectionID >, >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< Highlighted >, >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< Visible >, >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< TrackRootID >, > > > MultiIndexLineageContainer
void DeleteLineage(unsigned int)
Superclass::MultiIndexContainerElementType LineageType
void UpdateElementHighlightingWithTraceID(const unsigned int &oTraceId, Qt::CheckState &oState)
Update highlighting property of one element given one actor.
virtual void UpdateElementVisibilityWithGivenTraceIDs(const QStringList &iList, const Qt::CheckState &iCheck)
Change elements visibility property given a list of TraceIDs and the new status.
double * GetLineageColor(const unsigned int &iTraceID)
Structure which represent a trace (contour, mesh, track, lineage), and used for interaction between V...