MCPcopy Create free account
hub / github.com/Kitware/VTK / vtkXMLWriterC_SetDataObjectType

Function vtkXMLWriterC_SetDataObjectType

IO/XML/vtkXMLWriterC.cxx:88–146  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

86
87 //----------------------------------------------------------------------------
88 void vtkXMLWriterC_SetDataObjectType(vtkXMLWriterC* self, int objType)
89 {
90 if (!self)
91 {
92 return;
93 }
94 if (!self->DataObject)
95 {
96 // Create the writer and data object.
97 switch (objType)
98 {
99 case VTK_POLY_DATA:
100 {
101 self->DataObject = vtkSmartPointer<vtkPolyData>::New();
102 self->Writer = vtkSmartPointer<vtkXMLPolyDataWriter>::New();
103 }
104 break;
105 case VTK_UNSTRUCTURED_GRID:
106 {
107 self->DataObject = vtkSmartPointer<vtkUnstructuredGrid>::New();
108 self->Writer = vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
109 }
110 break;
111 case VTK_STRUCTURED_GRID:
112 {
113 self->DataObject = vtkSmartPointer<vtkStructuredGrid>::New();
114 self->Writer = vtkSmartPointer<vtkXMLStructuredGridWriter>::New();
115 }
116 break;
117 case VTK_RECTILINEAR_GRID:
118 {
119 self->DataObject = vtkSmartPointer<vtkRectilinearGrid>::New();
120 self->Writer = vtkSmartPointer<vtkXMLRectilinearGridWriter>::New();
121 }
122 break;
123 case VTK_IMAGE_DATA:
124 {
125 self->DataObject = vtkSmartPointer<vtkImageData>::New();
126 self->Writer = vtkSmartPointer<vtkXMLImageDataWriter>::New();
127 }
128 break;
129 }
130
131 // Set the data object as input to the writer.
132 if (self->Writer && self->DataObject)
133 {
134 self->Writer->SetInputData(self->DataObject);
135 }
136 else
137 {
138 vtkGenericWarningMacro(
139 "Failed to allocate data object and writer for type " << objType << ".");
140 }
141 }
142 else
143 {
144 vtkGenericWarningMacro("vtkXMLWriterC_SetDataObjectType called twice.");
145 }

Callers 2

mainFunction · 0.85

Calls 2

NewFunction · 0.50
SetInputDataMethod · 0.45

Tested by 2

mainFunction · 0.68