com.supermap.realspace.threeddesigner

类 MeshOperator



  • public class MeshOperator
    extends Object
    • 构造器详细资料

      • MeshOperator

        public MeshOperator()
    • 方法详细资料

      • addSteppedListener

        public static void addSteppedListener(SteppedListener l)
        添加一个用于接收进度条事件(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • removeSteppedListener

        public static void removeSteppedListener(SteppedListener l)
        移除一个用于接收进度条事件(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • booleanOperation

        public static ArrayList<Geometry3D> booleanOperation(Geometry3D geometry3D1,
                                                             Geometry3D geometry3D2,
                                                             BooleanOperatorType operatorType)
        带纹理的布尔运算
        参数:
        geometry3D1 - 参与布尔运算的几何体1
        geometry3D2 - 参与布尔运算的几何体2
        operatorType - 布尔运算类型类型包括求差,求和,求并
        返回:
      • reverseMesh

        public static void reverseMesh(Skeleton skeleton)
        翻转骨架,用于处理模型数据。

        对于模型数据布尔运算或获取截面崩溃或结果不对的情况,都可以使用该方法进行处理。

        参数:
        skeleton - 模型骨架
      • removeMeshSelfIntersection

        public static ArrayList<Skeleton> removeMeshSelfIntersection(Skeleton skeleton)
        移除模型骨架中由于自相交产生的三角形。
        参数:
        skeleton - 模型骨架
        返回:
        移除自相交骨架后输出的结果
      • meshClip

        public static ArrayList<Geometry3D> meshClip(ArrayList<Geometry3D> geometrysList,
                                                     Geometry clipRegion,
                                                     MeshKeepType meshKeepType)
        模型裁剪功能。

        仅考虑裁剪区域的水平区域,在Z方向上的数据都被裁剪。

        参数:
        geometrysList - 需要裁减的模型集合
        clipRegion - 裁剪范围
        meshKeepType - 裁剪类型
      • meshClip

        public static ArrayList<Geometry3D> meshClip(ArrayList<Geometry3D> geometrysList,
                                                     Geometry clipRegion,
                                                     MeshClipParameter parameter)
        模型裁剪

        支持是否合并结果以及是否保留裁剪面下方的模型部分。

        参数:
        geometrysList - 需要裁减的模型集合
        clipRegion - 裁剪范围
        parameter - 模型裁剪参数
        返回:
        保留的模型对象集合
      • meshTopologyCheck

        public static HashMap<TopologyErrorType,ArrayList<String>> meshTopologyCheck(Skeleton skeleton,
                                                                                     double distolerence,
                                                                                     double normalTolorence)
        骨架拓扑检查。
        参数:
        skeleton - 待拓扑检查的骨架
        distolerence - 距离阈值(单位:骨架单位,检查=>NonPlanarPolygonDistancePlane)
        normalTolorence - 法线阈值(单位:角度,检查=>NonPlanarPolygonNormalsDeviation)
        返回:
      • intersectionLine

        public static GeoLine3D intersectionLine(Geometry3D geometry3D1,
                                                 Geometry3D geometry3D2)
        模型进行布尔运算-求交时,求交边界输出成三维线。
        参数:
        geometry3D1 - 布尔运算-求交的模型对象1。
        geometry3D2 - 布尔运算-求交的模型对象2。
        返回:
        求交边界输出的三维线。
      • meshSplit

        public static ArrayList<Geometry3D> meshSplit(Geometry3D geometry3D,
                                                      Plane plane,
                                                      ArrayList<MeshSplitType> splitTypes,
                                                      boolean bClose)
        根据指定平面分割模型。
        参数:
        geometry3D - 原始模型
        plane - 平面,如果原始模型为经纬度的数据,plane需要伪坐标(同ModelBuidler3D.sectionProjection一样)。可用Scene.sphericalToPseudoCartesian()将经纬度转为伪坐标。
        splitTypes - 分割类型,保留平面法向量正方向还是法向量反方向的模型部分(可同时保留)。
        bClose - 是否封边
        返回:
        分割后的模型对象集合。若同时保留平面两侧模型,第一个始终为平面法向量正方向的模型部分。

Copyright © 2021–2024 SuperMap. All rights reserved.