天气与日历 切换到窄版

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

ARX点表比较函数等

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]//点表比较函数,配合std::sort使用
//点按xyz排序,小写字母表示从小到大排序,大写则从大到小排序,在前的字母先排序
int cmp_xyz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.z < p2.z?1:0;
}
int cmp_xYz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.z < p2.z?1:0;
}
int cmp_xYZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.z > p2.z?1:0;
}
int cmp_xyZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.z > p2.z?1:0;
}
int cmp_XYZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.z > p2.z?1:0;
}
int cmp_XyZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.z > p2.z?1:0;
}

int cmp_Xyz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.z < p2.z?1:0;
}

int cmp_XYz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.z < p2.z?1:0;
}

int cmp_xy (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.y < p2.y?1:0;        
}
int cmp_xY (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.y > p2.y?1:0;        
}
int cmp_Xy (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.y < p2.y?1:0;        
}
int cmp_XY (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.y > p2.y?1:0;        
}

int cmp_x(AcGePoint3d p1,AcGePoint3d p2)
{
        return p1.x < p2.x?1:0;
}
int cmp_X(AcGePoint3d p1,AcGePoint3d p2)
{
        return p1.x > p2.x?1:0;
}
int cmp_y(AcGePoint3d p1,AcGePoint3d p2)
{
        return p1.y < p2.y?1:0;
}
int cmp_Y(AcGePoint3d p1,AcGePoint3d p2)
{
        return p1.y > p2.y?1:0;
}
int cmp_z(AcGePoint3d p1,AcGePoint3d p2)
{
        return p1.z < p2.z?1:0;
}
int cmp_Z(AcGePoint3d p1,AcGePoint3d p2)
{
        return p1.z > p2.z?1:0;
}
int cmp_YX (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.x > p2.x?1:0;        
}
int cmp_Yx (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.x < p2.x?1:0;        
}
int cmp_yx (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.x < p2.x?1:0;        
}
int cmp_yX (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.x > p2.x?1:0;        
}
int cmp_yxz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.z < p2.z?1:0;
}
int cmp_yXz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.z < p2.z?1:0;
}
int cmp_yXZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.z > p2.z?1:0;
}
int cmp_yxZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.z > p2.z?1:0;
}
int cmp_YXZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.z > p2.z?1:0;
}
int cmp_YxZ (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.z > p2.z?1:0;
}

int cmp_Yxz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.z < p2.z?1:0;
}

int cmp_YXz (AcGePoint3d p1,AcGePoint3d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.z < p2.z?1:0;
}


int cmp_2d_xy (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.y < p2.y?1:0;        
}
int cmp_2d_xY (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.x != p2.x)
                return p1.x < p2.x?1:0;
        else
                return p1.y > p2.y?1:0;        
}
int cmp_2d_Xy (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.y < p2.y?1:0;        
}
int cmp_2d_XY (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.x != p2.x)
                return p1.x > p2.x?1:0;
        else
                return p1.y > p2.y?1:0;        
}

int cmp_2d_x (AcGePoint2d p1,AcGePoint2d p2)
{
        return p1.x < p2.x?1:0;
}


int cmp_2d_X(AcGePoint2d p1,AcGePoint2d p2)
{
        return p1.x > p2.x?1:0;
}


int cmp_2d_y (AcGePoint2d p1,AcGePoint2d p2)
{
        return p1.y < p2.y?1:0;
}


int cmp_2d_Y(AcGePoint2d p1,AcGePoint2d p2)
{
        return p1.y > p2.y?1:0;
}

int cmp_2d_YX(AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.x > p2.x?1:0;        
}
int cmp_2d_Yx (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.y != p2.y)
                return p1.y > p2.y?1:0;
        else
                return p1.x < p2.x?1:0;        
}



int cmp_2d_yx (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.x < p2.x?1:0;        
}



int cmp_2d_yX (AcGePoint2d p1,AcGePoint2d p2)
{
        if (p1.y != p2.y)
                return p1.y < p2.y?1:0;
        else
                return p1.x > p2.x?1:0;        
}



int cmp_up (int &a,int &b)
{
        return a<b?1:0;
}



int cmp_up (double &a,double &b)
{
        return a<b?1:0;
}



int cmp_down (const int &a, const int &b)
{
        return a>b?1:0;
}


int cmp_down (double &a,double &b)
{
        return a>b?1:0;
}[/code]

 

 

 

 

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

本版积分规则

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

GMT+8, 2024-11-1 10:21 , Processed in 0.155372 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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