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


C++ overlay::Pointer类代码示例

本文整理汇总了C++中overlay::Pointer的典型用法代码示例。如果您正苦于以下问题:C++ Pointer类的具体用法?C++ Pointer怎么用?C++ Pointer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: AABox

 template <> const Item::Bound payloadGetBound(const Overlay::Pointer& overlay) {
     if (overlay->is3D()) {
         return static_cast<Base3DOverlay*>(overlay.get())->getBounds();
     } else {
         QRect bounds = static_cast<Overlay2D*>(overlay.get())->getBounds();
         return AABox(glm::vec3(bounds.x(), bounds.y(), 0.0f), glm::vec3(bounds.width(), bounds.height(), 0.1f));
     }
 }
开发者ID:DaveDubUK,项目名称:hifi,代码行数:8,代码来源:OverlaysPayload.cpp

示例2: payloadGetLayer

 template <> int payloadGetLayer(const Overlay::Pointer& overlay) {
     // MAgic number while we are defining the layering mechanism:
     const int LAYER_2D =  2;
     const int LAYER_3D_FRONT = 1;
     const int LAYER_3D = 0;
     if (overlay->is3D()) {
         return (static_cast<Base3DOverlay*>(overlay.get())->getDrawInFront() ? LAYER_3D_FRONT : LAYER_3D);
     } else {
         return LAYER_2D;
     }
 }
开发者ID:DaveDubUK,项目名称:hifi,代码行数:11,代码来源:OverlaysPayload.cpp

示例3: Builder

 template <> const ItemKey payloadGetKey(const Overlay::Pointer& overlay) {
     if (overlay->is3D() && !static_cast<Base3DOverlay*>(overlay.get())->getDrawOnHUD()) {
         if (static_cast<Base3DOverlay*>(overlay.get())->getDrawInFront()) {
             return ItemKey::Builder().withTypeShape().withLayered().build();
         } else {
             return ItemKey::Builder::opaqueShape();
         }
     } else {
         return ItemKey::Builder().withTypeShape().withViewSpace().build();
     }
 }
开发者ID:DaveDubUK,项目名称:hifi,代码行数:11,代码来源:OverlaysPayload.cpp

示例4: payloadGetKey

 template <> const ItemKey payloadGetKey(const Overlay::Pointer& overlay) {
     auto builder = ItemKey::Builder().withTypeShape();
     if (overlay->is3D()) {
         if (std::static_pointer_cast<Base3DOverlay>(overlay)->getDrawInFront()) {
             builder.withLayered();
         }
         if (overlay->getAlphaPulse() != 0.0f || overlay->getAlpha() != 1.0f) {
             builder.withTransparent();
         }
     } else {
         builder.withViewSpace();
     }
     return builder.build();
 }
开发者ID:kencooke,项目名称:hifi,代码行数:14,代码来源:OverlaysPayload.cpp

示例5:

void mitk::OverlayManager::AddOverlay(const Overlay::Pointer& overlay, BaseRenderer* renderer, bool ForceInForeground)
{
  std::pair<OverlaySet::iterator,bool> inSet;
  inSet = m_OverlaySet.insert(overlay);
  if(inSet.second)
  {
    if(ForceInForeground)
    {
      vtkRenderer* forgroundRenderer = m_ForegroundRenderer[renderer];
      overlay->AddToRenderer(renderer,forgroundRenderer);
    }
    else
      overlay->AddToBaseRenderer(renderer);
  }
}
开发者ID:DiagnosisMultisystems,项目名称:MITK,代码行数:15,代码来源:mitkOverlayManager.cpp

示例6:

void mitk::OverlayManager::AddOverlay(const Overlay::Pointer& overlay, BaseRenderer* renderer)
{
    std::pair<OverlaySet::iterator,bool> inSet;
    inSet = m_OverlaySet.insert(overlay);
    if(inSet.second)
    {
        overlay->AddToBaseRenderer(renderer);
    }
}
开发者ID:GHfangxin,项目名称:MITK,代码行数:9,代码来源:mitkOverlayManager.cpp

示例7: payloadRender

 template <> void payloadRender(const Overlay::Pointer& overlay, RenderArgs* args) {
     if (args) {
         if (overlay->getAnchor() == Overlay::MY_AVATAR) {
             auto batch = args->_batch;
             MyAvatar* avatar = DependencyManager::get<AvatarManager>()->getMyAvatar();
             glm::quat myAvatarRotation = avatar->getOrientation();
             glm::vec3 myAvatarPosition = avatar->getPosition();
             float angle = glm::degrees(glm::angle(myAvatarRotation));
             glm::vec3 axis = glm::axis(myAvatarRotation);
             float myAvatarScale = avatar->getScale();
             Transform transform = Transform();
             transform.setTranslation(myAvatarPosition);
             transform.setRotation(glm::angleAxis(angle, axis));
             transform.setScale(myAvatarScale);
             batch->setModelTransform(transform);
             overlay->render(args);
         } else {
             overlay->render(args);
         }
     }
 }
开发者ID:bwent,项目名称:hifi,代码行数:21,代码来源:OverlaysPayload.cpp

示例8: payloadRender

    template <> void payloadRender(const Overlay::Pointer& overlay, RenderArgs* args) {
        if (args) {
            if (overlay->getAnchor() == Overlay::MY_AVATAR) {
                glPushMatrix();
                MyAvatar* avatar = DependencyManager::get<AvatarManager>()->getMyAvatar();
                glm::quat myAvatarRotation = avatar->getOrientation();
                glm::vec3 myAvatarPosition = avatar->getPosition();
                float angle = glm::degrees(glm::angle(myAvatarRotation));
                glm::vec3 axis = glm::axis(myAvatarRotation);
                float myAvatarScale = avatar->getScale();

                glTranslatef(myAvatarPosition.x, myAvatarPosition.y, myAvatarPosition.z);
                glRotatef(angle, axis.x, axis.y, axis.z);
                glScalef(myAvatarScale, myAvatarScale, myAvatarScale);
                overlay->render(args);
                glPopMatrix();
            } else {
                overlay->render(args);
            }
        }
    }
开发者ID:DaveDubUK,项目名称:hifi,代码行数:21,代码来源:OverlaysPayload.cpp

示例9: payloadGetKey

    template <> const ItemKey payloadGetKey(const Overlay::Pointer& overlay) {
        auto builder = ItemKey::Builder().withTypeShape();
        if (overlay->is3D()) {
            auto overlay3D = std::static_pointer_cast<Base3DOverlay>(overlay);
            if (overlay3D->getDrawInFront() || overlay3D->getDrawHUDLayer()) {
                builder.withLayered();
            }
            if (overlay->isTransparent()) {
                builder.withTransparent();
            }
        } else {
            builder.withViewSpace();
        }

        if (!overlay->getVisible()) {
            builder.withInvisible();
        }

        builder.withTagBits(render::ItemKey::TAG_BITS_0); // Only draw overlays in main view

        return builder.build();
    }
开发者ID:howard-stearns,项目名称:hifi,代码行数:22,代码来源:OverlaysPayload.cpp

示例10: payloadGetLayer

 template <> int payloadGetLayer(const Overlay::Pointer& overlay) {
     if (overlay->is3D()) {
         auto overlay3D = std::dynamic_pointer_cast<Base3DOverlay>(overlay);
         if (overlay3D->getDrawInFront()) {
             return Item::LAYER_3D_FRONT;
         } else if (overlay3D->getDrawHUDLayer()) {
             return Item::LAYER_3D_HUD;
         } else {
             return Item::LAYER_3D;
         }
     } else {
         return Item::LAYER_2D;
     }
 }
开发者ID:howard-stearns,项目名称:hifi,代码行数:14,代码来源:OverlaysPayload.cpp

示例11: payloadGetBound

 template <> const Item::Bound payloadGetBound(const Overlay::Pointer& overlay) {
     return overlay->getBounds();
 }
开发者ID:bwent,项目名称:hifi,代码行数:3,代码来源:OverlaysPayload.cpp

示例12: metaFetchMetaSubItems

 template <> uint32_t metaFetchMetaSubItems(const Overlay::Pointer& overlay, ItemIDs& subItems) {
     return overlay->fetchMetaSubItems(subItems);
 }
开发者ID:howard-stearns,项目名称:hifi,代码行数:3,代码来源:OverlaysPayload.cpp

示例13: shapeGetShapeKey

 template <> const ShapeKey shapeGetShapeKey(const Overlay::Pointer& overlay) {
     return overlay->getShapeKey();
 }
开发者ID:howard-stearns,项目名称:hifi,代码行数:3,代码来源:OverlaysPayload.cpp

示例14: payloadRender

 template <> void payloadRender(const Overlay::Pointer& overlay, RenderArgs* args) {
     if (args) {
         overlay->render(args);
     }
 }
开发者ID:howard-stearns,项目名称:hifi,代码行数:5,代码来源:OverlaysPayload.cpp


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