1 #ifndef __CIFTI_XML_H__
2 #define __CIFTI_XML_H__
31 #include "CiftiMappingType.h"
32 #include "CiftiVersion.h"
35 #include "CiftiBrainModelsMap.h"
36 #include "CiftiLabelsMap.h"
37 #include "CiftiParcelsMap.h"
38 #include "CiftiScalarsMap.h"
39 #include "CiftiSeriesMap.h"
41 #include "boost/shared_ptr.hpp"
57 int getNumberOfDimensions()
const {
return m_indexMaps.size(); }
58 const CiftiVersion& getParsedVersion()
const {
return m_parsedVersion; }
65 const MetaData& getFileMetaData()
const;
67 CiftiMappingType::MappingType getMappingType(
const int& direction)
const;
78 int64_t getDimensionLength(
const int& direction)
const;
79 std::vector<int64_t> getDimensions()
const;
81 void setNumberOfDimensions(
const int& num);
83 void setFileMetaData(
const MetaData& mdIn) { m_fileMetaData = mdIn; }
86 void readXML(XmlReader& xml);
87 void readXML(
const std::vector<char>& text);
98 bool operator==(
const CiftiXML& rhs)
const;
99 bool operator!=(
const CiftiXML& rhs)
const {
return !((*this) == rhs); }
100 bool approximateMatch(
const CiftiXML& rhs)
const;
102 std::vector<boost::shared_ptr<CiftiMappingType> > m_indexMaps;
106 void copyHelper(
const CiftiXML& rhs);
108 void parseCIFTI1(XmlReader& xml);
109 void parseMatrix1(XmlReader& xml);
110 void parseCIFTI2(XmlReader& xml);
111 void parseMatrix2(XmlReader& xml);
112 void parseMatrixIndicesMap1(XmlReader& xml);
113 void parseMatrixIndicesMap2(XmlReader& xml);
115 void writeMatrix1(XmlWriter& xml)
const;
116 void writeMatrix2(XmlWriter& xml)
const;
120 #endif //__CIFTI_XML_H__