A3DGraphLinePatternData

struct A3DGraphLinePatternData

2D line pattern descriptor.

2.0

A3DGraphStyleDatacan hold a line pattern, which describes how lines are represented: continous, dashed, dotted or a mix of some.

A line pattern is made of segments, which are cycled through in the order they are written in. Each segment is represented by a pair of``A3DDouble``values:

  • The length of the line segment (the stroke)
  • The length of the spacing before the next segment is drawned (the blank)

All segments are written sequentially in a C-Style array,``m_pdLengths``, each of them consisting of its stroke/blank pair. Thus, when describing a line pattern consisting in*s*segments, the array has the following layout:

**** | Stroke | Blank

  • Segment 0 | 0 | 1
  • Segment 1 | 2 | 3
  • Segment 2 | 4 | 5
  • … | … | …
  • Segment*s-1* | … | i-1

The total number of elements in the array is*i*and is twice*s*.

For example a continuous line segment can be described using any non-zero value for the stroke, and``0.0``for the blank:{5.0, 0.0}. A dotted pattern would be described using a unit length for the stroke and a wider value for the blank ({1.0, 5.0}) while the other way around would end up having a dashed pattern ({5.0, 1.0}).

Using any combinaison of those segments description would give a mixed pattern:{1.0, 5.0, 5.0, 0.0, 5.0, 1.0}.

An ASCII representation of these patterns, repeated three times, would give:

  • continuous:_______________
  • dotted:_ _ _
  • dashed:_____ _____ _____
  • mixed:_ __________ _ __________ _ __________

The actual length of each segment depends on the drawing implementation and the``m_bRealLength``option (see below).

m_dPhaseis a length value that offsets the starting position within the pattern. By default the value is``0.0``(no offset).

Variables

A3DUns32 A3DGraphLinePatternData.m_uiNumberOfLengths

The size of``m_pdLengths``in bytes.

A3DDouble *A3DGraphLinePatternData.m_pdLengths

The array of segments describing the pattern.

A3DDouble A3DGraphLinePatternData.m_dPhase

Offset value defining the starting position of the pattern within the array.

A3DBool A3DGraphLinePatternData.m_bRealLength

If``A3D_TRUE``, segments lengths are expressed in absolute values, using unit model file.