MCPcopy Create free account
hub / github.com/MITK/MITK / CreateMapper

Method CreateMapper

Modules/Core/src/mitkCoreObjectFactory.cpp:130–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128}
129
130mitk::Mapper::Pointer mitk::CoreObjectFactory::CreateMapper(mitk::DataNode *node, MapperSlotId id)
131{
132 mitk::Mapper::Pointer newMapper = nullptr;
133 mitk::Mapper::Pointer tmpMapper = nullptr;
134
135 // check whether extra factories provide mapper
136 for (auto it = m_ExtraFactories.begin(); it != m_ExtraFactories.end(); ++it)
137 {
138 tmpMapper = (*it)->CreateMapper(node, id);
139 if (tmpMapper.IsNotNull())
140 newMapper = tmpMapper;
141 }
142
143 if (newMapper.IsNull())
144 {
145 mitk::BaseData *data = node->GetData();
146
147 if (id == mitk::BaseRenderer::Standard2D)
148 {
149 if ((dynamic_cast<Image *>(data) != nullptr))
150 {
151 newMapper = mitk::ImageVtkMapper2D::New();
152 newMapper->SetDataNode(node);
153 }
154 else if ((dynamic_cast<PlaneGeometryData *>(data) != nullptr))
155 {
156 newMapper = mitk::PlaneGeometryDataMapper2D::New();
157 newMapper->SetDataNode(node);
158 }
159 else if ((dynamic_cast<Surface *>(data) != nullptr))
160 {
161 newMapper = mitk::SurfaceVtkMapper2D::New();
162 // cast because SetDataNode is not virtual
163 auto *castedMapper = dynamic_cast<mitk::SurfaceVtkMapper2D *>(newMapper.GetPointer());
164 castedMapper->SetDataNode(node);
165 }
166 else if ((dynamic_cast<PointSet *>(data) != nullptr))
167 {
168 newMapper = mitk::PointSetVtkMapper2D::New();
169 newMapper->SetDataNode(node);
170 }
171 }
172 else if (id == mitk::BaseRenderer::Standard3D)
173 {
174 if ((dynamic_cast<PlaneGeometryData *>(data) != nullptr))
175 {
176 newMapper = mitk::PlaneGeometryDataVtkMapper3D::New();
177 newMapper->SetDataNode(node);
178 }
179 else if ((dynamic_cast<Surface *>(data) != nullptr))
180 {
181 newMapper = mitk::SurfaceVtkMapper3D::New();
182 newMapper->SetDataNode(node);
183 }
184 else if ((dynamic_cast<PointSet *>(data) != nullptr))
185 {
186 newMapper = mitk::PointSetVtkMapper3D::New();
187 newMapper->SetDataNode(node);

Callers 1

GetMapperMethod · 0.45

Calls 8

IsNotNullMethod · 0.80
GetPointerMethod · 0.80
NewFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
IsNullMethod · 0.45
GetDataMethod · 0.45
SetDataNodeMethod · 0.45

Tested by

no test coverage detected