void begin_stroke(Frame3f vStartFrameL) { if (active_brush == BrushTool.SoftMove) { SculptCurveMove move = new SculptCurveMove(); move.SmoothAlpha = 0.1; move.SmoothIterations = 1; sculptOp = move; } else if (active_brush == BrushTool.Smooth) { SculptCurveSmooth smooth = new SculptCurveSmooth(); smooth.SmoothAlpha = this.SmoothAlpha; smooth.SmoothIterations = this.SmoothIterations; sculptOp = smooth; } sculptOp.Curve = targets[0].Curve; sculptOp.Radius = this.Radius.SceneValue; sculptOp.BeginDeformation(vStartFrameL); if (EnableStrokeChangeTracking) { activeChange = new DCurve3VerticesEditedOp(targets[0], true); } }
void end_stroke() { sculptOp = null; if (activeChange != null) { activeChange.StoreAfter(); scene.History.PushChange(activeChange, true); scene.History.PushInteractionCheckpoint(); activeChange = null; } }