本文整理汇总了C++中VariablesGrid::appendTimes方法的典型用法代码示例。如果您正苦于以下问题:C++ VariablesGrid::appendTimes方法的具体用法?C++ VariablesGrid::appendTimes怎么用?C++ VariablesGrid::appendTimes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VariablesGrid
的用法示例。
在下文中一共展示了VariablesGrid::appendTimes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getReference
returnValue PeriodicReferenceTrajectory::getReference( double tStart,
double tEnd,
VariablesGrid& _yRef
) const
{
if ( acadoIsStrictlyGreater( tStart,tEnd ) == BT_TRUE )
return ACADOERROR( RET_INVALID_ARGUMENTS );
double T = yRef.getLastTime() - yRef.getFirstTime(); // cycle duration
int nStart = (int)floor( (double) (tStart/T+100.0*EPS) ); // cycle number at start
int nEnd = (int)floor( (double) (tEnd /T-100.0*EPS) ); // cycle number at end
if ( nStart == nEnd )
{
_yRef = (yRef.getTimeSubGrid( tStart-T*(double)nStart,tEnd-T*(double)nStart )).shiftTimes( T*(double)nStart );
}
else
{
_yRef = (yRef.getTimeSubGrid( tStart-T*(double)nStart,yRef.getLastTime() )).shiftTimes( T*(double)nStart );
for( int i=nStart+1; i<nEnd; ++i )
_yRef.appendTimes( VariablesGrid(yRef).shiftTimes( T*(double)i ),MM_KEEP );
_yRef.appendTimes( (yRef.getTimeSubGrid( yRef.getFirstTime(),tEnd-T*(double)nEnd )).shiftTimes( T*(double)nEnd ) );
}
return SUCCESSFUL_RETURN;
}