WRAPPER_API ClassType get_Class() const
The get_Class method indicates the type of this DatumShift according to the ClassType enumeration.
void DatumShift_getClass(GEOCALCPBW_NAMESPACE::DatumShift & ds, GEOCALCPBW_NAMESPACE::DataSource & data)
{
if(ds.get_Class() == GEOCALCPBW_NAMESPACE::DatumShift::ClassType::BursaWolfe)
{
if(ds.get_Parameters().Exists(L"dx"))
{
GEOCALCPBW_NAMESPACE::LinearValue lv;
lv.set_InMeters(660.077);
ds.get_Parameters().set_LinearItem(L"dx", lv);
}
if(ds.get_Parameters().Exists(L"dy"))
{
GEOCALCPBW_NAMESPACE::LinearValue lv;
lv.set_InMeters(13.551);
ds.get_Parameters().set_LinearItem(L"dy", lv);
}
if(ds.get_Parameters().Exists(L"dz"))
{
GEOCALCPBW_NAMESPACE::LinearValue lv;
lv.set_InMeters(369.344);
ds.get_Parameters().set_LinearItem(L"dz", lv);
}
GEOCALCPBW_NAMESPACE::AngularUnit * au = data.GetAngularUnit(L"BMG", L"ARCSECONDS");
GEOCALCPBW_NAMESPACE::AngularValue av;
av.set_Units(*au);
if(ds.get_Parameters().Exists(L"rx"))
{
av.set_InUnits(-0.804816);
ds.get_Parameters().set_AngularItem(L"rx", av);
}
if(ds.get_Parameters().Exists(L"ry"))
{
av.set_InUnits(-0.577692);
ds.get_Parameters().set_AngularItem(L"ry", av);
}
if(ds.get_Parameters().Exists(L"rz"))
{
av.set_InUnits(-0.952236);
ds.get_Parameters().set_AngularItem(L"rz", av);
}
if(ds.get_Parameters().Exists(L"k"))
{
ds.get_Parameters().set_FloatItem(L"k", 5.66);
}
}
}