17 #include "vtkDataSet.h"
18 #include "vtkGarbageCollector.h"
19 #include "vtkInformation.h"
20 #include "vtkInformationVector.h"
21 #include "vtkObjectFactory.h"
22 #include "vtkSmartPointer.h"
23 #include "vtkStreamingDemandDrivenPipeline.h"
32 struct vtkPVTrivialProducerStaticInternal
34 std::map<std::string, vtkSmartPointer<vtkDataObject> > RegisteredDataObjectMap;
36 bool HasKey(
const char* key)
42 return this->RegisteredDataObjectMap.find(key) != this->RegisteredDataObjectMap.end();
45 vtkDataObject* GetDataObject(
const char* key)
47 if (this->HasKey(key))
49 return this->RegisteredDataObjectMap[key].GetPointer();
54 void Print(ostream& os, vtkIndent indent)
56 std::map<std::string, vtkSmartPointer<vtkDataObject> >::iterator iter =
57 this->RegisteredDataObjectMap.begin();
58 while (iter != this->RegisteredDataObjectMap.end())
60 os << indent << iter->first.c_str() <<
"\n";
61 iter->second.GetPointer()->PrintSelf(os, indent.GetNextIndent());
65 static vtkPVTrivialProducerStaticInternal
Value;
66 vtkPVTrivialProducerStaticInternal* vtkDistributedTrivialProducer::InternalStatic = &
Value;
84 vtkDistributedTrivialProducer::InternalStatic->RegisteredDataObjectMap[key] = output;
85 cout <<
"Set Global Dataset for " << key <<
endl;
94 vtkDistributedTrivialProducer::InternalStatic->RegisteredDataObjectMap.erase(key);
98 vtkDistributedTrivialProducer::InternalStatic->RegisteredDataObjectMap.clear();
105 cout <<
"Update DS with key " << key <<
endl;
106 if (vtkDistributedTrivialProducer::InternalStatic->GetDataObject(key))
113 cout <<
"No dataset" <<
endl;
115 this->
SetOutput(vtkDistributedTrivialProducer::InternalStatic->GetDataObject(key));
121 this->Superclass::PrintSelf(os, indent);
122 vtkDistributedTrivialProducer::InternalStatic->Print(os, indent);
~vtkDistributedTrivialProducer() override
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void UpdateFromGlobal(const char *key)
static void SetGlobalOutput(const char *key, vtkDataObject *output)
static void ReleaseGlobalOutput(const char *key)
vtkDistributedTrivialProducer()
void SetOutput(vtkDataObject *output) override
QTextStream & endl(QTextStream &stream)
vtkStandardNewMacro(vtkDistributedTrivialProducer)
static vtkPVTrivialProducerStaticInternal Value