Пример #1
0
void mitk::ContourModelWriter::WriteStartElement( std::string &tag, std::ostream &file )
{
    WriteStartElement( tag.c_str(), file );
}
Пример #2
0
void XmlTextWriter::WriteElementString(RCString name, RCString value) {
	WriteStartElement(name);
	WriteString(value);
	WriteEndElement();
}
Пример #3
0
void mitk::ContourModelWriter::WriteXML( const mitk::ContourModel* contourModel, std::ostream& out )
{
   /*++++ <contourModel> ++++*/
    WriteStartElement( XML_CONTOURMODEL, out );

    /*++++ <head> ++++*/
    WriteStartElement( XML_HEAD, out);

    /*++++ <geometryInfo> ++++*/
    WriteStartElement( XML_GEOMETRY_INFO, out);

    WriteGeometryInformation( contourModel->GetTimeGeometry(), out);

    /*++++ </geometryInfo> ++++*/
    WriteEndElement( XML_GEOMETRY_INFO, out);

    /*++++ </head> ++++*/
    WriteEndElement( XML_HEAD, out);

  /*++++ <data> ++++*/
  WriteStartElement( XML_DATA, out);

  unsigned int timecount = contourModel->GetTimeSteps();

  for(unsigned int i=0; i< timecount; i++)
  {
    /*++++ <timestep> ++++*/
    std::vector<std::string> at;
    at.push_back("n");
    std::vector<std::string> val;
    val.push_back(ConvertToString(i));

    at.push_back("isClosed");
    val.push_back(ConvertToString(contourModel->IsClosed()));

    WriteStartElementWithAttribut( XML_TIME_STEP, at, val, out );

    /*++++ <controlPoints> ++++*/
    WriteStartElement(XML_CONTROL_POINTS, out);

    mitk::ContourModel::VertexIterator it = contourModel->IteratorBegin();
    mitk::ContourModel::VertexIterator end = contourModel->IteratorEnd();


    while(it != end)
    {
      mitk::ContourModel::VertexType* v = *it;

      /*++++ <point> ++++*/
      std::vector<std::string> attr;
      attr.push_back("IsControlPoint");
      std::vector<std::string> value;
      value.push_back(ConvertToString(v->IsControlPoint));
      WriteStartElementWithAttribut( XML_POINT, attr, value, out );


      /*++++ <x> ++++*/
      WriteStartElement( XML_X, out );
      WriteCharacterData( ConvertToString(v->Coordinates[0] ).c_str(), out );
      /*++++ </x> ++++*/
      WriteEndElement( XML_X, out, false );

      /*++++ <y> ++++*/
      WriteStartElement( XML_Y, out );
      WriteCharacterData( ConvertToString( v->Coordinates[1] ).c_str(), out );
      /*++++ </y> ++++*/
      WriteEndElement( XML_Y, out, false );

      /*++++ <z> ++++*/
      WriteStartElement( XML_Z, out );
      WriteCharacterData( ConvertToString( v->Coordinates[2] ).c_str(), out );
      /*++++ </z> ++++*/
      WriteEndElement( XML_Z, out, false );

      /*++++ </point> ++++*/
      WriteEndElement( XML_POINT, out );

      it++;
    }

    /*++++ </controlPoints> ++++*/
    WriteEndElement(XML_CONTROL_POINTS, out);

    /*++++ </timestep> ++++*/
    WriteEndElement( XML_TIME_STEP, out );

  }

  /*++++ </data> ++++*/
  WriteEndElement( XML_DATA, out );

  /*++++ </contourModel> ++++*/
    WriteEndElement( XML_CONTOURMODEL, out );
}