• poly 查找因素脚本、


     
     ----这个是因素的旗帜。
     fn fl_getElementItem SourceOBJ =
     ( 
      tempSel = polyop.getFaceSelection SourceOBJ  --在没有选择面的情况下,返回的是一个空组。
      elementFirstFlags = #()
      faceCount = polyOp.getNumFaces SourceOBJ --返回总的面数。
      faceFlags = #{1..faceCount} --原来这样的可以替换,不错
      for i in 1 to faceCount where not faceFlags.isempty do
      ( --start element count loop
       /*
         这里面有一段脚本,我要解释一下。
       
       a=#{1..5,10..20} --可以判断是选择面的数组。
       a.numberset --> 16 --数组里面的元素个数。这个和下面的使用
       如果元素个数里面是空的,下面的判断则返回 true
       如果元素个数不是空的,就返回false
       
       上面就是用 not faceFlags.isempty 判断模型面数是否为零 零时就 不就行数量的操作了。
       
       我如果不知道这个函数我会,把它转成成数组,判断数组的数量。大的数组转换估计会慢,还是系统自己提供的好。
       
       a.isEmpty --> false
       a=#{}
       a.numberset --> 0
       a.isEmpty --> true
          
       
       
       
       
       */
       --判断面是否存在。一般都会存在因为他是索引的他的完整个数。
       if faceFlags[i] then
       ( append elementFirstFlags i
        SourceOBJ.EditablePoly.SetSelection #Face #{i} ---循环面依次选择。
        
        SourceOBJ.selectElement()-----这个是选择因素的函数,
        --*********
        --**$.SelectBorder() 在这里这个和很重要,选择开放的边的函数。
        --** 之中就是有好多的poly 的操作。
        --**
        
        TargetElement = polyop.getFaceSelection SourceOBJ  ---返回一个大可好的数组。
        ----这里的算法很牛, 我要好好的看看。
        
        
        
        
        faceFlags -= TargetElement
       )
       else()
      )
      polyOp.setFaceSelection SourceOBJ tempSel  ---如果之前选择,这时我们还是选择他,如果之前是空,我们最后算出结果还是空。
      
      elementFirstFlags --返回的数组,这种算法算因素非常的好,妙。
      ---我现在是渴望不可及的。
     )
     
     /*
     函数分解思路。
      1.在算因素的时候,开始
     
     

     
     
     
     
     
     
     
     
     
     
     
     

  • 相关阅读:
    Windows网络编程:多线程技术
    Windows网络编程:OSI七层模型
    Windows网络编程:WinSock模型
    Windows网络编程:基于Scoket最简单的CS
    Windows网络编程:同步/异步 阻塞/非阻塞
    1.WebGL:简介
    无聊的面试啊:2020
    第一次面试
    实习第三周
    Eclipse新建web项目
  • 原文地址:https://www.cnblogs.com/gaitian00/p/2034383.html
Copyright © 2020-2023  润新知