Classes | Typedefs | Enumerations
Multi-line Elements

Multi-lines are a complex element that displays multiple profiles. More...

Classes

struct  mlinesymbology
 The symbology for a multi-line profile or end cap. More...
 
struct  mlineprofile
 Definition of a multi-line profile. More...
 
struct  MultilinePoint
 Stores a point for a multiline. More...
 
struct  MultilineBreak
 Stores breaks for a multiline. More...
 
struct  IMultilineQuery
 Query an element for multi-line specific properties. More...
 
struct  IMultilineEdit
 Set specific properties on a multi-line. More...
 
struct  MultilineHandler
 The default type handler for the MULTILINE_ELM type that corresponds to the MlineElm structure. More...
 

Typedefs

typedef struct
Bentley::DgnPlatform::mlinesymbology 
MlineSymbology
 The symbology for a multi-line profile or end cap. More...
 
typedef struct
Bentley::DgnPlatform::mlineprofile 
MlineProfile
 Definition of a multi-line profile. More...
 
typedef RefCountedPtr
< MultilinePoint > 
MultilinePointPtr
 Smart pointer wrapper for MultilinePoint. More...
 
typedef RefCountedPtr
< MultilineBreak > 
MultilineBreakPtr
 Smart pointer wrapper for MultilineBreak. More...
 

Enumerations

enum  MlineOffsetMode {
  Unknown = -1, ByWork = 0, ByCenter = 1, ByMax = 2,
  ByMin = 3, Custom = 4
}
 The Offset Mode (or justification) of a multi-line defines the location of the line that the user has drawn relative to the offset of the style. More...
 
enum  MlineBreakLengthType { MLBREAK_STD = 0, MLBREAK_FROM_JOINT = 0x8000, MLBREAK_TO_JOINT = 0x4000, MLBREAK_BETWEEN_JOINTS = 0xC000 }
 The break flags are used to specify that a particular break should extend to or from a joint. More...
 

Detailed Description

Multi-lines are a complex element that displays multiple profiles.

Multi-lines are a complex element that consists of a work line, one or more profiles that are parallel to that work line, caps at the orgin and end, and breaks through one or more profiles.

The work line is a series of points that define the placement of the multi-line. These correspond to the points you pick when placing a multi-line, and define the zero offset for profiles.

There can be up to MULTILINE_MAX (16) profiles in a multi-line. Each profile consists of an offset from the work line and the symbology for that profile. The symbology is actually set up on two levels. First, there is symbology on the element itself, set up in the normal way. Often this is the active symbology at the time of placement. Then each profile can choose to override any given piece of that symbology. For example, the element may have a color of 7. The first profile may have a color of 3, the second profile may have a color of 12, and the third profile may choose to just use the header color.

There are three caps. The origin cap and end cap are at the start and end of the multi-line respectively. Mid or joint caps appear at every point in the work line. Caps have symbology that works the same as profiles. The origin and end caps can be set to show lines, arcs that go only between the outer-most profiles (outer arcs) and/or arcs that go between each pair of interior multlines, concentrically inside the outer arcs (inner arcs). Furthermore the angle of the start and end caps can be set.

Typedef Documentation

typedef struct Bentley::DgnPlatform::mlineprofile MlineProfile

Definition of a multi-line profile.

See also
MlineSymbology
typedef struct Bentley::DgnPlatform::mlinesymbology MlineSymbology

The symbology for a multi-line profile or end cap.

See also
MlineProfile
typedef RefCountedPtr<MultilineBreak> MultilineBreakPtr

Smart pointer wrapper for MultilineBreak.

typedef RefCountedPtr<MultilinePoint> MultilinePointPtr

Smart pointer wrapper for MultilinePoint.

Enumeration Type Documentation

enum MlineBreakLengthType

The break flags are used to specify that a particular break should extend to or from a joint.

Use MLBREAK_STD to specify the exact length of a break. +------------—+------------—+------------—+------------—+------------—+---—

Enumerator
MLBREAK_STD 

Use both offset and length.

MLBREAK_FROM_JOINT 

The break starts at the joint line at the specified segment's origin, and the value of offset is ignored.

MLBREAK_TO_JOINT 

The break ends at the joint line at the specified segment's end, and the value of length is ignored.

MLBREAK_BETWEEN_JOINTS 

Break from the specified break location to the second point on the segment. This is MLBREAK_FROM_JOINT & MLBREAK_TO_JOINT.

enum MlineOffsetMode
strong

The Offset Mode (or justification) of a multi-line defines the location of the line that the user has drawn relative to the offset of the style.

The Work Line is the 0-offset line, which may not be the center of a multi-line. This value was not stored for pre-V8 files. +------------—+------------—+------------—+------------—+------------—+---—

Enumerator
Unknown 

The Offset Mode is not stored on all multi-lines. This will be returned for elements that do not have it set.

ByWork 

The user-defined line traces the 0 profile offset of the style.

ByCenter 

The user-defined line traces the center ((max-min)/2) of the style.

ByMax 

The user-defined line traces the maximum offset of the style.

ByMin 

The user-defined line traces the minimum offset of the style.

Custom 

The user-defined line traces a custom offset of the style.


Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.