48 MultiIndexContainerType::iterator it =
m_Container.begin();
61 double irgba[4],
const unsigned int& iTrackIDRoot,
62 const bool& IsVisible)
65 NewElement.TraceID = iLineageID;
66 NewElement.rgba[0] = irgba[0];
67 NewElement.rgba[1] = irgba[1];
68 NewElement.rgba[2] = irgba[2];
69 NewElement.rgba[3] = irgba[3];
70 NewElement.TrackRootID = iTrackIDRoot;
71 NewElement.Visible = IsVisible;
93 assert(iIter !=
m_Container.get< TraceID >().end() );
106 boost::tuples::tie(it0, it1) =
107 m_Container.get< Highlighted >().equal_range(
true);
109 std::list< unsigned int > oList;
113 oList.push_back(it0->TraceID);
133 return std::vector< vtkActor* >();
140 std::list<unsigned int> listOfTrackIDs;
147 listOfTrackIDs.push_back(it->TrackRootID);
151 return listOfTrackIDs;
158 std::list<unsigned int> listOfLineageIDs;
165 listOfLineageIDs.push_back(it->TraceID);
169 return listOfLineageIDs;
177 it =
m_Container.get< TraceID >().find( iTraceID );
184 return it->TrackRootID;
188 itkGenericExceptionMacro( <<
"iTraceId is not in this container" );
198 it =
m_Container.get< TrackRootID >().find( iTraceID );
209 itkGenericExceptionMacro( <<
"trackroot id is not in this container" );
219 it =
m_Container.get< TraceID >().find( iTraceID );
227 itkGenericExceptionMacro( <<
"iTraceId is not in this container" );
237 it =
m_Container.get< TraceID >().find( iTraceID );
241 return it->Highlighted;
245 itkGenericExceptionMacro( <<
"iTraceId is not in this container" );
257 it =
m_Container.get< TraceID >().find( iTraceID );
259 double* color = NULL;
263 color =
const_cast<double*
>(it->rgba);
274 const Qt::CheckState & iCheck)
278 if ( !iList.
empty() )
283 bool highlighted = iCheck;
285 while ( constIterator != iList.
end() )
287 it =
m_Container.get< TraceID >().find( ( *constIterator ).toUInt() );
307 const Qt::CheckState & iCheck)
312 if ( !iList.
empty() )
317 bool visible = iCheck;
319 while ( constIterator != iList.
end() )
321 it =
m_Container.get< TraceID >().find( ( *constIterator ).toUInt() );
MultiIndexContainerType::value_type MultiIndexContainerElementType
std::list< unsigned int > DeleteAllHighlightedElements()
Delete all highlighted elements.
bool GetLineageHighlighted(const unsigned int &iTraceID)
void UpdateRenderWindows()
Update only the visualization.
MultiIndexContainerType::template index< TraceID >::type::iterator MultiIndexContainerTraceIDIterator
MultiIndexContainerType m_Container
Trace Contaienr.
void Insert(const MultiIndexContainerElementType &iE)
Insert one element in the container.
MultiIndexContainerType::index< TrackRootID >::type::iterator MultiIndexContainerTrackRootIDIterator
LineageContainer(QObject *iParent, QGoImageView3D *iView)
Constructor.
std::list< unsigned int > GetListOfTrackRootIDs()
MultiIndexContainerType::template index< Highlighted >::type::iterator MultiIndexContainerHighlightedIterator
void ShowLineage(const unsigned int &, const bool &)
class for the visualization of 3D Image represented by one vtkImageData*.
std::list< unsigned int > GetListOfLineageIDs()
unsigned int GetTraceIDFromTrackRootID(const unsigned int &iTraceID)
virtual ~LineageContainer()
Destructor.
bool DeleteElement(const unsigned int &iId)
bool GetLineageVisibile(const unsigned int &iTraceID)
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 *)
QGoImageView3D * m_ImageView
Link to the visualization.
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 &)
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)