本文整理汇总了C++中Aircraft::get_roskam方法的典型用法代码示例。如果您正苦于以下问题:C++ Aircraft::get_roskam方法的具体用法?C++ Aircraft::get_roskam怎么用?C++ Aircraft::get_roskam使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Aircraft
的用法示例。
在下文中一共展示了Aircraft::get_roskam方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fdm
//.........这里部分代码省略.........
// estimate distance from CG to vertical tail aero center
if (_vtail.arm == 0) {
_vtail.arm = _length * aircraft->get_vtail_arm();
}
float vt_w = 0.15f; // sqrtf(_vtail.area / _wing.area*0.5f);
if (_vtail.span == 0) {
_vtail.span = vt_w * _wing.span;
}
if (_vtail.aspect == 0) {
_vtail.aspect = 1.7f; // vt_w * _wing.aspect;
}
if (_vtail.taper == 0) {
_vtail.taper = 0.7f;
}
TR = _vtail.taper;
_vtail.chord_mean = 0.75f*_vtail.chord*(1.0f+TR+TR*TR)/(1.0f+TR);
_vtail.de_da = 4.0f/(_vtail.aspect+2.0f);
//***** EMPTY WEIGHT *********************************
// estimate empty weight, based on max weight
if (_empty_weight == 0) {
_empty_weight = _max_weight * aircraft->get_empty_weight();
}
//***** MOMENTS OF INERTIA ******************************
// use Roskam's formulae to estimate moments of inertia
if (_inertia[X] == 0.0f && _inertia[Y] == 0.0f && _inertia[Z] == 0.0f)
{
float slugs = (_empty_weight / 32.2f); // sluggishness
const float *R = aircraft->get_roskam();
// These are for an empty airplane
_inertia[X] = slugs * powf((R[X] * _wing.span / 2), 2);
_inertia[Y] = slugs * powf((R[Y] * _length / 2), 2);
_inertia[Z] = slugs * powf((R[Z] * ((_wing.span + _length)/2)/2), 2);
}
//***** CG LOCATION ***********************************
_cg_loc[X] = (_length - _htail.arm) * FEET_TO_INCH;
_cg_loc[Y] = 0;
_cg_loc[Z] = -(_length / 40.0f) * FEET_TO_INCH;
//***** AERO REFERENCE POINT **************************
_aero_rp[X] = _cg_loc[X];
_aero_rp[Y] = 0;
_aero_rp[Z] = 0;
//***** PILOT EYEPOINT *********************************
// place pilot's eyepoint based on airplane type
const float *_eyept_loc = aircraft->get_eyept_loc();
float eyept_loc[3];
eyept_loc[X] = (_length * _eyept_loc[X]) * FEET_TO_INCH;
eyept_loc[Y] = _eyept_loc[Y];
eyept_loc[Z] = _eyept_loc[Z];
//***** PAYLOAD ***************************************
// A point mass will be placed at the CG weighing
// 1/2 of the usable aircraft load.