25 if (ob_name.empty()) {
48 void CurveFromGeometry::create_nurbs(
Curve *
curve)
68 for (
int i = 0; i < tot_vert; i++) {
69 BPoint &bpoint = nurb->bp[i];
70 copy_v3_v3(bpoint.
vec, global_vertices_.vertices[nurbs_geometry.curv_indices[i]]);
76 bool do_endpoints =
false;
77 int deg1 = nurbs_geometry.degree + 1;
78 if (nurbs_geometry.parm.size() >= deg1 * 2) {
80 for (
int i = 0; i < deg1; ++i) {
81 if (
abs(nurbs_geometry.parm[i]) > 0.0001f) {
85 if (
abs(nurbs_geometry.parm[nurbs_geometry.parm.size() - 1 - i] - 1.0f) > 0.0001f) {
struct Curve * BKE_curve_add(struct Main *bmain, const char *name, int type)
void BKE_nurb_points_add(struct Nurb *nu, int number)
void BKE_nurb_knot_calc_u(struct Nurb *nu)
ListBase * BKE_curve_nurbs_get(struct Curve *cu)
General operations, lookup, etc. for blender objects.
struct Object * BKE_object_add_only_object(struct Main *bmain, int type, const char *name) ATTR_RETURNS_NONNULL
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE void copy_v3_v3(float r[3], const float a[3])
Object * create_curve(Main *bmain, const OBJImportParams &import_params)
void *(* MEM_callocN)(size_t len, const char *str)
void transform_object(Object *object, const OBJImportParams &import_params)
NurbsElement nurbs_element_
std::string geometry_name_
Vector< int > curv_indices