本文整理汇总了C++中Level::GetRequestMode方法的典型用法代码示例。如果您正苦于以下问题:C++ Level::GetRequestMode方法的具体用法?C++ Level::GetRequestMode怎么用?C++ Level::GetRequestMode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Level
的用法示例。
在下文中一共展示了Level::GetRequestMode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Input
void EminPFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node, LocalMatOps>::DeclareInput(Level& fineLevel, Level& coarseLevel) const {
Input(fineLevel, "A");
static bool isAvailableP0 = false;
static bool isAvailableConstraint0 = false;
// Here is a tricky little piece of code
// We don't want to request (aka call Input) when we reuse and P0 is available
// However, we cannot run something simple like this:
// if (!coarseLevel.IsAvailable("P0", this))
// Input(coarseLevel, "P");
// The reason is that it works fine during the request stage, but fails
// in the release stage as we _construct_ P0 during Build process. Therefore,
// we need to understand whether we are in Request or Release mode
// NOTE: This is a very unique situation, please try not to propagate the
// mode check any further
if (coarseLevel.GetRequestMode() == Level::REQUEST) {
isAvailableP0 = coarseLevel.IsAvailable("P0", this);
isAvailableConstraint0 = coarseLevel.IsAvailable("Constraint0", this);
}
if (isAvailableP0 == false)
Input(coarseLevel, "P");
if (isAvailableConstraint0 == false)
Input(coarseLevel, "Constraint");
}
示例2: Input
void CoordinatesTransferFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node>::DeclareInput(Level& fineLevel, Level& coarseLevel) const {
static bool isAvailableCoords = false;
if (coarseLevel.GetRequestMode() == Level::REQUEST)
isAvailableCoords = coarseLevel.IsAvailable("Coordinates", this);
if (isAvailableCoords == false) {
Input(fineLevel, "Coordinates");
Input(fineLevel, "Aggregates");
Input(fineLevel, "CoarseMap");
}
}