Advanced Outline Layer

From Synfig Studio :: Documentation
Revision as of 17:04, 20 June 2011 by Genete (Talk | contribs) (Specific parameters for Advanced Outline Layer: Tip type at start / end)

Jump to: navigation, search
Languages Language: 

English • русский

Under construction!

Layer geometry advanced outline icon.png

About Advanced Outline Layers

The new Advanced Outline Layer comes from the need to specify the width of the outline at a different place than the Blinepoint. Usually the user don't want to have a blinepoint where he wants to have the width and vice versa. This Advanced Outline makes the width become independent of the blinepoint position.

Advanced Outline goes further than just define the width with independence from the blinepoints. It adds some new features to the regular outline. They are listed with examples below:

Tips for creating and manipulating Advanced Outlines within the canvas window

  • Create Advanced Outlines in the same way that you make normal ones with the bline tool (Alt+B), but make sure the Advanced Outline box is ticked in the bline toolbox.
  • To change the widths, you need the purple ducks (Alt+5) and the Transform tool (Alt+A) (NOT the width tool!). It may help to hide the other ducks (Alt+2, Alt+3).
  • Advanced width control ducks now come in two parts. Drag the pale one to move the position of action of the width control, and the darker one to change the width.
  • Right click on a purple duck to get the context menu. Select "Add Item (smart)" here to create more width controls.

Parameters of Advanced Outline Layers

The parameters of the Advanced Outline Layers are:

Name Value Type
Type real icon.png Z Depth 0.000000 real
Type real icon.png Amount 1.000000 real
Type integer icon.png Blend Method Composite integer
Type color icon.png Color
Type vector icon.png Origin 0.000000u,0.000000u vector
Type bool icon.png Invert
Type bool icon.png Antialiasing
Type real icon.png Feather 0.000000pt real
Type integer icon.png Tyep of Feather Fast Gaussian Blur integer
Type integer icon.png Winding Sytle Non Zero integer
Type list icon.png Vertices List list (BLine)
Type real icon.png Outline Width 2.000000pt real
Type real icon.png Expand 0.000000pt real
Type integer icon.png Tip Type at Start Rounded Stop integer
Type integer icon.png Tip Type at End Rounded Stop integer
Type integer icon.png Cusps Type Sharp integer
Type real icon.png Smoothness 0.500000 real
Type list icon.png Width Point List List list(WPList)

Specific parameters for Advanced Outline Layer

Notice that many of the parameters are the same than the regular Outline, so you can find the explanation of its usage just reading the wiki page of it. The new parameters are:

  • Tip Type at start
  • Tip Type at end
  • Cusps type
  • Smoothness
  • Width Point List

Width Point List

Each advanced Outline has a list of parameters that represents the information for each control of width item. They are called Width Points and consists on four sub-parameters:

  • Position (Real number): it represents the position of the width point along the bline. Although it is allowed to be any real number, its meaning is only from 0.0 to 1.0. 0.0 corresponds to the start of the bline (first blinepoint on the bline list) and 1.0 to the last blinepoint. In case of looped blines 0.0 and 1.0 are together. The position is represented by the light purple duck that always lies on the bline.
  • Width (Real number): It is the width multiplicator of the Width parameter of the Advanced Outline Layer on the position given by the Position parameter. The final width is calculated multiplying the global Advanced Outline's Width (W) by the Width of the widhtpoint (w) and adding the Expand parameter (E). Calculated width = W*w+E
  • Tip Side Before/After: Those two sub-parameters controls how the width is interpolated before and after the current widthpoint. The sub-parameter can have four values:
    • Interpolate: Between the previous/posterior width point, the width is calculated by interpolation based on smoothness value.
    • Rounded: There is a rounded tip that points to the width point before or after. If the previous/posterior width point is 'Interpolate' on its posterior/previous side it consider that the width of the width point in question is zero just before/after it. If the previous/posterior width point is other than 'Interpolate' then the segment between those two width points is empty. See examples to understand it fully.
    • Squared: Same as Rounded but using square tip.
    • Peak: Same as Rounded but using peak tip.
    • Flat: Same as Rounded but using flat tip.

The Width Point list has one internal not animatable parameter called loop. You can reach it by right clicking the Width Point List parameter. If the Width Point list is unlooped, then any width point that has a Position outisde the range of [0,1] the value is clamped to that range. For example: a Position = 1.35 is clamped to 1.0 then the Width Point List is unlooped. Otherwise, if the Width Point List is looped and a width point has a Position of 1.3 it is calculated its modulus based on the range [0,1] so it is turned to a position of 0.3.


The SMoothness controls how the width is calculated betwen widthpoints. The width at a position p is a function of the surrounding width points. When smoothness is zero interpolation is lineal, when smoothness is 1.0 interpolation is given by a 5th degree smooth spline.

Cusp types

There are three types of cusps in the Advanced Outline:

  • Sharp
  • Rounded
  • Bevel

The type of cusp is controlled for the entire layer so currently it is not possible to control the type of corner individually. Maybe in future versions it is possible.

Tip type at start / end

As the width points, the end and start of the unlooped advanced outlines has a type of tip defined. User can choose between the same types of tips than for a width point. When the first/last width point has its before/after interpolation type set to Interpolate the start/end of the outline is rendered using the Tip type at start/end parameter.

Those parameters hasn't any effect if the bline is looped or the first/last width point has its before/after interpolation type set to anything but Interpolate. In that case, the segment between the start/end width point and the start/end of the bline is not rendered.

The types of tips are the same than the width point tip types except that it doesn't offer the Interpolate type because it has not sense:

  • Rounded
  • Squared
  • Peak
  • Flat

Languages Language: 

English • русский