22 #include <vtkCellArray.h> 23 #include <vtkPolyData.h> 24 #include <vtkPolygon.h> 28 std::string VeryLongText =
29 "Lorem ipsum dolor sit amet, consectetur adipiscing elit.Donec a diam lectus.Sed sit amet ipsum mauris.Maecenas " 30 "congue ligula ac quam viverra nec consectetur ante hendrerit.Donec et mollis dolor.Praesent et diam eget libero " 31 "egestas mattis sit amet vitae augue.Nam tincidunt congue enim, ut porta lorem lacinia consectetur.Donec ut libero " 32 "sed arcu vehicula ultricies a non tortor.Lorem ipsum dolor sit amet, consectetur adipiscing elit.Aenean ut " 33 "gravida lorem.Ut turpis felis, pulvinar a semper sed, adipiscing id dolor.Pellentesque auctor nisi id magna " 34 "consequat sagittis.Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet.Ut convallis " 35 "libero in urna ultrices accumsan.Donec sed odio eros.Donec viverra mi quis quam pulvinar at malesuada arcu " 36 "rhoncus.Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.In rutrum accumsan " 37 "ultricies.Mauris vitae nisi at sem facilisis semper ac in est.\n" 38 "Vivamus fermentum semper porta.Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio.Maecenas " 39 "convallis ullamcorper ultricies.Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id " 40 "fringilla sem nunc vel mi.Nam dictum, odio nec pretium volutpat, arcu ante placerat erat, non tristique elit urna " 41 "et turpis.Quisque mi metus, ornare sit amet fermentum et, tincidunt et orci.Fusce eget orci a orci congue " 42 "vestibulum.Ut dolor diam, elementum et vestibulum eu, porttitor vel elit.Curabitur venenatis pulvinar tellus " 43 "gravida ornare.Sed et erat faucibus nunc euismod ultricies ut id justo.Nullam cursus suscipit nisi, et ultrices " 44 "justo sodales nec.Fusce venenatis facilisis lectus ac semper.Aliquam at massa ipsum.Quisque bibendum purus " 45 "convallis nulla ultrices ultricies.Nullam aliquam, mi eu aliquam tincidunt, purus velit laoreet tortor, viverra " 46 "pretium nisi quam vitae mi.Fusce vel volutpat elit.Nam sagittis nisi dui.\r\n" 47 "Suspendisse lectus leo, consectetur in tempor sit amet, placerat quis neque.Etiam luctus porttitor lorem, sed " 48 "suscipit est rutrum non.Curabitur lobortis nisl a enim congue semper.Aenean commodo ultrices imperdiet.Vestibulum " 49 "ut justo vel sapien venenatis tincidunt.Phasellus eget dolor sit amet ipsum dapibus condimentum vitae quis " 50 "lectus.Aliquam ut massa in turpis dapibus convallis.Praesent elit lacus, vestibulum at malesuada et, ornare et " 51 "est.Ut augue nunc, sodales ut euismod non, adipiscing vitae orci.Mauris ut placerat justo.Mauris in ultricies " 52 "enim.Quisque nec est eleifend nulla ultrices egestas quis ut quam.Donec sollicitudin lectus a mauris pulvinar id " 53 "aliquam urna cursus.Cras quis ligula sem, vel elementum mi.Phasellus non ullamcorper urna.\t\n" 54 "Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.In euismod ultrices " 55 "facilisis.Vestibulum porta sapien adipiscing augue congue id pretium lectus molestie.Proin quis dictum nisl.Morbi " 56 "id quam sapien, sed vestibulum sem.Duis elementum rutrum mauris sed convallis.Proin vestibulum magna mi.Aenean " 57 "tristique hendrerit magna, ac facilisis nulla hendrerit ut.Sed non tortor sodales quam auctor elementum.Donec " 58 "hendrerit nunc eget elit pharetra pulvinar.Suspendisse id tempus tortor.Aenean luctus, elit commodo laoreet " 59 "commodo, justo nisi consequat massa, sed vulputate quam urna quis eros.Donec vel.";
66 return (*m_ScenarioProvider.*m_ProviderMethod)();
73 const std::string &_referenceArchiveFilename,
74 bool _isReferenceLoadable,
75 double _comparisonPrecision)
81 m_ScenarioProvider(_scenarioProvider),
82 m_ProviderMethod(_providerMethod)
93 void mitk::SceneIOTestScenarioProvider::AddScenario(
const std::string &
key,
97 bool isReferenceLoadable,
102 m_Scenarios.push_back(newScenario);
126 node->SetName(
"Urmel");
136 for (
auto i = 0; i < m_HowMuchIsMany; ++i)
141 node->SetName(s.str());
153 for (
auto i = 0; i < m_HowMuchIsMany; ++i)
158 node->SetName(s.str());
159 storage->Add(node, parent);
166 #define AddNode(name) storage->Add(name); 168 #define DefineNode(name) \ 169 mitk::DataNode::Pointer name = mitk::DataNode::New(); \ 170 name->SetName(#name); 172 #define DefNode0(name) DefineNode(name) AddNode(name) 174 #define DefNode1(source, name) DefineNode(name) storage->Add(name, source); 176 #define DefNode2(source1, source2, name) \ 179 mitk::DataStorage::SetOfObjects::Pointer sources = mitk::DataStorage::SetOfObjects::New(); \ 180 sources->push_back(source1); \ 181 sources->push_back(source2); \ 182 storage->Add(name, sources); \ 185 #define DefNode3(source1, source2, source3, name) \ 188 mitk::DataStorage::SetOfObjects::Pointer sources = mitk::DataStorage::SetOfObjects::New(); \ 189 sources->push_back(source1); \ 190 sources->push_back(source2); \ 191 sources->push_back(source3); \ 192 storage->Add(name, sources); \ 225 DefNode3(Penguin, OperatingSystem, OpenSource, Linux)
245 node->SetName(
"Image-Int");
246 node->SetData(image3Dints);
261 node->SetName(
"Image-Double");
262 node->SetData(image3Ddouble);
274 vtkSmartPointer<vtkPoints> points1 = vtkSmartPointer<vtkPoints>::New();
275 points1->InsertNextPoint(0.0, 0.0, 0.0);
276 points1->InsertNextPoint(1.0, 0.0, 0.0);
277 points1->InsertNextPoint(0.0, 1.0, 0.0);
278 points1->InsertNextPoint(1.0, 1.0, 0.0);
280 vtkSmartPointer<vtkPolygon> polygon1 = vtkSmartPointer<vtkPolygon>::New();
281 polygon1->GetPointIds()->SetNumberOfIds(4);
282 polygon1->GetPointIds()->SetId(0, 0);
283 polygon1->GetPointIds()->SetId(1, 1);
284 polygon1->GetPointIds()->SetId(2, 2);
285 polygon1->GetPointIds()->SetId(3, 3);
287 vtkSmartPointer<vtkPolygon> polygon2 = vtkSmartPointer<vtkPolygon>::New();
288 polygon2->GetPointIds()->SetNumberOfIds(4);
289 polygon2->GetPointIds()->SetId(0, 3);
290 polygon2->GetPointIds()->SetId(1, 2);
291 polygon2->GetPointIds()->SetId(2, 0);
292 polygon2->GetPointIds()->SetId(3, 1);
295 vtkSmartPointer<vtkCellArray> polygonArray1 = vtkSmartPointer<vtkCellArray>::New();
296 polygonArray1->InsertNextCell(polygon1);
298 vtkSmartPointer<vtkPolyData> polydata1 = vtkSmartPointer<vtkPolyData>::New();
299 polydata1->SetPoints(points1);
300 polydata1->SetPolys(polygonArray1);
302 vtkSmartPointer<vtkCellArray> polygonArray2 = vtkSmartPointer<vtkCellArray>::New();
303 polygonArray2->InsertNextCell(polygon2);
305 vtkSmartPointer<vtkPolyData> polyDataTwo = vtkSmartPointer<vtkPolyData>::New();
306 polyDataTwo->SetPoints(points1);
307 polyDataTwo->SetPolys(polygonArray2);
311 surface->SetVtkPolyData(polydata1);
314 node->SetName(
"Surface");
315 node->SetData(surface);
337 node->SetName(
"PointSet");
353 mitk::AffineTransform3D::MatrixType matrix;
357 mitk::AffineTransform3D::OffsetType
offset;
359 bool isImageGeometry(
false);
360 unsigned int frameOfReferenceID(47);
366 bounds[3] = 918273645.18293746;
376 mitk::AffineTransform3D::Pointer newTransform = mitk::AffineTransform3D::New();
377 newTransform->SetMatrix(matrix);
378 newTransform->SetOffset(offset);
381 newGeometry->SetFrameOfReferenceID(frameOfReferenceID);
382 newGeometry->SetImageGeometry(isImageGeometry);
384 newGeometry->SetIndexToWorldTransform(newTransform);
386 newGeometry->SetBounds(bounds);
387 newGeometry->SetOrigin(origin);
388 newGeometry->SetSpacing(spacing);
391 geometryData->SetGeometry(newGeometry);
394 node->SetName(
"GeometryData");
395 node->SetData(geometryData);
407 node->SetName(
"Camion");
412 node->GetPropertyList(
"Chapitre1")->SetProperty(
"Page 1",
StringProperty::New(VeryLongText));
413 node->GetPropertyList(
"Chapitre1")->SetProperty(
"Page 2",
StringProperty::New(VeryLongText));
414 node->GetPropertyList(
"Chapitre 2")->SetProperty(
"Page",
StringProperty::New(VeryLongText));
415 node->GetPropertyList(
"Chapitre 3")->SetProperty(
"Page",
StringProperty::New(VeryLongText));
416 node->GetPropertyList(VeryLongText)->SetProperty(
"Page",
StringProperty::New(VeryLongText));
std::string referenceArchiveFilename
Absolute filename with a reference .mitk file.
BoundingBoxType::BoundsArrayType BoundsArrayType
#define DefNode2(source1, source2, name)
bool referenceArchiveLoadable
Do we expect that the reference can be loaded without errors?
ScenarioList GetAllScenarios() const
Returns all registered scenarios.
std::string key
Description / ID.
void FillVector3D(Tout &out, mitk::ScalarType x, mitk::ScalarType y, mitk::ScalarType z)
double comparisonPrecision
Precision used for floating point comparisons after save/load cycle (eps).
#define DefNode3(source1, source2, source3, name)
#define DefNode1(source, name)
itk::RGBPixel< float > Color
Color Standard RGB color typedef (float)
DataStorage::Pointer(SceneIOTestScenarioProvider::* BuilderMethodPointer)() const
Typedef for type BuilderMethodPointer which is function pointer to member of SceneIOTestScenarioProvi...
Scenario(const std::string &_key, const SceneIOTestScenarioProvider *_scenarioProvider, SceneIOTestScenarioProvider::BuilderMethodPointer _providerMethod, bool _isSerializable, const std::string &_referenceArchiveFilename, bool _isReferenceLoadable, double _comparisonPrecision)
bool serializable
Do we expect that this can be stored in a .mitk file?
Provides DataStorages that serve as test scenarios.
std::vector< Scenario > ScenarioList
List of Scenarios.
DataStorage::Pointer BuildDataStorage() const
Construct the DataStorage for this scenario.