Revision 8e8882847d428a8f6e4080507e95b42acc6674ad authored by Rene Brun on 26 September 2006, 13:44:50 UTC, committed by Rene Brun on 26 September 2006, 13:44:50 UTC
When loading the geometry from a file, the element table is recreated (never streamed) so the attribute flags (defined/used) of elements are lost. The patch loops over all defined materials/mixtures in this case and restores the flags.

Affected: TFluka when geometry was loaded from the file.


git-svn-id: http://root.cern.ch/svn/root/trunk@16348 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 0900218
Raw File
xmlnewfile.C
// Example to create a new xml file with the TXMLEngine class

#include "TXMLEngine.h"

void xmlnewfile(const char* filename = "example.xml")
{
   // First create engine
   TXMLEngine* xml = new TXMLEngine;
   
   // Create main node of document tree
   XMLNodePointer_t mainnode = xml->NewChild(0, 0, "main");

   // Simple child node with content inside
   xml->NewChild(mainnode, 0, "child1", "Content of child1 node");

   // Other child node with attributes
   XMLNodePointer_t child2 = xml->NewChild(mainnode, 0, "child2");
   xml->NewAttr(child2, 0, "attr1","value1"); 
   xml->NewAttr(child2, 0, "attr2","value2");

   // Child node with subnodes
   XMLNodePointer_t child3 = xml->NewChild(mainnode, 0, "child3");
   xml->NewChild(child3, 0, "subchild1", "subchild1 content");
   xml->NewChild(child3, 0, "subchild2", "subchild2 content");
   xml->NewChild(child3, 0, "subchild3", "subchild3 content");

   // Child node with subnodes and namespace
   XMLNodePointer_t child4 = xml->NewChild(mainnode, 0, "child4");
   XMLNsPointer_t ns4 = xml->NewNS(child4, "http://wesite/webpage");
   xml->NewChild(child4, ns4, "subchild1", "subchild1 content");
   xml->NewChild(child4, ns4, "subchild2", "subchild2 content");
   xml->NewChild(child4, ns4, "subchild3", "subchild3 content");

   // now create doccumnt and assign main node of document
   XMLDocPointer_t xmldoc = xml->NewDoc();
   xml->DocSetRootElement(xmldoc, mainnode);
   
   // Save document to file
   xml->SaveDoc(xmldoc, filename);
      
   // Release memory before exit
   xml->FreeDoc(xmldoc);
   delete xml;
}
back to top