18 #include "vtkObjectFactory.h" 35 vtkXMLParser::InitializeParser();
36 std::istream *stream = this->GetStream();
39 vtkErrorMacro(
"no stream available in XML file reader");
43 m_PreviousLocale = stream->getloc();
51 std::istream *stream = this->GetStream();
54 vtkErrorMacro(
"no stream available in XML file reader");
58 stream->imbue(m_PreviousLocale);
59 vtkXMLParser::CleanupParser();
65 std::string currentElement = name;
72 m_CurrentPointSet = PointSetType::New();
79 m_CurrentPoint[0] = 0.0f;
80 m_CurrentPoint[1] = 0.0f;
81 m_CurrentPoint[2] = 0.0f;
92 m_ParseStack.push(currentElement);
97 std::string currentElement = name;
103 if (m_ParseStack.top() != currentElement)
105 MITK_ERROR <<
"Top of parse stack ( " << m_ParseStack.top() <<
" ) is != currentEndElement ( " << currentElement
106 <<
" )!" << std::endl;
117 m_CurrentPointSet->UpdateOutputInformation();
118 m_PointSetList.push_back(m_CurrentPointSet);
126 m_CurrentPointId = ParsePointIdentifier(m_CurId);
127 m_CurrentPoint[0] = ParseScalarType(m_CurXString);
128 m_CurrentPoint[1] = ParseScalarType(m_CurYString);
129 m_CurrentPoint[2] = ParseScalarType(m_CurZString);
133 assert(m_CurrentPointSet.IsNotNull());
134 m_CurrentPointSet->ExecuteOperation(&popInsert);
135 m_CurrentPointSet->ExecuteOperation(&popDeactivate);
141 std::string currentElement = m_ParseStack.top();
144 m_CurId.append(inData, inLength);
148 m_CurXString.append(inData, inLength);
152 m_CurYString.append(inData, inLength);
156 m_CurZString.append(inData, inLength);
162 std::istringstream stm;
171 std::istringstream stm;
180 return m_PointSetList;
int InitializeParser() override
~vtkPointSetXMLParser() override
static const char * XML_POINT
virtual PointIdentifier ParsePointIdentifier(const std::string &data)
DataCollection - Class to facilitate loading/accessing structured data.
Constants for most interaction classes, due to the generic StateMachines.
static const char * XML_ID
static const char * XML_POINT_SET
void StartElement(const char *name, const char **atts) override
virtual PointSetList GetParsedPointSets()
virtual mitk::ScalarType ParseScalarType(const std::string &data)
Operation that handles all actions on one Point.
vtkStandardNewMacro(AnatomicalStructureColorPresets)
int CleanupParser() override
static const char * XML_Y
PointSetType::DataType::PointIdentifier PointIdentifier
static const char * XML_Z
static const char * XML_X
std::list< PointSetType::Pointer > PointSetList
void CharacterDataHandler(const char *inData, int inLength) override
void EndElement(const char *name) override