# A3DGraphLinePatternData

struct `A3DGraphLinePatternData`

  2D line pattern descriptor.

  > 2.0

  `A3DGraphStyleData`can 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 ssegments, 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 iand 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_dPhase`is a length value that offsets the starting position within the pattern. By default the value is `0.0`(no offset).

  > `A3DGraphStyleData`

  > `A3DGlobalGetGraphLinePatternData()`

  > `A3DGlobalInsertGraphLinePattern()`

  > `A3DGraphPictureData`

  > `A3DGraphicsData`

  ## Index

  Variables

  - `m_uiNumberOfLengths`
  - `m_pdLengths`
  - `m_dPhase`
  - `m_bRealLength`

Variables

A3DUns32 `A3DGraphLinePatternData.``m_uiNumberOfLengths`
  `A3DUns32`

  The size of `m_pdLengths`in bytes.

A3DDouble *`A3DGraphLinePatternData.``m_pdLengths`
  `A3DDouble`*

  The array of segments describing the pattern.

A3DDouble `A3DGraphLinePatternData.``m_dPhase`
  `A3DDouble`

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

A3DBool `A3DGraphLinePatternData.``m_bRealLength`
  `A3DBool`

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

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...