43 #ifndef SVK_SAT_BANDS_XML_H
44 #define SVK_SAT_BANDS_XML_H
49 #include <vtkObject.h>
50 #include <vtkXMLDataElement.h>
86 int SetXMLFileName( vtkstd::string xmlFileName );
87 int ParseXML( vtkXMLDataElement* satBandsElement );
88 vtkstd::string GetXMLFileName( );
90 void SetVerbose(
bool isVerbose );
91 int GetNumberOfPressBoxSats();
92 int GetNumberOfAutoSats();
119 void GetPRESSBoxParameters(
120 float pressOrigin[3],
121 float pressThickness[3],
126 int GetAutoSatParameters(
133 int ConvertDatToXML(
string rootName );
134 int ConvertDatToXML2(
string rootName );
136 vtkXMLDataElement* GetXMLDataElement();
138 void WriteXMLFile(
string xmlFileName);
150 float GetFloatElementData( vtkXMLDataElement* element );
151 void InitSatBandInfo(
152 vtkXMLDataElement* satBandElement,
160 bool IsNormalUnique(
float normal[3],
float normals[3][3] );
161 bool IsConventionalNormal(
float normalIn[3] );
162 void InitPressBoxNormals(
float normals[3][3] );
163 void MakePRESSOrthonormal(
float normals[3][3] );
164 void InitPressDistances(
float normals[3][3],
float distances[3][2]);
165 void RotationMatrixToEulerAngles(
float normals[3][3],
float eulerAngles[3] );
166 void LPSToRAS(
float normals[3][3] );
167 void TransposeNormals(
float normals[3][3] );
168 void PSDAutSatAnglesToNormal(
float angle1,
float angle2,
float normal[3] );
169 int InitPressBoxFromDat(
string rootName );
170 int InitPressBoxFromDat2(
string rootName );
171 int InitSatsFromDat(
string rootName );
172 void SortNormalArrayRLAPSI(
float normals[3][3] );
174 void GetPRESSBoxParametersVer10(
175 float pressOrigin[3],
176 float pressThickness[3],
180 void GetPRESSBoxParametersVer20(
181 float pressOrigin[3],
182 float pressThickness[3],
189 vtkstd::string xmlFileName;
190 vtkXMLDataElement* satBandsXML;
191 vtkXMLDataElement* versionElement;
192 vtkXMLDataElement* pressBoxElement;
193 vtkXMLDataElement* autoSatsElement;
202 #endif //SVK_SAT_BANDS_XML_H
225 float* pressThickness,
void svkSatBandsXML_GetPRESSBoxParameters(void *xml, float *pressOrigin, float *pressThickness, float *pressAngles)
Definition: svkSatBandsXML.cc:1822
int svkSatBandsXML_GetAutoSatParameters(void *xml, int satNumber, float *normal, float *thickness, float *distance)
Definition: svkSatBandsXML.cc:1832
Definition: svkSatBandsXML.h:78
int svkSatBandsXML_GetNumberOfPressBoxSats(void *xml)
Definition: svkSatBandsXML.cc:1763
void * svkSatBandsXML_New(const char *xmlFileName, int *status)
Definition: svkSatBandsXML.cc:1741
void svkSatBandsXML_GetPressBoxSat(void *xml, int satNumber, float *normalX, float *normalY, float *normalZ, float *thickness, float *distance)
Definition: svkSatBandsXML.cc:1782
int svkSatBandsXML_GetNumberOfAutoSats(void *xml)
Definition: svkSatBandsXML.cc:1772
int svkSatBandsXML_GetAutoSat(void *xml, int satNumber, float *normalX, float *normalY, float *normalZ, float *thickness, float *distance)
Definition: svkSatBandsXML.cc:1801
void * svkSatBandsXML_Delete(void *xml)
Definition: svkSatBandsXML.cc:1753