Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_curve.h
| Context not available. | |||||
| */ | */ | ||||
| #ifndef __BKE_CURVE_H__ | #ifndef __BKE_CURVE_H__ | ||||
| #define __BKE_CURVE_H__ | #define __BKE_CURVE_H__ | ||||
| #include "DNA_listBase.h" | |||||
| /** \file | /** \file | ||||
| * \ingroup bke | * \ingroup bke | ||||
| */ | */ | ||||
| Context not available. | |||||
| struct Path; | struct Path; | ||||
| struct TextBox; | struct TextBox; | ||||
| struct rctf; | struct rctf; | ||||
| struct BPoint; | |||||
| struct NurbTrim; | |||||
| struct NurbEditKnot; | |||||
| struct GridMesh; | |||||
| struct DispList; | |||||
| typedef int eBezTriple_Flag__Alias; | typedef int eBezTriple_Flag__Alias; | ||||
| Context not available. | |||||
| bool switched; | bool switched; | ||||
| } CVKeyIndex; | } CVKeyIndex; | ||||
| #define NURBS_MAX_ORDER 10 | |||||
| typedef struct BSplineCache { | |||||
| float u; | |||||
| int iu; | |||||
| float Nu[NURBS_MAX_ORDER][NURBS_MAX_ORDER]; | |||||
| } BSplineCacheU; | |||||
| #define KNOTSU(nu) \ | #define KNOTSU(nu) \ | ||||
| ((nu)->orderu + (nu)->pntsu + (((nu)->flagu & CU_NURB_CYCLIC) ? ((nu)->orderu - 1) : 0)) | ((nu)->orderu + (nu)->pntsu + (((nu)->flagu & CU_NURB_CYCLIC) ? ((nu)->orderu - 1) : 0)) | ||||
| #define KNOTSV(nu) \ | #define KNOTSV(nu) \ | ||||
| Context not available. | |||||
| struct rctf *r_rect); | struct rctf *r_rect); | ||||
| /* ** Nurbs ** */ | /* ** Nurbs ** */ | ||||
| #ifdef __cplusplus | |||||
| #define DEFAULT_FALSE =false | |||||
| #define DEFAULT_NULL =NULL | |||||
| #else | |||||
| #define DEFAULT_FALSE | |||||
| #define DEFAULT_NULL | |||||
| #endif | |||||
| void BKE_bspline_knot_calc(int flags, int pnts, int order, float knots[]); | |||||
| int BKE_bspline_nz_basis_range(float u, float *knots, int num_pts, int order); | |||||
| void BKE_bspline_basis_eval(float u, int i, float *U, int num_knots, int order, int nd, float out[][NURBS_MAX_ORDER]); | |||||
| void BKE_bspline_curve_eval(float u, float *U, int num_pts, int order, struct BPoint *P, int stride, int nd, struct BPoint *out, bool premultiply_weight DEFAULT_FALSE); | |||||
| void BKE_nurbs_curve_eval(float u, float *U, int num_pts, int order, struct BPoint *P, int stride, int nd, struct BPoint *out); | |||||
| void BKE_bspline_surf_eval(float u, | |||||
| float v, | |||||
| int cyclic, | |||||
| int pntsu, int orderu, float *U, | |||||
| int pntsv, int orderv, float *V, | |||||
| struct BPoint *P, int nd, struct BPoint *out, | |||||
| bool premultiply_weights DEFAULT_FALSE, BSplineCacheU *ucache DEFAULT_NULL); | |||||
| void BKE_nurbs_surf_eval(float u, | |||||
| float v, | |||||
| int cyclicu, | |||||
| int cyclicv, | |||||
| int pntsu, int orderu, float *U, | |||||
| int pntsv, int orderv, float *V, | |||||
| struct BPoint *P, | |||||
| int nd, | |||||
| struct BPoint *out, | |||||
| BSplineCacheU *ucache DEFAULT_NULL); | |||||
| struct NurbEditKnot* BKE_nurbs_editKnot_get(struct Nurb *nu); /* Creates editknot if necessary */ | |||||
| void BKE_nurbs_editKnot_propagate_ek2nurb(struct Nurb *nu); | |||||
| void BKE_nurbs_editKnot_propagate_nurb2ek(struct Nurb *nu); | |||||
| void BKE_nurbs_editKnot_destroy(struct Nurb *nu); | |||||
| bool BKE_nurbList_index_get_co(struct ListBase *editnurb, const int index, float r_co[3]); | bool BKE_nurbList_index_get_co(struct ListBase *editnurb, const int index, float r_co[3]); | ||||
| Context not available. | |||||
| void BKE_nurbList_handles_autocalc(ListBase *editnurb, int flag); | void BKE_nurbList_handles_autocalc(ListBase *editnurb, int flag); | ||||
| void BKE_nurbList_flag_set(ListBase *editnurb, short flag); | void BKE_nurbList_flag_set(ListBase *editnurb, short flag); | ||||
| void BKE_nurbTrim_free(struct NurbTrim *nt); | |||||
| struct NurbTrim *BKE_nurbTrim_duplicate(struct NurbTrim *nt); | |||||
| int BKE_nurbTrim_tess(struct NurbTrim *nt, float (**uv)[2]); // Returns: # verts in uv | |||||
| void BKE_nurbTrim_update_data(struct NurbTrim *nt); | |||||
| void BKE_nurb_free(struct Nurb *nu); | void BKE_nurb_free(struct Nurb *nu); | ||||
| struct Nurb *BKE_nurb_duplicate(const struct Nurb *nu); | struct Nurb *BKE_nurb_duplicate(const struct Nurb *nu); | ||||
| struct Nurb *BKE_nurb_copy(struct Nurb *src, int pntsu, int pntsv); | struct Nurb *BKE_nurb_copy(struct Nurb *src, int pntsu, int pntsv); | ||||
| void BKE_nurb_test_2d(struct Nurb *nu); | void BKE_nurb_ensure_2d(struct Nurb *nu); | ||||
| void BKE_nurb_minmax(struct Nurb *nu, bool use_radius, float min[3], float max[3]); | void BKE_nurb_minmax(struct Nurb *nu, bool use_radius, float min[3], float max[3]); | ||||
| float BKE_nurb_calc_length(const struct Nurb *nu, int resolution); | float BKE_nurb_calc_length(const struct Nurb *nu, int resolution); | ||||
| void BKE_nurbs_domain(struct Nurb *nu, float *umin, float *umax, float *vmin, float *vmax); | |||||
| void BKE_nurbs_uvbounds(struct Nurb *nu, float *umin, float *umax, float *vmin, float *vmax); | |||||
| void BKE_nurbs_printknots(struct Nurb *nu); | |||||
| void BKE_nurb_makeFaces( | void BKE_nurb_makeFaces( | ||||
| const struct Nurb *nu, float *coord_array, int rowstride, int resolu, int resolv); | const struct Nurb *nu, float *coord_array, int rowstride, int resolu, int resolv); | ||||
| Context not available. | |||||
| int resolu, | int resolu, | ||||
| int stride); | int stride); | ||||
| struct GridMesh *BKE_nurb_compute_trimmed_GridMesh(struct Nurb* nu); | |||||
| void BKE_nurb_compute_trimmed_UV_mesh(struct Nurb* nu); | |||||
| void BKE_nurbs_cached_UV_mesh_clear(struct Nurb* nu, bool free_mem); | |||||
| void BKE_nurb_make_displist(struct Nurb *nurb, struct DispList *dl); | |||||
| void BKE_surf_to_mesh(struct Main *bmain, struct Object * surf); | |||||
| unsigned int BKE_curve_calc_coords_axis_len(const unsigned int bezt_array_len, | unsigned int BKE_curve_calc_coords_axis_len(const unsigned int bezt_array_len, | ||||
| const unsigned int resolu, | const unsigned int resolu, | ||||
| const bool is_cyclic, | const bool is_cyclic, | ||||
| Context not available. | |||||
| const bool use_handle); | const bool use_handle); | ||||
| void BKE_nurb_handles_test(struct Nurb *nu, const bool use_handles); | void BKE_nurb_handles_test(struct Nurb *nu, const bool use_handles); | ||||
| /* **** Depsgraph evaluation **** */ | /* **** Depsgraph evaluation **** */ | ||||
| void BKE_curve_eval_geometry(struct Depsgraph *depsgraph, struct Curve *curve); | void BKE_curve_eval_geometry(struct Depsgraph *depsgraph, struct Curve *curve); | ||||
| Context not available. | |||||