44 m_TCoord( std::numeric_limits< unsigned int >::max() )
54 MultiIndexContainerType::iterator it =
m_Container.begin();
64 it->ActorXY->Delete();
68 it->ActorXZ->Delete();
72 it->ActorYZ->Delete();
76 it->ActorXYZ->Delete();
98 const unsigned int & iT,
99 const bool & iHighlighted,
100 const bool & iVisible)
104 iHighlighted, iVisible);
115 boost::tuples::tie(it0, it1) =
m_Container.get< TCoord >().equal_range(iT);
117 ChangeActorsVisibility< TCoord >(it0, it1,
false);
135 boost::tuples::tie(it0, it1) =
m_Container.get< TCoord >().equal_range(iT);
137 ChangeActorsVisibility< TCoord >(
m_Container.get< TCoord >().begin(), it0,
false);
138 ChangeActorsVisibility< TCoord >(it0, it1,
true);
139 ChangeActorsVisibility< TCoord >(it1,
m_Container.get< TCoord >().end(),
false);
153 boost::tuples::tie(it0, it1) =
m_Container.get< TCoord >().equal_range(iT);
155 ChangeActorsVisibility< TCoord >(it0, it1,
true);
168 const Qt::CheckState & iCheck)
179 const Qt::CheckState & iCheck)
204 if ( iIter->ActorXY )
210 iIter->ActorXY->Delete();
212 if ( iIter->ActorXZ )
218 iIter->ActorXZ->Delete();
220 if ( iIter->ActorYZ )
226 iIter->ActorYZ->Delete();
228 if ( iIter->ActorXYZ )
234 iIter->ActorXYZ->Delete();
239 iIter->Nodes->Delete();
252 std::list< unsigned int >
257 boost::tuples::tie(it0, it1) =
258 m_Container.get< Highlighted >().equal_range(
true);
260 std::list< unsigned int > oList;
264 oList.push_back(it0->TraceID);
271 it0->ActorXY->Delete();
279 it0->ActorXZ->Delete();
287 it0->ActorYZ->Delete();
295 it0->ActorXYZ->Delete();
299 it0->Nodes->Delete();
319 std::list< unsigned int >
324 boost::tuples::tie(it0, it1) =
325 m_Container.get< TCoord >().equal_range(iTimePoint);
327 std::list< unsigned int > oList;
330 oList.push_back(it0->TraceID);
339 std::map< unsigned int, double * >
342 std::map< unsigned int, double * > meshPosition;
343 std::list< unsigned int >::iterator listIt = iMeshID.begin();
346 while ( listIt != iMeshID.end() )
348 containerIt =
m_Container.get< TraceID >().find(*listIt);
351 if ( containerIt !=
m_Container.get< TraceID >().end() )
353 unsigned int time = containerIt->TCoord;
354 double * point =
new double[3];
357 containerIt->Nodes->GetBounds(bounds);
359 for (
int i = 0; i < 3; ++i )
361 point[i] = ( bounds[2 * i] + bounds[2 * i + 1] ) / 2;
364 meshPosition.insert( std::pair< unsigned int, double * >(time, point) );
393 Clear(
const std::list<unsigned int>& iTraceIDs)
395 std::list<unsigned int>::const_iterator it = iTraceIDs.begin();
396 while(it!= iTraceIDs.end())
411 std::list< unsigned int > iToBeAssigned)
413 std::list< unsigned int >::iterator listIt = iToBeAssigned.begin();
416 while ( listIt != iToBeAssigned.end() )
418 containerIt =
m_Container.get< TraceID >().find(*listIt);
421 if ( containerIt !=
m_Container.get< TraceID >().end() )
432 std::list< unsigned int >
437 using boost::multi_index:: get;
439 boost::tuples::tie(it0, it1) =
440 m_Container.get< Highlighted >().equal_range(
true);
442 std::list< unsigned int > oList;
445 oList.push_back(it0->TCoord);
void UpdateElementVisibilityWithGivenTraceIDs(const QStringList &iList, const Qt::CheckState &iCheck)
Change elements visibility property given a list of TraceIDs and the new status.
bool DeleteElement(const unsigned int &iId)
Remove the element which TraceId = iId.
std::list< unsigned int > DeleteAllHighlightedElements()
Delete all highlighted elements.
std::map< unsigned int, double * > GetMeshesPoints(std::list< unsigned int > iMeshID)
void UpdateRenderWindows()
Update only the visualization.
MultiIndexContainerType::template index< TraceID >::type::iterator MultiIndexContainerTraceIDIterator
MultiIndexContainerType m_Container
Trace Contaienr.
virtual void UpdateElementHighlightingWithGivenTraceIDsBase(const QStringList &iList, const Qt::CheckState &iCheck)
Change elements highlighting property given a list of TraceIDs and the new status.
void AssignToGivenCollection(unsigned int iCollection, std::list< unsigned int > iToBeAssigned)
std::list< unsigned int > GetElementsTraceIDForGivenTimePoint(unsigned int iTimePoint)
MultiIndexContainerType::template index< Highlighted >::type::iterator MultiIndexContainerHighlightedIterator
void UpdateElementHighlightingWithGivenTraceIDs(const QStringList &iList, const Qt::CheckState &iCheck)
Change elements highlighting property given a list of TraceIDs and the new status.
class for the visualization of 3D Image represented by one vtkImageData*.
virtual void RemoveActor(const int &iId, vtkActor *iActor)
std::list< unsigned int > GetHighlightedElementsTCoord()
void ShowActorsWithGivenTimePoint(const unsigned int &iT)
Display all elements for a given time point.
virtual void UpdateElementVisibilityWithGivenTraceIDsBase(const QStringList &iList, const Qt::CheckState &iCheck)
Change elements visibility property given a list of TraceIDs and the new status.
void RemoveActorsWithGivenTimePoint(const unsigned int &iT)
Remove all actors (elements) from the scene for a given time point.
QGoImageView3D * m_ImageView
Link to the visualization.
void SetTimePoint(const unsigned int &iT)
Set the Current Time Point.
MultiIndexContainerElementType m_CurrentElement
Current Element of the trace type.
ContourMeshContainer(QObject *iParent, QGoImageView3D *iView)
Constructor.
void UpdateCurrentElementFromVisuBase(std::vector< vtkActor * > &iActors, vtkPolyData *iNodes, const bool &iHighlighted, const bool &iVisible)
void AddActorsWithGivenTimePoint(const unsigned int &iT)
Add all actors (elements) from the scene for a given time point.
void Clear()
Delete all elements from the container.
virtual ~ContourMeshContainer()
Destructor.
void UpdateCurrentElementFromVisu(std::vector< vtkActor * > &iActors, vtkPolyData *iNodes, const unsigned int &iT, const bool &iHighlighted, const bool &iVisible)
Update Current Element by providing all required informations from the visualization.
MultiIndexContainerType::index< TCoord >::type::iterator MultiIndexContainerTCoordIterator