|
std::vector<tag_t> ProjectCurve(tag_t planeTag, std::vector<tag_t> curveTag)
{
uf_list_p_t curve_refs;
uf_list_p_t face_refs;
double proj_vector[3] = { 0, 0, 1 };
UF_MODL_create_list(&curve_refs);
for (std::vector<tag_t >::iterator itr = curveTag.begin(); itr != curveTag.end(); ++itr)
{
UF_MODL_put_list_item(curve_refs, *itr);
}
UF_MODL_create_list(&face_refs);
UF_MODL_put_list_item(face_refs, planeTag);
tag_t proj_curve_feature;
UF_MODL_create_proj_curves(curve_refs, face_refs, 1, proj_vector, &proj_curve_feature);
uf_list_p_t uf_curve_refs;
UF_MODL_ask_proj_curves(proj_curve_feature, &uf_curve_refs);
int count;
std::vector<tag_t > curveTagVec;
UF_MODL_ask_list_count(uf_curve_refs, &count);
for (int i = 0; i < count; i++)
{
tag_t temcurve;
UF_MODL_ask_list_item(uf_curve_refs, i, &temcurve);
curveTagVec.push_back(temcurve);
}
UF_MODL_delete_object_parms(uf_curve_refs); return curveTagVec;
}
|
评分
-
查看全部评分
|