// Common, group Miscelaneous
// Copyright Alexander Liss
#include "shape2.h"
#include "datacoder.h"
// VibroData
int pack(CommBuffer& d,const VibroData& z)
{
int g=0;
DataCoder coder;
coder.use(d);
g=coder.put(z.vigor);
if(!g) g=coder.put(z.period);
if(!g) g=coder.put(z.phase);
return g;
}
int unpack(VibroData& z,const CommBuffer& s,ReadControl& c)
{
int g=0;
DataCoder coder;
coder.use(s,c);
g=coder.get(z.vigor);
if(!g) g=coder.get(z.period);
if(!g) g=coder.get(z.phase);
return g;
}
// SwingData
int pack(CommBuffer& d,const SwingData& z)
{
int g=0;
DataCoder coder;
coder.use(d);
g=coder.put(z.direction);
if(!g) g=coder.put(z.range);
if(!g) g=coder.put(z.segment);
if(!g) g=coder.put(z.first_share);
if(!g) g=coder.put(z.last_share);
return g;
}
int unpack(SwingData& z,const CommBuffer& s,ReadControl& c)
{
int g=0;
DataCoder coder;
coder.use(s,c);
g=coder.get(z.direction);
if(!g) g=coder.get(z.range);
if(!g) g=coder.get(z.segment);
if(!g) g=coder.get(z.first_share);
if(!g) g=coder.get(z.last_share);
return g;
}
// Vibro
int pack(CommBuffer& d,const Vibro& z)
{
int g=0;
DataCoder coder;
coder.use(d);
g=coder.put(z.amplitude);
if(!g) g=coder.put(z.frequency);
if(!g) g=coder.put(z.phase);
return g;
}
int unpack(Vibro& z,const CommBuffer& s,ReadControl& c)
{
int g=0;
DataCoder coder;
coder.use(s,c);
g=coder.get(z.amplitude);
if(!g) g=coder.get(z.frequency);
if(!g) g=coder.get(z.phase);
return g;
}
int pack(CommBuffer& d,const Swing& z)
{
int g=0;
DataCoder coder;
coder.use(d);
g=coder.put(z.direction);
if(!g) g=coder.put(z.h);
if(!g) g=coder.put(z.t);
if(!g) g=coder.put(z.t0);
if(!g) g=coder.put(z.t1);
if(!g) g=coder.put(z.a0);
if(!g) g=coder.put(z.a1);
if(!g) g=coder.put(z.b);
return g;
}
int unpack(Swing& z,const CommBuffer& s,ReadControl& c)
{
int g=0;
DataCoder coder;
coder.use(s,c);
g=coder.get(z.direction);
if(!g) g=coder.get(z.h);
if(!g) g=coder.get(z.t);
if(!g) g=coder.get(z.t0);
if(!g) g=coder.get(z.t1);
if(!g) g=coder.get(z.a0);
if(!g) g=coder.get(z.a1);
if(!g) g=coder.get(z.b);
return g;
}