00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00020 #include<ImLib3D/ImLib3DFile.hpp>
00021
00022 bool
00023 ImLib3DFile::IsImLib3DImage(const string &fname)
00024 {
00025 bool isImage=false;
00026 if(FileExists(fname))
00027 {
00028
00029 try
00030 {
00031 ImLib3DFile file(fname,"r",true);
00032 file.GetChild(file.GetRoot("ImLib3DFileDescription"), "ImLib3DImage");
00033 isImage=true;
00034 }
00035 catch(std::exception& __fail){}
00036
00037 try
00038 {
00039 ImLib3DFile file(fname,"r",true);
00040 file.GetRoot("ImLib3DImage");
00041 isImage=true;
00042 }
00043 catch(std::exception& __fail){}
00044 }
00045 return isImage;
00046 }
00047
00048 xmlpp::Element *
00049 Streamable::CreateWriteNode(const string &topNodeName,ImLib3DFile *file,xmlpp::Element *parentNode,xmlpp::Element *node) const
00050 {
00051 if(!parentNode && !node){node=file->SetRoot(topNodeName);}
00052 if(!node){node=parentNode->add_child(topNodeName);}
00053 return node;
00054 }
00055 xmlpp::Element *
00056 Streamable::CreateReadNode(const string &topNodeName,ImLib3DFile *file,xmlpp::Element *parentNode,xmlpp::Element *node)
00057 {
00058
00059 {
00060 if(!parentNode && !node)
00061 {
00062 xmlpp::Element *root=file->GetRoot();
00063 cout << "t1:" << root << endl;
00064 cout << "t2:" << root->get_name() << endl;
00065 if(root->get_name()=="ImLib3DFileDescription"){parentNode=root;}
00066 }
00067 }
00068
00069 if(!parentNode && !node){node=file->GetRoot(topNodeName);}
00070 if(!node){node=file->GetChild(parentNode,topNodeName);}
00071 return node;
00072 }