36 #include <vtkImageData.h>
37 #include <vtkPolyData.h>
54 mShowInToolSpace =
true;
63 mShowInToolSpace = on;
68 return mPipeline->getActor();
88 disconnect(mTool.get(), SIGNAL(toolTransformAndTimestamp(
Transform3D,
double)),
this, SLOT(receiveTransforms(
Transform3D,
double)));
89 disconnect(mTool.get(), SIGNAL(toolProbeSector()),
this, SLOT(probeSectorChanged()));
93 if (tool && tool->getProbe())
101 connect(mTool.get(), SIGNAL(toolTransformAndTimestamp(
Transform3D,
double)),
this, SLOT(receiveTransforms(
Transform3D,
double)));
102 connect(mTool.get(), SIGNAL(toolProbeSector()),
this, SLOT(probeSectorChanged()));
105 this->probeSectorChanged();
111 this->probeSectorChanged();
114 void VideoSourceGraphics::probeSectorChanged()
116 if (!mTool || !mTool->getProbe())
119 mProbeData.
setData(mTool->getProbe()->getProbeData());
122 mPipeline->setClip(mProbeData.
getSector());
126 mPipeline->setClip(NULL);
128 this->receiveTransforms(mTool->get_prMt(), 0);
142 mPipeline->setInputVideo(NULL);
150 mPipeline->setInputVideo(mData->getVtkImageData());
156 void VideoSourceGraphics::receiveTransforms(
Transform3D prMt,
double timestamp)
158 if (!mShowInToolSpace)
163 mPipeline->setActorUserMatrix(rMu.getVtkMatrix());
166 void VideoSourceGraphics::newDataSlot()
168 if (!mData || !mData->validData())
170 mPipeline->setVisibility(
false);
177 bool visible = mData->validData();
178 if (mShowInToolSpace)
179 visible = visible && mTool && mTool->getVisible();
180 mPipeline->setVisibility(visible);
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
void setRealtimeStream(VideoSourcePtr data)
vtkSmartPointer< class vtkActor > vtkActorPtr
void setShowInToolSpace(bool on)
Wrap vtkActor displaying a video image, possibly clipped by a sector.
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
vtkPolyDataPtr getSector()
get a polydata representation of the us sector
VideoSourceGraphics(SpaceProviderPtr spaceProvider, bool useMaskFilter=false)
boost::shared_ptr< class VideoSource > VideoSourcePtr
Transform3D get_tMu() const
get transform from image space u to probe tool space t.
cxLogicManager_EXPORT SpaceProviderPtr spaceProvider()
ProbeSector getProbeData()
Utility functions for drawing an US Probe sector.
virtual ~VideoSourceGraphics()
void setClipToSector(bool on)
Turn sector clipping on/off. If on, only the area inside the probe sector is shown.
void newFrame()
emitted when a new frame has arrived (getVtkImageData() returns something new). info/status/name/vali...
void setData(ProbeDefinition data)
void setTool(ToolPtr tool)
boost::shared_ptr< class Tool > ToolPtr