Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "mitkNDIPassiveTool.h"
00019 #include <iostream>
00020 #include <fstream>
00021
00022
00023 mitk::NDIPassiveTool::NDIPassiveTool()
00024 : InternalTrackingTool(),
00025 m_SROMData(NULL),
00026 m_SROMDataLength(0),
00027 m_TrackingPriority(Dynamic),
00028 m_PortHandle()
00029 {
00030 }
00031
00032
00033 mitk::NDIPassiveTool::~NDIPassiveTool()
00034 {
00035 if (m_SROMData != NULL)
00036 {
00037 delete[] m_SROMData;
00038 m_SROMData = NULL;
00039 }
00040 }
00041
00042
00043 bool mitk::NDIPassiveTool::LoadSROMFile(const char* filename)
00044 {
00045 if (filename == NULL)
00046 return false;
00047 if (filename[0] == '\0')
00048 return false;
00049
00050 m_File = filename;
00051 std::basic_ifstream<char> file;
00052 file.open(filename, std::ios::in | std::ios::binary);
00053 if (file.is_open() == false)
00054 return false;
00055
00056 file.seekg (0, std::ios::end);
00057 unsigned int newLength = file.tellg();
00058 file.seekg (0, std::ios::beg);
00059 char* newData = new char [newLength];
00060 file.read(newData, newLength);
00061 file.close();
00062 if (file.fail() == true)
00063 {
00064 delete[] newData;
00065 return false;
00066 }
00067 if (m_SROMData != NULL)
00068 delete[] m_SROMData;
00069 m_SROMDataLength = newLength;
00070 m_SROMData = (unsigned char*) newData;
00071 this->Modified();
00072 return true;
00073 }
00074
00075
00076 const unsigned char* mitk::NDIPassiveTool::GetSROMData() const
00077 {
00078 return m_SROMData;
00079 }
00080
00081
00082 unsigned int mitk::NDIPassiveTool::GetSROMDataLength() const
00083 {
00084 return m_SROMDataLength;
00085 }