728x90
1. 개요
Pipeline에서 Modified 가 발생할 경우 이루어지는 내부 workflow를 분석한다.
2. 연결된 Pipeline 구성도
3. Pipeline 동작 분석
Interactor 이벤트를 통해 Mask의 픽셀을 변경하고 Modified()를 호출하면 내부적으로 RenderWindow의 Render를 실행하는데 이때 Modified 가 있는 Filter가 있으므로 다음과 같은 순서로 Pipeline이 동작한다.
Mask:vtkImageCanvasSource2D에서 Modified를 호출하고 Rendering을 하면 Modified 된 Pipeline 에 영향을 받는 하위 Pipeline filter들은 Progress Start -> Progress[n] -> Progress End 순으로 이벤트가 발생하면서 각각의 filter의 process를 수행한다. 그리고 마지막으로 Mask:vtkImageCanvasSource2D의 Modified 이벤트가 발생한다.
여기에서 Filter 들은 변경된 내용이 데이터적으로는 반영되지만
127.0.0.1:10942: PrgEnd Mask:vtkImageCanvasSource2D[1E322DFFAD0] 127.0.0.1:10942: PrgEnd vtkOpenGLImageSliceMapper[1E3219953A0] 127.0.0.1:10942: PrgEnd vtkOpenGLImageSliceMapper[1E321995100] 127.0.0.1:10942: PrgEnd vtkImageMask[1E322DF4220] 127.0.0.1:10942: PrgEnd vtkOpenGLImageSliceMapper[1E321995640] 127.0.0.1:10942: PrgEnd vtkImageMask[1E322D0F1F0] 127.0.0.1:10942: Mod Mask:vtkImageCanvasSource2D[1E322DFFAD0] |
Modified를 호출하고 RenderWindow의 Render를 실행할 경우는 Modification이 먼저 발생하고 Progress 이벤트가 호출된다.
127.0.0.1:10942: Mod Mask:vtkImageCanvasSource2D[1E322DFFAD0] 127.0.0.1:10942: PrgEnd Mask:vtkImageCanvasSource2D[1E322DFFAD0] 127.0.0.1:10942: PrgEnd vtkOpenGLImageSliceMapper[1E3219953A0] 127.0.0.1:10942: PrgEnd vtkOpenGLImageSliceMapper[1E321995100] 127.0.0.1:10942: PrgEnd vtkImageMask[1E322DF4220] 127.0.0.1:10942: PrgEnd vtkOpenGLImageSliceMapper[1E321995640] 127.0.0.1:10942: PrgEnd vtkImageMask[1E322D0F1F0] |
만약, Interaction을 수행하지만 Modified가 없다면 아무일도 일어나지 않는다.
728x90
728x90