Commit 41b198fe authored by Utkarsh Ayachit's avatar Utkarsh Ayachit

Fixed Slice representation in client-server modes.

vtkPVDataDeliveryManager was ending up not requesting new data when slice
parameters were changed. This happened because the mtime we used in
vtkPVDataDeliveryManager used the data-time, which clearly didn't change on the
client after every update. Since vtkPVDataDeliveryManager::SetPiece() uses the
executive's data-time to check if data was really updated, we shouldn't use the
data mtime in vtkPVDataDeliveryManager's SetDataObject() call.
parent 5992ff6d
......@@ -165,7 +165,7 @@ int vtkImageSliceRepresentation::RequestData(vtkInformation* request,
if (inputVector[0]->GetNumberOfInformationObjects()==1)
{
this->UpdateSliceData(inputVector);
this->UpdateSliceData(inputVector);
this->CacheKeeper->Update();
}
......@@ -239,6 +239,7 @@ void vtkImageSliceRepresentation::UpdateSliceData(
// vtkExtractVOI is not passing correct origin. Until that's fixed, I
// will just use the input origin/spacing to compute the bounds.
this->SliceData->SetOrigin(input->GetOrigin());
voi->Delete();
clone->Delete();
}
......
......@@ -112,15 +112,12 @@ public:
{ }
void SetDataObject(vtkDataObject* data)
{
if (data != this->DataObject ||
(data && data->GetMTime() > this->TimeStamp))
{
vtkTimeStamp ts; ts.Modified();
this->TimeStamp = ts;
}
{
this->DataObject = data;
this->ActualMemorySize = data? data->GetActualMemorySize() : 0;
vtkTimeStamp ts; ts.Modified();
this->TimeStamp = ts;
}
void SetDeliveredDataObject(vtkDataObject* data)
......
......@@ -141,7 +141,7 @@ vtkImageData* vtkPVImageSliceMapper::GetInput()
}
//----------------------------------------------------------------------------
void vtkPVImageSliceMapper::Update()
void vtkPVImageSliceMapper::Update(int port)
{
// Set the whole extent on the painter because it needs it internally
// and it has no access to the pipeline information.
......@@ -163,7 +163,7 @@ void vtkPVImageSliceMapper::Update()
currentPiece, this->NumberOfSubPieces*nPieces, this->GhostLevel);
}
this->Superclass::Update();
this->Superclass::Update(port);
}
......
......@@ -90,7 +90,9 @@ public:
// Description:
// Update that sets the update piece first.
virtual void Update();
virtual void Update(int port);
virtual void Update()
{ this->Superclass::Update(); }
// Description:
// If you want only a part of the data, specify by setting the piece.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment