zoukankan      html  css  js  c++  java
  • OpenInventor笔记:线性坐标轴PoLinearAxis的使用

    在MeshViz模块里有许多坐标轴的类,PoLinearAxis类应该最有用,关键的语句是下面的构造函数:

    PoLinearAxis ax = new PoLinearAxis(new SbVec3f(35.0f, 35.0f, 35.0f), 88.0f, 
                                       PoCartesianAxis.Types.XY, 10.0f);
     

    第一个参数是起点的空间位置,SbVec3f类型;

    第二个参数是终点的位置,但只是一个浮点数,含义是由后面的PoCartesianAxis.Types.XY参数决定的;

    第三个参数是决定坐标轴在哪个平面上和指向的方向,XY是指在XY平面上,平行X方向;

    第四个参数是刻度数字的间隔,这个参数是可选的,但省略时,刻度间隔是自动设置的。


    
    
    _viewer =  new SoWinExaminerViewer(_parent, "Name", true, 
                    SoWinFullViewer.BuildFlags.BUILD_ALL, SoWinViewer.Types.BROWSER);
    
    PoDomain domain = new PoDomain();
    domain.min.SetValue(0, 0, 0);
    domain.max.SetValue(100, 100, 100);
    
    PoMiscTextAttr textAttr = new PoMiscTextAttr() ;
    textAttr.fontName.SetValue("Courier New");
    
    // 画一个长方体的框子,可以清楚地看到坐标轴的位置和方向
    PoAutoCubeAxis autoCubeAxis = new PoAutoCubeAxis(new SbVec3f(0,0,0), new SbVec3f(100,100,100),
                 PoAutoCubeAxis.AxisTypes.LINEAR,
                 PoAutoCubeAxis.AxisTypes.LINEAR,
                 PoAutoCubeAxis.AxisTypes.LINEAR,
                  "X", "Y", "Z") ;
    autoCubeAxis.Set("backgroundFaceApp.material", "diffuseColor 0.5 0 0") ;
    autoCubeAxis.isBackgroundFacesVisible.SetValue(true) ;
    
    _root = new SoSeparator() ;
    _root.AddChild(domain);
    _root.AddChild(textAttr);
    _root.AddChild(autoCubeAxis);
    
    // 画一个线性坐标轴
    PoLinearAxis ax = new PoLinearAxis(new SbVec3f(35.0f, 35.0f, 35.0f), 88.0f, 
                                       PoCartesianAxis.Types.XY, 10.0f);
    
    _root.AddChild(ax);
    
    _viewer.SetSceneGraph(_root);
    _viewer.ViewAll();

    image

    换成YX平面时,坐标轴仍在XY平面上,但平行Y轴。

    image



    ----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====----
    版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
    作者:申龙斌的程序人生

    ---- 魔方桥牌象棋、游戏人生...
    ---- BASIC、C++、JAVA、C#HaskellObjective-COpen Inventor、程序人生...
    ---- GTD伴我实现人生目标
    ---- 区块链生存训练
    ---- 用欧拉计划学Rust编程
    ---- 申龙斌的读书笔记(2011-2019)
    ----
  • 相关阅读:
    ie6内存泄漏问题的解决
    精简版拖动
    【转】在ASP.Net中写系统日志
    转 集中遍历遍历datatable的方法
    水晶报表字段为空时设置默认值
    数据库一种IN查询
    两种获得路径的测试
    整理——ASP.net UTF8支持
    Subversion svnserve 服务配置 整理
    [转自CSDN] SQL基础> 约束(CONSTRAINT)
  • 原文地址:https://www.cnblogs.com/speeding/p/2360789.html
Copyright © 2011-2022 走看看