zoukankan      html  css  js  c++  java
  • occ 中绘制二维矩形

    在屏幕上绘制一个二级矩形

    #include <Visual3d_Layer.hxx>

    #include <V3d_LayerMgr.hxx>

    #include <Visual3d_ViewManager.hxx>

    #include "FTFont.h"

    #include "FTGLBitmapFont.h"

      class V3d_TextItem : public Visual3d_LayerItem { public:

       V3d_TextItem(const Handle(Visual3d_Layer)& theLayer);

      void RedrawLayerPrs();

    private:

     Standard_Real            myX1;  

    Standard_Real            myY1;

     TCollection_AsciiString  myText;  

    Standard_Real            myHeight;  

    Handle(Visual3d_Layer)   myLayer;

     Quantity_Color           myColor;  

    Quantity_Color           mySubtitleColor;

     Aspect_TypeOfDisplayText myType;  

    TCollection_AsciiString  myFontName;

    };

     V3d_TextItem::V3d_TextItem (const Handle(Visual3d_Layer)& theLayer) : myLayer(theLayer)

    {

     if (!myLayer.IsNull ())   myLayer->AddLayerItem (this);

    }

     void V3d_TextItem::RedrawLayerPrs ()

     interactive_context_->CurrentViewer()->InitActiveViews();  

    Handle(V3d_View) v3d_view = interactive_context_->CurrentViewer()->ActiveView();

       Handle(Visual3d_Layer) anOverlay = interactive_context_->CurrentViewer()->Viewer()->OverLayer();  

    if (anOverlay.IsNull ())

      {   

    Handle(V3d_LayerMgr) aMgr = new V3d_LayerMgr (v3d_view);    anOverlay = aMgr->Overlay ();    v3d_view->SetLayerMgr (aMgr);  

    }

      anOverlay->Begin();  

    anOverlay->DrawRectangle(0, 0, 100, 100);

      anOverlay->End();

    一个Visual3d_Layer关联一个v3d, 先编译到一个显示列表里面,然后再渲染。

     

  • 相关阅读:
    js全选 反选 不选 代码示例。
    前端超级好用a标签跳转带锚点效果
    10分钟倒计时简易
    点赞投票+1简单jq代码
    登录注册密码可见与不可见jquery简易效果开发
    JS调用函数内部变量有以下两种方法:
    关于clipboard.js复制图片以及文本的随笔
    这是我的第一个博客,我叫小白菜!
    前端之路(一)之W3C是什么?
    知识普及
  • 原文地址:https://www.cnblogs.com/lizhengjin/p/5298992.html
Copyright © 2011-2022 走看看