#include "JitterMatrix.h" namespace FD { using namespace std; char* reverse(const char* data, const int size) { char* reverse = new char[size]; int i=0; for(i=0;i long; 2 -> float32 { m_packetMatrix.dimStride[1] *= 4; m_packetMatrix.dataSize *= 4; } else if( type==3 ) // 3 -> float64 { m_packetMatrix.dimStride[1] *= 8; m_packetMatrix.dataSize *= 8; } if(m_buffer!=NULL) { delete[] m_buffer; } m_buffer = new char[m_packetMatrix.dataSize]; memcpy(m_buffer, buffer, m_packetMatrix.dataSize); } /**Serialize (binary) the object to a stream*/ void JitterMatrix::serialize(std::ostream &out) const { } /**Unserialize (binary) the object from a stream*/ void JitterMatrix::unserialize(std::istream &in) { } /**Generic print function*/ void JitterMatrix::printOn(std::ostream &out) const { out << "JitterMatrix" << endl; if(m_packetMatrix.ID == "JMTX") { out << "ID Header: " << m_packetHeader.ID << endl; out << "Size Header : " << m_packetHeader.size << endl; out << "ID Matrix : " << m_packetMatrix.ID << endl; out << "Size Matrix : " << m_packetMatrix.size << endl; out << "PlanetCount : " << m_packetMatrix.planeCount << endl; out << "Type : " << m_packetMatrix.type << endl; out << "DimCount : " << m_packetMatrix.dimCount << endl; out << "Dim : [" << m_packetMatrix.dim[0] << ":" << m_packetMatrix.dim[1] << "]" << endl; out << "DimStride : [" << m_packetMatrix.dimStride[0] << ":" << m_packetMatrix.dimStride[1] << "]" << endl; out << "DataSize : " << m_packetMatrix.dataSize << endl; out << "Time : " << m_packetMatrix.time << endl; } else { out << "NULL"; } } /**Generic read function*/ void JitterMatrix::readFrom(std::istream &in) { } /*******************************/ /** Set Functions **/ /******************************/ void JitterMatrix::setIDHeader(char* IDPacketHeader) { string temp(IDPacketHeader,4); m_packetHeader.ID = temp; } void JitterMatrix::setSizeHeader(char* sizeHeader) { m_packetHeader.size = *(reinterpret_cast(sizeHeader)); } void JitterMatrix::setIDMatrix(char* IDMatrix) { string temp(IDMatrix,4); m_packetMatrix.ID = temp; } void JitterMatrix::setSizeMatrix(char* sizeMatrix) { m_packetMatrix.size = *(reinterpret_cast(sizeMatrix)); } void JitterMatrix::setPlaneCount(char* planeCount) { m_packetMatrix.planeCount = *(reinterpret_cast(planeCount)); } void JitterMatrix::setType(char* type) { m_packetMatrix.type = *(reinterpret_cast(type)); } void JitterMatrix::setDimCount(char* dimCount) { m_packetMatrix.dimCount = *(reinterpret_cast(dimCount)); } void JitterMatrix::setDim(char* dim) { int i=0; char* temp; for(i=0;i<32;i++) { temp = reverse(dim+i*4,4); m_packetMatrix.dim[i] = *(reinterpret_cast(temp)); } } void JitterMatrix::setDimStride(char* dimStride) { int i=0; char* temp ; for(i=0;i<32;i++) { temp = reverse(dimStride+i*4,4); m_packetMatrix.dimStride[i] = *(reinterpret_cast(temp)); } } void JitterMatrix::setDataSize(char* dataSize) { m_packetMatrix.dataSize = *(reinterpret_cast(dataSize)); } void JitterMatrix::setTime(char* time) { m_packetMatrix.time = *(reinterpret_cast(time)); } void JitterMatrix::setBuffer(const char* buffer) { if(m_buffer!=NULL) { delete[] m_buffer; } m_buffer = new char[m_packetMatrix.dataSize]; memcpy(m_buffer, buffer, m_packetMatrix.dataSize); } /*******************************/ /** get Functions **/ /******************************/ const t_jit_net_packet_header JitterMatrix::getHeader() { return m_packetHeader; } const t_jit_net_packet_matrix JitterMatrix::getMatrix() { return m_packetMatrix; } char* JitterMatrix::getBuffer() { return m_buffer; } long JitterMatrix::getWidth() { return m_packetMatrix.dim[0]; } long JitterMatrix::getHeight() { return m_packetMatrix.dim[1]; } long JitterMatrix::getPlaneCount() { return m_packetMatrix.planeCount; } }//namespace FD