Patch [#37115] Surface split and separate operators
Added surface support to recent curve split operator, completing quick hack todo Updated nurbs separate operator to make use of new split logic, completing tools todo Added 'Delete segment' option to surfaces and improved surface duplication, used for split/separate
This commit is contained in:
parent
27a662f670
commit
4230b8f9c4
|
@ -119,6 +119,7 @@ void BKE_nurbList_flag_set(ListBase *editnurb, short flag);
|
|||
|
||||
void BKE_nurb_free(struct Nurb *nu);
|
||||
struct Nurb *BKE_nurb_duplicate(struct Nurb *nu);
|
||||
struct Nurb *BKE_nurb_copy(struct Nurb *src, int pntsu, int pntsv);
|
||||
|
||||
void BKE_nurb_test2D(struct Nurb *nu);
|
||||
void BKE_nurb_minmax(struct Nurb *nu, float min[3], float max[3]);
|
||||
|
|
|
@ -579,6 +579,26 @@ Nurb *BKE_nurb_duplicate(Nurb *nu)
|
|||
return newnu;
|
||||
}
|
||||
|
||||
/* copy the nurb but allow for different number of points (to be copied after this) */
|
||||
Nurb *BKE_nurb_copy(Nurb *src, int pntsu, int pntsv)
|
||||
{
|
||||
Nurb *newnu = (Nurb *)MEM_mallocN(sizeof(Nurb), "copyNurb");
|
||||
memcpy(newnu, src, sizeof(Nurb));
|
||||
|
||||
if (pntsu == 1) SWAP(int, pntsu, pntsv);
|
||||
newnu->pntsu = pntsu;
|
||||
newnu->pntsv = pntsv;
|
||||
|
||||
if (src->bezt) {
|
||||
newnu->bezt = (BezTriple *)MEM_mallocN(pntsu * pntsv * sizeof(BezTriple), "copyNurb2");
|
||||
}
|
||||
else {
|
||||
newnu->bp = (BPoint *)MEM_mallocN(pntsu * pntsv * sizeof(BPoint), "copyNurb3");
|
||||
}
|
||||
|
||||
return newnu;
|
||||
}
|
||||
|
||||
void BKE_nurbList_duplicate(ListBase *lb1, ListBase *lb2)
|
||||
{
|
||||
Nurb *nu, *nun;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -364,6 +364,8 @@ typedef enum eBezTriple_KeyframeType {
|
|||
/* mixed with KEY_LINEAR but define here since only curve supports */
|
||||
#define KEY_CU_EASE 3
|
||||
|
||||
/* indicates point has been seen during surface duplication */
|
||||
#define SURF_SEEN 4
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue