123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- #include "MyStream.h"
- void readHObject(QDataStream& readStream, HalconCpp::HObject& hObj)
- {
- using namespace HalconCpp;
- QByteArray data;
- readStream >> data;
- if (data.size() == 0)
- return;
- try
- {
- HSerializedItem item;
- item.CreateSerializedItemPtr(data.data(), data.size(), "true");
- hObj.DeserializeObject(item);
- }
- catch (...)
- {
-
- }
- }
- void readHTuple(QDataStream& readStream, HalconCpp::HTuple& hDat)
- {
- using namespace HalconCpp;
- QByteArray data;
- readStream >> data;
- try
- {
- //int s = data.size();
- //HSerializedItem item;
- //item.CreateSerializedItemPtr((void*)data.data(), (Hlong)data.size(), "true");
- //DeserializeTuple(HTuple(item.GetHandle()), &hDat);
- HTuple hv_SerializedItemHandle1;
- CreateSerializedItemPtr((Hlong)data.data(), (Hlong)data.size(), "true", &hv_SerializedItemHandle1);
- DeserializeTuple(hv_SerializedItemHandle1, &hDat);
- }
- catch (...)
- {
- }
- }
- void readShapeModel(QDataStream& readStream, HalconCpp::HShapeModel& hModel)
- {
- using namespace HalconCpp;
- QByteArray data;
- readStream >> data;
- if (data.size() == 0)
- return;
- try
- {
- //int s = data.size();
- HSerializedItem item;
- item.CreateSerializedItemPtr(data.data(), data.size(), "true");
- hModel.DeserializeShapeModel(item);
- }
- catch (...)
- {
- }
- }
- void saveHObject(QDataStream& writeStream, const HalconCpp::HObject& hObj)
- {
- using namespace HalconCpp;
- QByteArray byteArray;
- if (hObj.IsInitialized())
- {
- HSerializedItem item = hObj.SerializeObject();
- Hlong size;
- char* data = (char*)item.GetSerializedItemPtr(&size);
- byteArray.resize(size);
- memcpy(byteArray.data(), data, size);
- }
- writeStream << byteArray;
- }
- void saveHTuple(QDataStream& writeStream, const HalconCpp::HTuple& hDat)
- {
- using namespace HalconCpp;
- QByteArray byteArray;
- HSerializedItem item = hDat.SerializeTuple();
- Hlong size;
- char* data = (char*)item.GetSerializedItemPtr(&size);
- byteArray.resize(size);
- memcpy(byteArray.data(), data, size);
- writeStream << byteArray;
- }
- void saveShapeModel(QDataStream& writeStream, const HalconCpp::HShapeModel& hModel)
- {
- using namespace HalconCpp;
- QByteArray byteArray;
- if (hModel.IsInitialized())
- {
- HSerializedItem item = hModel.SerializeShapeModel();
- Hlong size;
- char* data = (char*)item.GetSerializedItemPtr(&size);
- byteArray.resize(size);
- memcpy(byteArray.data(), data, size);
- }
- writeStream << byteArray;
- }
- QDataStream& operator << (QDataStream& ar, HObject& hDat)
- {
- saveHObject(ar, hDat);
- return ar;
- }
- QDataStream& operator >> (QDataStream& ar, HObject& hDat)
- {
- readHObject(ar, hDat);
- return ar;
- }
- QDataStream& operator << (QDataStream& ar, HTuple& hDat)
- {
- saveHTuple(ar, hDat);
- return ar;
- }
- QDataStream& operator >> (QDataStream& ar, HTuple& hDat)
- {
- readHTuple(ar, hDat);
- return ar;
- }
- QDataStream& operator<<(QDataStream& dataStream, ROIController& roi)
- {
- roi.save(dataStream);
- return dataStream;
- }
- QDataStream& operator>>(QDataStream& dataStream, ROIController& roi)
- {
- roi.load(dataStream);
- return dataStream;
- }
|