zoukankan      html  css  js  c++  java
  • poly 的奇数 偶数 隔点选择

    ---段数的跳一个 选择一个,这样进行处理。点数的,面数的处理
    ---起初我是这么想的。用when 语句进行操作,单我按下按钮时,就是这样的,当我点击的线符合拓扑结构时。
    ---产生横向与纵向的连长,但是我后来就不这么想了。
    ---尤其是在听了路生的教导后。我不想在刷什么。我要做的工作是,在max的基础上,做东西。补不足。 max 能实现的,大家都在用,所以习惯了,
    ---不是很好改了。
    ---好了,写东西了。起初只是想写线的,现在看来,我要写 点的 边的, 面的  奇数 偶数的选择。2011.4.22 晚
    ---由于在选择中选择缺口 返回的是边,所以 所以这样按缺口选择的 估计有特定的函数,或有特定的组,
    ---这个我在后卖在考虑。
     fn odd_numbers_even_numbers input_poly type_t  odd_even  num  =
     (
      ---结构是点 边 面   在往下就是 奇数性 还有就是偶数性
      
        case of ---这个是我的手动的处理。所以这里面我只列举3 中情况进行处理。
      (

      (type_t == "select_vertex"):(
       
       local mod_array =#()
       local mod_back_array =#()
        Back_Verts_array = polyop.getVertSelection  input_poly
        Back_Verts_array =Back_Verts_array as array
       if Back_Verts_array.count !=0 then
       (
        Back_Verts_array =sort  Back_Verts_array --数组排列方便选择。
        
        for i in 1 to Back_Verts_array.count do
        (
         if  (mod  i num )as integer ==0 then
         (
             append   mod_array   Back_Verts_array[i]
          
         )else
         (
          append   mod_back_array   Back_Verts_array[i]
          
         )---end else
         
        )---end for
        
       
       
       if odd_even=="odd"then
       (
         polyop.setVertSelection   input_poly  mod_back_array
       )--end odd
       if odd_even=="even" then
       (
         polyop.setVertSelection   input_poly  mod_array
       )---end enen
       )----end back_vertex_array
       
      )---end ()
      (type_t == "select_edge"):(
       local mod_array =#()
       local mod_back_array =#()
        Back_Verts_array = polyop.getEdgeSelection  input_poly
        Back_Verts_array =Back_Verts_array as array
       if Back_Verts_array.count !=0 then
       (
        Back_Verts_array =sort  Back_Verts_array --数组排列方便选择。
        
        for i in 1 to Back_Verts_array.count do
        (
         if  (mod  i num )as integer ==0 then
         (
             append   mod_array   Back_Verts_array[i]
          
         )else
         (
          append   mod_back_array   Back_Verts_array[i]
          
         )---end else
         
        )---end for
        
       
       
       if odd_even=="odd"then
       (
         polyop.setEdgeSelection   input_poly  mod_back_array
       )--end odd
       if odd_even=="even" then
       (
         polyop.setEdgeSelection   input_poly  mod_array
       )---end enen
       
       )----end back_vertex_array
       
      )---end ()
      (type_t == "select_polygon"):(
       
       local mod_array =#()
       local mod_back_array =#()
        Back_Verts_array = polyop.getFaceSelection  input_poly
        Back_Verts_array =Back_Verts_array as array
       if Back_Verts_array.count !=0 then
       (
        Back_Verts_array =sort  Back_Verts_array --数组排列方便选择。
        
        for i in 1 to Back_Verts_array.count do
        (
         if  (mod  i num )as integer ==0 then
         (
             append   mod_array   Back_Verts_array[i]
          
         )else
         (
          append   mod_back_array   Back_Verts_array[i]
          
         )---end else
         
        )---end for
        
       
       
       if odd_even=="odd"then
       (
         polyop.setFaceSelection   input_poly  mod_back_array
       )--end odd
       if odd_even=="even" then
       (
         polyop.setFaceSelection   input_poly  mod_array
       )---end enen
       
       )else return  false ----end back_vertex_array
       
       
       
      )---end ()

       )---enf case
     )---end fn
     
    ---我觉得点的选择可以由面点会来,这个就不用写了。其实原来也是有面转成点,这个不是很费时间。
    ---我做的工具也是配合max 的命令一期操作的,所以这个就不选了。

  • 相关阅读:
    XML解析技术:Dom4j浅析
    log4j详解
    更改IP 脚本(自动获取和手动设置多个IP),将内容拷贝到记事本另存为bat批处理文件
    MyEclipse 导出 javadoc 乱码解决
    一个好用的树dhtmlXTree
    Java语法总结 线程
    常用log4j配置
    使用 dom4j 解析 XML
    java调用webservice .
    Love Google 谷歌不能用的的解决方法
  • 原文地址:https://www.cnblogs.com/gaitian00/p/2025343.html
Copyright © 2011-2022 走看看