set_SemiMinor Method

WRAPPER_API void set_SemiMinor(LinearValue &value)

 

Description

The set_SemiMinor method sets the length of the semi-minor radius for this Ellipsoid.  If the value of InvFlatDefinitive is false, then setting this property will affect the value of the Eccentricity, EccentricitySquared, and SemiMinor properties.  If InvFlatDefinitive is true, then setting this property will not affect the Ellipsoid.

 

Example

void Ellipsoid_setSemiMinor(GEOCALCPBW_NAMESPACE::DataSource & data)

{

GEOCALCPBW_NAMESPACE::Ellipsoid * ell = GEOCALCPBW_NAMESPACE::Ellipsoid::CreateEllipsoid();

GEOCALCPBW_NAMESPACE::LinearValue semiMaj;

semiMaj.set_InMeters(6378137);

ell->set_SemiMajor(semiMaj);

ell->set_InvFlatDefinitive(false);

GEOCALCPBW_NAMESPACE::LinearValue semiMin;

semiMin.set_InMeters(6356752.31424518);

ell->set_SemiMinor(semiMin);

 

GEOCALCPBW_NAMESPACE::GeodeticPoint * fromPt = data.GetGeodeticPoint(L"BMG", L"GEODETIC_POINT_DEGREES");

GEOCALCPBW_NAMESPACE::GeodeticPoint * toPt = data.GetGeodeticPoint(L"BMG", L"GEODETIC_POINT_DEGREES");

fromPt->set_InUnits(-77.36, 45.45);

toPt->set_InUnits(-77.43, 46.68);

double azimuthAhead;

double azimuthBack;

double geodesic;

if(! ell->ComputeInverse(*fromPt, *toPt, geodesic, azimuthAhead, azimuthBack))

{

AfxMessageBox("ComputeInverse failed");

}

 

delete fromPt;

delete toPt;

}