Hi All,<br /><br />I have been trying to produce stream message when a tracker tool goes out of volume. Usually when the tools are within volume, the stream message is just updated values of the coordinates. <br /><br />I have been trying to accomplish this using <br /><br />igstkEventMacro(TrackerToolOutofVolume, igstk::TrackerToolNotAvailableToBeTrackedEvent)<br /><br />and later in the code, I wrote,<br />----------------------<br />if (!(this->m_Tool->HasObserver(TrackerToolOutOfVolume()))){<br />           <br />                    sprintf(buffer, "%f   %.3f  %.3f  %.3f  %.3f  %.3f  %.3f  %.3f \n", EDTtimeStamp , -t[0], t[1], -(t[2]+1410),<br />                    r.GetX()*(180/PI), r.GetY()*(180/PI), r.GetZ()*(180/PI), r.GetW()*(180/PI));<br />         <br />                    this->m_PositionMessage.assign(buffer); <br /><br />                    std::vector< ofstream * >::iterator it; <br />                    for (it = this->m_Ofstreams.begin(); it != this->m_Ofstreams.end(); ++it)<br />                      {<br />                         (*(*it)) << this->m_PositionMessage; <br />                      }<br />                    <br />                    std::cout << this->m_PositionMessage; <br />else<br />                   sprintf(buffer, "NaN  NaN  NaN NaN  NaN NaN  NaN  NaN\n", EDTtimeStamp);<br />}<br />------------------------------<br /><br /><br />But after days of attempts of tweaking it differently, I found it does not work in anyway. I am sure I am missing something but I cannot figure out what.<br /><br />This is only an extension of the TrackerDataLogger program.<br /><br />Can someone Please help me diagnose this issue.<br /><br />Your help would be much appreciated as I am literally couple weeks away from experiment with this outstanding issue.<br /><br />Sincerely<br /><br />Arefin