SaveSceneToFieldData
Description¶
Given a vtkDataSet, vtkActor and vtkCamera, save necessary variables in the vtkDataSet's vtkFieldData to recreate a scene to a file.
Note
The snippet currently just saves the vtkCamera variables.
To use the snippet, click the Copy to clipboard at the upper right of the code blocks.
Declaration Section¶
namespace { void SaveSceneToFieldData(vtkDataSet *data, vtkActor *actor, vtkCamera *camera); }
Implementation Section¶
#include <sstream> namespace { void SaveSceneToFieldData(vtkDataSet *data, vtkActor *actor, vtkCamera *camera) { std::ostringstream buffer; double vector[3]; double scalar; camera->GetFocalPoint(vector); buffer << "Camera:FocalPoint " << vector[0] << ", " << vector[1] << ", " << vector[2] << std::endl; camera->GetPosition(vector); buffer << "Camera:Position " << vector[0] << ", " << vector[1] << ", " << vector[2] << std::endl; camera->GetViewUp(vector); buffer << "Camera:ViewUp " << vector[0] << ", " << vector[1] << ", " << vector[2] << std::endl; scalar = camera->GetViewAngle(); buffer << "Camera:ViewAngle " << scalar << std::endl; camera->GetClippingRange(vector); buffer << "Camera:ClippingRange " << vector[0] << ", " << vector[1] << std::endl; vtkSmartPointer<vtkStringArray> cameraArray = vtkSmartPointer<vtkStringArray>::New(); cameraArray->SetNumberOfValues(1); cameraArray->SetValue(0, buffer.str()); cameraArray->SetName("Camera"); data->GetFieldData()->AddArray(cameraArray); } }