天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 128|回复: 0

[每日一码] ARX点表比较函数等

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-3-14 20:09:42 | 显示全部楼层 |阅读模式
    1. //点表比较函数,配合std::sort使用
    2. //点按xyz排序,小写字母表示从小到大排序,大写则从大到小排序,在前的字母先排序
    3. int cmp采用xyz (AcGePoint3d p1,AcGePoint3d p2)
    4. {
    5.         if (p1.x != p2.x)
    6.                 return p1.x < p2.x?1:0;
    7.         else if (p1.y != p2.y)
    8.                 return p1.y < p2.y?1:0;
    9.         else
    10.                 return p1.z < p2.z?1:0;
    11. }
    12. int cmp采用xYz (AcGePoint3d p1,AcGePoint3d p2)
    13. {
    14.         if (p1.x != p2.x)
    15.                 return p1.x < p2.x?1:0;
    16.         else if (p1.y != p2.y)
    17.                 return p1.y > p2.y?1:0;
    18.         else
    19.                 return p1.z < p2.z?1:0;
    20. }
    21. int cmp采用xYZ (AcGePoint3d p1,AcGePoint3d p2)
    22. {
    23.         if (p1.x != p2.x)
    24.                 return p1.x < p2.x?1:0;
    25.         else if (p1.y != p2.y)
    26.                 return p1.y > p2.y?1:0;
    27.         else
    28.                 return p1.z > p2.z?1:0;
    29. }
    30. int cmp采用xyZ (AcGePoint3d p1,AcGePoint3d p2)
    31. {
    32.         if (p1.x != p2.x)
    33.                 return p1.x < p2.x?1:0;
    34.         else if (p1.y != p2.y)
    35.                 return p1.y < p2.y?1:0;
    36.         else
    37.                 return p1.z > p2.z?1:0;
    38. }
    39. int cmp采用XYZ (AcGePoint3d p1,AcGePoint3d p2)
    40. {
    41.         if (p1.x != p2.x)
    42.                 return p1.x > p2.x?1:0;
    43.         else if (p1.y != p2.y)
    44.                 return p1.y > p2.y?1:0;
    45.         else
    46.                 return p1.z > p2.z?1:0;
    47. }
    48. int cmp采用XyZ (AcGePoint3d p1,AcGePoint3d p2)
    49. {
    50.         if (p1.x != p2.x)
    51.                 return p1.x > p2.x?1:0;
    52.         else if (p1.y != p2.y)
    53.                 return p1.y < p2.y?1:0;
    54.         else
    55.                 return p1.z > p2.z?1:0;
    56. }
    57. int cmp采用Xyz (AcGePoint3d p1,AcGePoint3d p2)
    58. {
    59.         if (p1.x != p2.x)
    60.                 return p1.x > p2.x?1:0;
    61.         else if (p1.y != p2.y)
    62.                 return p1.y < p2.y?1:0;
    63.         else
    64.                 return p1.z < p2.z?1:0;
    65. }
    66. int cmp采用XYz (AcGePoint3d p1,AcGePoint3d p2)
    67. {
    68.         if (p1.x != p2.x)
    69.                 return p1.x > p2.x?1:0;
    70.         else if (p1.y != p2.y)
    71.                 return p1.y > p2.y?1:0;
    72.         else
    73.                 return p1.z < p2.z?1:0;
    74. }
    75. int cmp采用xy (AcGePoint3d p1,AcGePoint3d p2)
    76. {
    77.         if (p1.x != p2.x)
    78.                 return p1.x < p2.x?1:0;
    79.         else
    80.                 return p1.y < p2.y?1:0;        
    81. }
    82. int cmp采用xY (AcGePoint3d p1,AcGePoint3d p2)
    83. {
    84.         if (p1.x != p2.x)
    85.                 return p1.x < p2.x?1:0;
    86.         else
    87.                 return p1.y > p2.y?1:0;        
    88. }
    89. int cmp采用Xy (AcGePoint3d p1,AcGePoint3d p2)
    90. {
    91.         if (p1.x != p2.x)
    92.                 return p1.x > p2.x?1:0;
    93.         else
    94.                 return p1.y < p2.y?1:0;        
    95. }
    96. int cmp采用XY (AcGePoint3d p1,AcGePoint3d p2)
    97. {
    98.         if (p1.x != p2.x)
    99.                 return p1.x > p2.x?1:0;
    100.         else
    101.                 return p1.y > p2.y?1:0;        
    102. }
    103. int cmp采用x(AcGePoint3d p1,AcGePoint3d p2)
    104. {
    105.         return p1.x < p2.x?1:0;
    106. }
    107. int cmp采用X(AcGePoint3d p1,AcGePoint3d p2)
    108. {
    109.         return p1.x > p2.x?1:0;
    110. }
    111. int cmp采用y(AcGePoint3d p1,AcGePoint3d p2)
    112. {
    113.         return p1.y < p2.y?1:0;
    114. }
    115. int cmp采用Y(AcGePoint3d p1,AcGePoint3d p2)
    116. {
    117.         return p1.y > p2.y?1:0;
    118. }
    119. int cmp采用z(AcGePoint3d p1,AcGePoint3d p2)
    120. {
    121.         return p1.z < p2.z?1:0;
    122. }
    123. int cmp采用Z(AcGePoint3d p1,AcGePoint3d p2)
    124. {
    125.         return p1.z > p2.z?1:0;
    126. }
    127. int cmp采用YX (AcGePoint3d p1,AcGePoint3d p2)
    128. {
    129.         if (p1.y != p2.y)
    130.                 return p1.y > p2.y?1:0;
    131.         else
    132.                 return p1.x > p2.x?1:0;        
    133. }
    134. int cmp采用Yx (AcGePoint3d p1,AcGePoint3d p2)
    135. {
    136.         if (p1.y != p2.y)
    137.                 return p1.y > p2.y?1:0;
    138.         else
    139.                 return p1.x < p2.x?1:0;        
    140. }
    141. int cmp采用yx (AcGePoint3d p1,AcGePoint3d p2)
    142. {
    143.         if (p1.y != p2.y)
    144.                 return p1.y < p2.y?1:0;
    145.         else
    146.                 return p1.x < p2.x?1:0;        
    147. }
    148. int cmp采用yX (AcGePoint3d p1,AcGePoint3d p2)
    149. {
    150.         if (p1.y != p2.y)
    151.                 return p1.y < p2.y?1:0;
    152.         else
    153.                 return p1.x > p2.x?1:0;        
    154. }
    155. int cmp采用yxz (AcGePoint3d p1,AcGePoint3d p2)
    156. {
    157.         if (p1.y != p2.y)
    158.                 return p1.y < p2.y?1:0;
    159.         else if (p1.x != p2.x)
    160.                 return p1.x < p2.x?1:0;
    161.         else
    162.                 return p1.z < p2.z?1:0;
    163. }
    164. int cmp采用yXz (AcGePoint3d p1,AcGePoint3d p2)
    165. {
    166.         if (p1.y != p2.y)
    167.                 return p1.y < p2.y?1:0;
    168.         else if (p1.x != p2.x)
    169.                 return p1.x > p2.x?1:0;
    170.         else
    171.                 return p1.z < p2.z?1:0;
    172. }
    173. int cmp采用yXZ (AcGePoint3d p1,AcGePoint3d p2)
    174. {
    175.         if (p1.y != p2.y)
    176.                 return p1.y < p2.y?1:0;
    177.         else if (p1.x != p2.x)
    178.                 return p1.x > p2.x?1:0;
    179.         else
    180.                 return p1.z > p2.z?1:0;
    181. }
    182. int cmp采用yxZ (AcGePoint3d p1,AcGePoint3d p2)
    183. {
    184.         if (p1.y != p2.y)
    185.                 return p1.y < p2.y?1:0;
    186.         else if (p1.x != p2.x)
    187.                 return p1.x < p2.x?1:0;
    188.         else
    189.                 return p1.z > p2.z?1:0;
    190. }
    191. int cmp采用YXZ (AcGePoint3d p1,AcGePoint3d p2)
    192. {
    193.         if (p1.y != p2.y)
    194.                 return p1.y > p2.y?1:0;
    195.         else if (p1.x != p2.x)
    196.                 return p1.x > p2.x?1:0;
    197.         else
    198.                 return p1.z > p2.z?1:0;
    199. }
    200. int cmp采用YxZ (AcGePoint3d p1,AcGePoint3d p2)
    201. {
    202.         if (p1.y != p2.y)
    203.                 return p1.y > p2.y?1:0;
    204.         else if (p1.x != p2.x)
    205.                 return p1.x < p2.x?1:0;
    206.         else
    207.                 return p1.z > p2.z?1:0;
    208. }
    209. int cmp采用Yxz (AcGePoint3d p1,AcGePoint3d p2)
    210. {
    211.         if (p1.y != p2.y)
    212.                 return p1.y > p2.y?1:0;
    213.         else if (p1.x != p2.x)
    214.                 return p1.x < p2.x?1:0;
    215.         else
    216.                 return p1.z < p2.z?1:0;
    217. }
    218. int cmp采用YXz (AcGePoint3d p1,AcGePoint3d p2)
    219. {
    220.         if (p1.y != p2.y)
    221.                 return p1.y > p2.y?1:0;
    222.         else if (p1.x != p2.x)
    223.                 return p1.x > p2.x?1:0;
    224.         else
    225.                 return p1.z < p2.z?1:0;
    226. }
    227. int cmp采用2d采用xy (AcGePoint2d p1,AcGePoint2d p2)
    228. {
    229.         if (p1.x != p2.x)
    230.                 return p1.x < p2.x?1:0;
    231.         else
    232.                 return p1.y < p2.y?1:0;        
    233. }
    234. int cmp采用2d采用xY (AcGePoint2d p1,AcGePoint2d p2)
    235. {
    236.         if (p1.x != p2.x)
    237.                 return p1.x < p2.x?1:0;
    238.         else
    239.                 return p1.y > p2.y?1:0;        
    240. }
    241. int cmp采用2d采用Xy (AcGePoint2d p1,AcGePoint2d p2)
    242. {
    243.         if (p1.x != p2.x)
    244.                 return p1.x > p2.x?1:0;
    245.         else
    246.                 return p1.y < p2.y?1:0;        
    247. }
    248. int cmp采用2d采用XY (AcGePoint2d p1,AcGePoint2d p2)
    249. {
    250.         if (p1.x != p2.x)
    251.                 return p1.x > p2.x?1:0;
    252.         else
    253.                 return p1.y > p2.y?1:0;        
    254. }
    255. int cmp采用2d采用x (AcGePoint2d p1,AcGePoint2d p2)
    256. {
    257.         return p1.x < p2.x?1:0;
    258. }
    259. int cmp采用2d采用X(AcGePoint2d p1,AcGePoint2d p2)
    260. {
    261.         return p1.x > p2.x?1:0;
    262. }
    263. int cmp采用2d采用y (AcGePoint2d p1,AcGePoint2d p2)
    264. {
    265.         return p1.y < p2.y?1:0;
    266. }
    267. int cmp采用2d采用Y(AcGePoint2d p1,AcGePoint2d p2)
    268. {
    269.         return p1.y > p2.y?1:0;
    270. }
    271. int cmp采用2d采用YX(AcGePoint2d p1,AcGePoint2d p2)
    272. {
    273.         if (p1.y != p2.y)
    274.                 return p1.y > p2.y?1:0;
    275.         else
    276.                 return p1.x > p2.x?1:0;        
    277. }
    278. int cmp采用2d采用Yx (AcGePoint2d p1,AcGePoint2d p2)
    279. {
    280.         if (p1.y != p2.y)
    281.                 return p1.y > p2.y?1:0;
    282.         else
    283.                 return p1.x < p2.x?1:0;        
    284. }
    285. int cmp采用2d采用yx (AcGePoint2d p1,AcGePoint2d p2)
    286. {
    287.         if (p1.y != p2.y)
    288.                 return p1.y < p2.y?1:0;
    289.         else
    290.                 return p1.x < p2.x?1:0;        
    291. }
    292. int cmp采用2d采用yX (AcGePoint2d p1,AcGePoint2d p2)
    293. {
    294.         if (p1.y != p2.y)
    295.                 return p1.y < p2.y?1:0;
    296.         else
    297.                 return p1.x > p2.x?1:0;        
    298. }
    299. int cmp采用up (int &a,int &b)
    300. {
    301.         return a<b?1:0;
    302. }
    303. int cmp采用up (double &a,double &b)
    304. {
    305.         return a<b?1:0;
    306. }
    307. int cmp采用down (const int &a, const int &b)
    308. {
    309.         return a>b?1:0;
    310. }
    311. int cmp采用down (double &a,double &b)
    312. {
    313.         return a>b?1:0;
    314. }
    复制代码

     

     

     

     

    [每日一码] ARX点表比较函数等
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-1 13:32 , Processed in 0.157210 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表