UF-list创建;特征、体、线、面的相互转换;
作者:互联网
1.list创建
文件#include <uf_modl_utilities.h>
UF_MODL_create_list 1创建一个链表,并返回链表的头指针
UF_MODL_put_list_item 2插入元素到链表中,不检验对象是否重复,或者已经存在。
UF_MODL_ask_list_count 3获取链表对象数量,从头开始遇到null_tag结束。
UF_MODL_ask_list_item 4查询链表对象标识,给个位置返回标识。
UF_MODL_delete_list_item 5删除链表的对象,给一个tag就可以删除链表的对象。
UF_MODL_delete_list 6删除整个链表,释放内存。
//用1创建链表
uf_list_t *objectslsit = NULL; //双指针定义一个空表用来塞东西
UF_MODL_create_list (&objectslsit); //去*取&,创建链表objectslsit
//用 2插入元素到链表中,使用for循环
for (int i = 0; i < 3; i++)
{UF_MODL_put_list_item (objectslsit,line1TAG[i]); }//把line1TAG[i]塞入链表objectslsit
//用3访问链表数量
int cout; //去*取&
UF_MODL_ask_list_count (objectslsit, &cout);
转换类型整形int-char*打印出来
char msg[256];
sprintf (msg, "链表对象的数量为:%d", cout);
uc1601(msg ,1);
//用4访问链表每个对象的TAG
for (int i = 0; i < count; i++) //通过3访问链表数量,使用for循环
{
UF_MODL_ask_list_item (edgelist, i, &edgeTAG1); //输入链表,有1到i,输出分别对象TAG
}
//最后用6删除链表
UF_MODL_delete_list (&objectslsit);后用的链表先删,按这个顺序
UF_MODL_delete_list (&Features);
2.feat找体、面、线、点
头文件#include <uf_modl.h>
UF_MODL_ask_feat_body 1.通过特征去找体
UF_MODL_ask_feat_edges 2.通过特征去找边
UF_MODL_ask_body_features @根据体(body)查询特征(feature)
UF_MODL_ask_exp_desc_of_feat @根据特征标识获取特征中所有表达式的数量
UF_MODL_ask_feat_faces @根据特征(feature)查询面(face)
UF_MODL_ask_feat_object @根据特征(feature)查询对象(object)
UF_MODL_ask_object_feat @根据对象(object)查询特征(feature)
//通过特征找体
tag_t bodyTAG = NULL_TAG;
UF_MODL_ask_feat_body (blockTAG,&bodyTAG);//输入特征的TAG,输出体的TAG
//通过特征找边
uf_list_p_t edgelist = NULL;//定义一个链表
int cout;
UF_MODL_ask_feat_edges (blockTAG, &edgelist);//输入特征的TAG,输出一个链表去*取&
UF_MODL_ask_list_count (edgelist, &cout);/输入链表,输出数量 /查找链表内的数量
//通过特征找面
uf_list_p_t facelist = NULL;
int cout1;
UF_MODL_ask_feat_faces (blockTAG, &facelist);//输入特征TAG,输出面链表
UF_MODL_ask_list_count (facelist, &cout1);/输入链表,输出数量 /查找链表内的数量
标签:创建,list,feat,链表,ask,UF,MODL 来源: https://www.cnblogs.com/kangkangfive/p/16143556.html