Properly unselect copied bones (it wasn't clearing active flag)
Remove double undo push
This commit is contained in:
@@ -412,7 +412,7 @@ static RigControl *cloneControl(RigGraph *rg, RigControl *src_ctrl, GHash *ptr_h
|
||||
ctrl->flag = src_ctrl->flag;
|
||||
|
||||
ctrl->bone = duplicateEditBone(src_ctrl->bone, rg->editbones, rg->ob);
|
||||
ctrl->bone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
|
||||
ctrl->bone->flag &= ~(BONE_TIPSEL|BONE_SELECTED|BONE_ROOTSEL|BONE_ACTIVE);
|
||||
BLI_ghash_insert(ptr_hash, src_ctrl->bone, ctrl->bone);
|
||||
|
||||
ctrl->link = src_ctrl->link;
|
||||
@@ -453,7 +453,7 @@ static RigArc *cloneArc(RigGraph *rg, RigArc *src_arc, GHash *ptr_hash)
|
||||
if (src_edge->bone != NULL)
|
||||
{
|
||||
edge->bone = duplicateEditBone(src_edge->bone, rg->editbones, rg->ob);
|
||||
edge->bone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
|
||||
edge->bone->flag &= ~(BONE_TIPSEL|BONE_SELECTED|BONE_ROOTSEL|BONE_ACTIVE);
|
||||
BLI_ghash_insert(ptr_hash, src_edge->bone, edge->bone);
|
||||
}
|
||||
|
||||
@@ -1684,7 +1684,7 @@ static void repositionBone(RigGraph *rigg, RigEdge *edge, float vec0[3], float v
|
||||
|
||||
bone->roll = rollBoneByQuatAligned(bone, edge->up_axis, qrot, qroll, up_axis);
|
||||
|
||||
QuatMul(qrot, qrot, qroll);
|
||||
QuatMul(qrot, qroll, qrot);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -355,7 +355,7 @@ int peelObjects(ListBase *depth_peels, short mval[2])
|
||||
}
|
||||
/*********************** CONVERSION ***************************/
|
||||
|
||||
ReebNode *pointToNode(SK_Point *pt)
|
||||
ReebNode *sk_pointToNode(SK_Point *pt)
|
||||
{
|
||||
ReebNode *node;
|
||||
|
||||
@@ -370,14 +370,14 @@ ReebNode *pointToNode(SK_Point *pt)
|
||||
return node;
|
||||
}
|
||||
|
||||
ReebArc *strokeToArc(SK_Stroke *stk)
|
||||
ReebArc *sk_strokeToArc(SK_Stroke *stk)
|
||||
{
|
||||
ReebArc *arc;
|
||||
int i;
|
||||
|
||||
arc = MEM_callocN(sizeof(ReebArc), "reeb arc");
|
||||
arc->head = pointToNode(stk->points);
|
||||
arc->tail = pointToNode(sk_lastStrokePoint(stk));
|
||||
arc->head = sk_pointToNode(stk->points);
|
||||
arc->tail = sk_pointToNode(sk_lastStrokePoint(stk));
|
||||
|
||||
arc->bcount = stk->nb_points - 2; /* first and last are nodes, don't count */
|
||||
arc->buckets = MEM_callocN(sizeof(EmbedBucket) * arc->bcount, "Buckets");
|
||||
@@ -394,9 +394,9 @@ ReebArc *strokeToArc(SK_Stroke *stk)
|
||||
return arc;
|
||||
}
|
||||
|
||||
void retargetStroke(SK_Stroke *stk)
|
||||
void sk_retargetStroke(SK_Stroke *stk)
|
||||
{
|
||||
ReebArc *arc = strokeToArc(stk);
|
||||
ReebArc *arc = sk_strokeToArc(stk);
|
||||
|
||||
BIF_retargetArc(arc);
|
||||
|
||||
@@ -2331,14 +2331,14 @@ int sk_paint(SK_Sketch *sketch, short mbut)
|
||||
{
|
||||
if (G.scene->toolsettings->bone_sketching_convert == SK_CONVERT_RETARGET)
|
||||
{
|
||||
retargetStroke(stk);
|
||||
sk_retargetStroke(stk);
|
||||
}
|
||||
else
|
||||
{
|
||||
sk_convertStroke(stk);
|
||||
BIF_undo_push("Convert Sketch");
|
||||
}
|
||||
sk_removeStroke(sketch, stk);
|
||||
BIF_undo_push("Convert Sketch");
|
||||
allqueue(REDRAWBUTSEDIT, 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user