当前位置: 首页>>代码示例>>C++>>正文


C++ Velocity::mkVs方法代码示例

本文整理汇总了C++中Velocity::mkVs方法的典型用法代码示例。如果您正苦于以下问题:C++ Velocity::mkVs方法的具体用法?C++ Velocity::mkVs怎么用?C++ Velocity::mkVs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Velocity的用法示例。


在下文中一共展示了Velocity::mkVs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

std::pair<LatLonAlt,Velocity> KinematicsLatLon::vsAccel(const LatLonAlt& so, const Velocity& vo,  double t, double a) {
	double dist = vo.gs()*t;
	double currentTrk = vo.trk();
	LatLonAlt sn = GreatCircle::linear_initial(so, currentTrk, dist);
	double nsz = so.alt() + vo.z*t + 0.5*a*t*t;
	sn = sn.mkAlt(nsz);
	Velocity  vn = vo.mkVs(vo.z + a*t);
	return std::pair<LatLonAlt,Velocity>(sn,vn);
}
开发者ID:nasa,项目名称:WellClear,代码行数:9,代码来源:KinematicsLatLon.cpp

示例2:

Triple<Position,Velocity,double> ProjectedKinematics::vsLevelOutFinal(const Position& so, const Velocity& vo, double climbRate, double targetAlt, double a) {
	if (climbRate == 0) {
		return Triple<Position,Velocity,double>(so.mkZ(targetAlt),vo.mkVs(0),0.0);
	} else {
		std::pair<Vect3, Velocity> sv = std::pair<Vect3, Velocity>(so.point(),vo);
		if (so.isLatLon()) {
			sv = Projection::createProjection(so.lla().zeroAlt()).project(so, vo);
		}
		StateVector vat = Kinematics::vsLevelOutFinal(sv, climbRate, targetAlt, a);
		if (vat.t() < 0) return Triple<Position,Velocity,double>(Position::INVALID(), Velocity::INVALIDV(), vat.t());
		if (so.isLatLon()) {
			std::pair<Position,Velocity>p = Projection::createProjection(so.lla().zeroAlt()).inverse(vat.s(),vat.v(),true);
			return Triple<Position,Velocity,double>(p.first, p.second, vat.t());
		} else {
			return Triple<Position,Velocity,double>(Position(vat.s()), vat.v(), vat.t());
		}
	}
}
开发者ID:E-LLP,项目名称:WellClear,代码行数:18,代码来源:ProjectedKinematics.cpp


注:本文中的Velocity::mkVs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。