1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: vtkStaticDataSetSurfaceFilter.cxx
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
14 =========================================================================*/
15 #include "vtkStaticMeshObjectFactory.h"
17 #include <vtkCollectionIterator.h>
18 #include <vtkObjectFactory.h>
19 #include <vtkObjectFactoryCollection.h>
20 #include <vtkVersion.h>
22 #include "vtkStaticDataSetSurfaceFilter.h"
23 #include "vtkStaticEnSight6BinaryReader.h"
24 #include "vtkStaticEnSight6Reader.h"
25 #include "vtkStaticEnSightGoldBinaryReader.h"
26 #include "vtkStaticEnSightGoldReader.h"
27 #include "vtkStaticPlaneCutter.h"
29 #ifdef PARAVIEW_USE_MPI
30 #include "vtkStaticPUnstructuredGridGhostCellsGenerator.h"
33 vtkStandardNewMacro(vtkStaticMeshObjectFactory);
35 VTK_CREATE_CREATE_FUNCTION(vtkStaticDataSetSurfaceFilter);
36 VTK_CREATE_CREATE_FUNCTION(vtkStaticPlaneCutter);
37 VTK_CREATE_CREATE_FUNCTION(vtkStaticEnSight6BinaryReader);
38 VTK_CREATE_CREATE_FUNCTION(vtkStaticEnSight6Reader);
39 VTK_CREATE_CREATE_FUNCTION(vtkStaticEnSightGoldReader);
40 VTK_CREATE_CREATE_FUNCTION(vtkStaticEnSightGoldBinaryReader);
42 #ifdef PARAVIEW_USE_MPI
43 VTK_CREATE_CREATE_FUNCTION(vtkStaticPUnstructuredGridGhostCellsGenerator);
46 vtkStaticMeshObjectFactory::vtkStaticMeshObjectFactory()
48 vtkDebugMacro("Create vtkStaticMeshObjectFactory");
50 this->RegisterOverride("vtkDataSetSurfaceFilter", "vtkStaticDataSetSurfaceFilter",
51 "StaticDataSetSurfaceFilter", 1, vtkObjectFactoryCreatevtkStaticDataSetSurfaceFilter);
52 this->RegisterOverride("vtkPlaneCutter", "vtkStaticPlaneCutter", "StaticPlaneCutter", 1,
53 vtkObjectFactoryCreatevtkStaticPlaneCutter);
54 this->RegisterOverride("vtkEnSight6BinaryReader", "vtkStaticEnSight6BinaryReader", "StaticEnSight6BinaryReader", 1,
55 vtkObjectFactoryCreatevtkStaticEnSight6BinaryReader);
56 this->RegisterOverride("vtkEnSight6Reader", "vtkStaticEnSight6Reader", "StaticEnSight6Reader", 1,
57 vtkObjectFactoryCreatevtkStaticEnSight6Reader);
58 this->RegisterOverride("vtkEnSightGoldReader", "vtkStaticEnSight6BinaryReader", "StaticEnSight6BinaryReader", 1,
59 vtkObjectFactoryCreatevtkStaticEnSightGoldReader);
60 this->RegisterOverride("vtkEnSightGoldBinaryReader", "vtkStaticEnSightGoldBinaryReader", "StaticEnSightGoldBinaryReader", 1,
61 vtkObjectFactoryCreatevtkStaticEnSightGoldBinaryReader);
63 #ifdef PARAVIEW_USE_MPI
64 this->RegisterOverride("vtkPUnstructuredGridGhostCellsGenerator",
65 "vtkStaticPUnstructuredGridGhostCellsGenerator", "StaticPUnstructuredGridGhostCellsGenerator",
66 1, vtkObjectFactoryCreatevtkStaticPUnstructuredGridGhostCellsGenerator);
70 vtkStaticMeshObjectFactory::~vtkStaticMeshObjectFactory()
72 vtkDebugMacro("Delete vtkStaticMeshObjectFactory");
75 void vtkStaticMeshObjectFactory::PrintSelf(ostream& os, vtkIndent indent)
77 os << indent << "VTK Static Mesh Extension Factory" << endl;
80 const char* vtkStaticMeshObjectFactory::GetVTKSourceVersion()
82 return VTK_SOURCE_VERSION;
85 const char* vtkStaticMeshObjectFactory::GetDescription()
87 return "VTK Static Mesh Extension Factory";
90 class StaticFactoryInitialize
93 StaticFactoryInitialize()
95 bool hasStaticPluginFactory = false;
96 vtkObjectFactoryCollection* collection = vtkObjectFactory::GetRegisteredFactories();
97 collection->InitTraversal();
98 vtkObjectFactory* f = collection->GetNextItem();
101 if (f->IsA("vtkStaticMeshObjectFactory"))
103 hasStaticPluginFactory = true;
106 f = collection->GetNextItem();
108 if (!hasStaticPluginFactory)
110 vtkStaticMeshObjectFactory* instance = vtkStaticMeshObjectFactory::New();
111 vtkObjectFactory::RegisterFactory(instance);
116 virtual ~StaticFactoryInitialize()
118 vtkObjectFactoryCollection* collection = vtkObjectFactory::GetRegisteredFactories();
119 collection->InitTraversal();
121 while ((f = collection->GetNextItem()))
123 if (f->IsA("vtkStaticMeshObjectFactory"))
125 vtkObjectFactory::UnRegisterFactory(f);
132 static StaticFactoryInitialize StaticFactory;