LuciadCPillar C# 2023.1.04
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Class Reference

A builder to create ComplexStrokeLineStyle objects. More...

Inheritance diagram for Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder:

Public Member Functions

 Builder (Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder other)
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder AddDecoration (Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern pattern, double relativePosition)
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder AddDecoration (Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern pattern, double relativePosition, Luciad.Drawing.HorizontalAlignment alignment)
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle Build ()
 Build the ComplexStrokeLineStyle as configured. More...
 
void Dispose ()
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Fallback (Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern pattern)
 The pattern that is painted if no decoration or regular pattern can be painted. More...
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Orientation (Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeOrientation orientation)
 The orientation of the area that is used to render the complex stroke on for 3D lines. More...
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Regular (Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern pattern)
 The pattern that is repeated along the line. More...
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder SharpAngleThreshold (double sharpAngleThreshold)
 The threshold that is used to determine if angles are sharp or not. More...
 

Detailed Description

A builder to create ComplexStrokeLineStyle objects.

2023.1

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::ComplexStrokeLineStyle::Builder.

Constructor & Destructor Documentation

◆ Builder()

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.Builder ( Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder  other)
inline

Member Function Documentation

◆ AddDecoration() [1/2]

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.AddDecoration ( Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern  pattern,
double  relativePosition 
)
inline

◆ AddDecoration() [2/2]

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.AddDecoration ( Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern  pattern,
double  relativePosition,
Luciad.Drawing.HorizontalAlignment  alignment 
)
inline

◆ Build()

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.Build ( )
inline

Build the ComplexStrokeLineStyle as configured.

At least one of fallback, regular or addDecoration must be called. If none of these are called, a logic exception is thrown. the ComplexStrokeLineStyle.

luciad::LogicException

when neither a regular or a fallback pattern has been set and no decorations have been added.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::ComplexStrokeLineStyle::Builder::build.

◆ Dispose()

void Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.Dispose ( )
inline

◆ Fallback()

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.Fallback ( Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern  pattern)
inline

The pattern that is painted if no decoration or regular pattern can be painted.

This can happen if a line is too curved, or if there is not enough space to paint the regular pattern. Some patterns influence whether the fallback pattern is painted or not, and where it is painted. For more information, see the combineWithFallback and combineWithRegular patterns. Note that the fallback pattern can be cut off, e.g. when reaching the end of the line, instead of being omitted. This means that a base pattern can be partially drawn. this builder.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::ComplexStrokeLineStyle::Builder::fallback.

◆ Orientation()

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.Orientation ( Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeOrientation  orientation)
inline

The orientation of the area that is used to render the complex stroke on for 3D lines.

See ComplexStrokeLineStyle for more information. The default, the complex stroke faces the camera for 3D lines.

orientation

the orientation

this builder

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::ComplexStrokeLineStyle::Builder::orientation.

◆ Regular()

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.Regular ( Luciad.Layers.Styles.ComplexStrokes.ComplexStrokePattern  pattern)
inline

The pattern that is repeated along the line.

A regular pattern is painted where no decoration is painted, because decorations have priority over the regular pattern. If there is not enough space to place the regular pattern, the fallback pattern is painted. Some patterns influence whether the regular pattern is painted or not, and where it is painted. For more information, see the combineWithRegular pattern wrapper. Note that, unlike the fallback stroke, (patterns part of) the regular pattern will not be cut off. That is, each base pattern will always be fully painted or not at all. This is different from the atomic pattern which is about a composite pattern being painted together or not at all. this builder.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::ComplexStrokeLineStyle::Builder::regular.

◆ SharpAngleThreshold()

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle.Builder.SharpAngleThreshold ( double  sharpAngleThreshold)
inline

The threshold that is used to determine if angles are sharp or not.

It is interpreted as an angle in degrees between two line segments. In the context of complex stroking, sharp corners are handled differently than non-sharp corners. In general, a non-sharp corner is handled as if there were no corner at all. This means that any stroke can just be painted along the corner. As a side-effect, strokes may be deformed. This deformation is small for corners that are close to 180 degrees wide, meaning for line segments that are almost parallel. The deformation can become quite large for sharper corners though, so take care when you adjust this value. On the other hand, when a corner is considered sharp, strokes will not be deformed, but they may be dropped instead. This setting is useful when complex strokes use a uniform shape and color, for example. When you are painting an airspace border using a rectangular stroke along the length of the line, you can set the threshold to 0, for instance. The value should always be in the [0, 180] degrees range. The default value is 155 degrees.

sharpAngleThreshold

the sharpAngleThreshold.

this builder.

luciad::InvalidArgumentException

sharpAngleThreshold must be in range [0,180].

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::ComplexStrokeLineStyle::Builder::sharpAngleThreshold.