Typedefs | Functions

Typedefs

typedef StatusInt(* MlineStyleTraverseFunctionP )(bool *pMayContinue, MlineStyleConstP mlineStyle, WCharCP pName, CallbackArgP pUserData)
 Callback function specified to mdlMlineStyle_traverse. More...
 

Functions

StatusInt mdlMlineStyle_add (MlineStyleP mlineStyle, DgnModelRefP modelRef)
 Creates a new multi-line style in the file. More...
 
StatusInt mdlMlineStyle_replace (MlineStyleP mlineStyle, WCharCP pStyleName, DgnModelRefP modelRef)
 Replaces a current multi-line style definition in the file. More...
 
StatusInt mdlMlineStyle_delete (WCharCP pStyleName, DgnModelRefP modelRef)
 Deletes a multi-line from the model by name. More...
 
MlineStyleP mdlMlineStyleP_getActive ()
 Gets a pointer to the active style. More...
 
void mdlMlineStyleP_free (MlineStyleP *ppMlineStyle)
 Frees the resources for a multi-line style. More...
 
MlineStyleP mdlMlineStyleP_create ()
 Allocate resources for a multi-line style. More...
 
StatusInt mdlMlineStyle_traverse (MlineStyleTraverseFunctionP pCallbackFunc, CallbackArgP pCallbackData, DgnModelRefP sourceModelRef, UInt32 options)
 Traverse all multi-line styles in the selected files. More...
 
StatusInt mdlMlineStyleP_getByName (MlineStyleP mlineStyle, WCharCP pStyleName, DgnModelRefP preferredModelRef, UInt32 options)
 Get a multi-line style by name. More...
 
StatusInt mdlMlineStyleP_copy (MlineStyleP destStyle, MlineStyleConstP sourceStyle)
 Copy all style data from one style to another. More...
 
DgnPlatform::ElementId mdlMlineStyleP_getStyleId (MlineStyleConstP mlineStyle)
 Get the style Id for the multi-line style. More...
 
bool mdlMlineStyleP_isUsed (MlineStyleP mlineStyle, DgnModelRefP modelRef, UInt32 obsolete)
 Determine if a style is used. More...
 
DgnModelRefP mdlMlineStyleP_getModelRef (MlineStyleConstP mlineStyle)
 Get the model ref for the multi-line style. More...
 
StatusInt mdlMlineStyleP_changeToModel (MlineStyleP mlineStyle, DgnModelRefP destModelRef)
 Changes the multi-line style to be in the context of a different model. More...
 
MlineStyleP mdlMlineStyleAsynch_getNew (MlineStyleAsynchP asynchData)
 Get the new multi-line style from the asynch message. More...
 
MlineStyleP mdlMlineStyleAsynch_getOld (MlineStyleAsynchP asynchData)
 Get the old multi-line style from the asynch message. More...
 
DgnModelRefP mdlMlineStyleAsynch_getModelRef (MlineStyleAsynchP asynchData)
 Get the model ref from the asynch message. More...
 
StatusInt mdlMlineStyleP_setActive (MlineStyleP mlineStyle)
 Set the currently active multi-line style based on the style provided. More...
 
StatusInt mdlMlineStyleP_getName (MlineStyleConstP mlineStyle, WCharP pName, int bufferSize)
 Get the name of the current active line style. More...
 
StatusInt mdlMlineStyleP_setName (MlineStyleP mlineStyle, WCharCP pName)
 Set the name of the current active line style. More...
 
double mdlMlineStyleP_getOrgAngle (MlineStyleConstP mlineStyle)
 Get the origin angle of the currently active multi-line style. More...
 
void mdlMlineStyleP_setOrgAngle (MlineStyleP mlineStyle, double value)
 Set the origin or start angle of the currently active multi-line style. More...
 
double mdlMlineStyleP_getEndAngle (MlineStyleConstP mlineStyle)
 Get the end angle of the currently active multi-line style. More...
 
void mdlMlineStyleP_setEndAngle (MlineStyleP mlineStyle, double value)
 Set the end angle of the currently active multi-line style. More...
 
UInt32 mdlMlineStyleP_getFillColor (MlineStyleConstP mlineStyle)
 Get fill color of the currently active multi-line style. More...
 
void mdlMlineStyleP_setFillColor (MlineStyleP mlineStyle, UInt32 value)
 Set the fill color of the currently active multi-line style. More...
 
bool mdlMlineStyleP_isFilled (MlineStyleConstP mlineStyle)
 Get the fill status of the currently active multi-line style. More...
 
void mdlMlineStyleP_setFilled (MlineStyleP mlineStyle, bool value)
 Set fill status of the currently active multi-line style. More...
 
int mdlMlineStyleP_getNumProfiles (MlineStyleConstP mlineStyle)
 Get the number of lines or profiles in the currently active multi-line style. More...
 
void mdlMlineStyleP_getOrgCap (MlineStyleConstP mlineStyle, DgnPlatform::MlineSymbology *capSymbology, DgnPlatform::LineStyleInfo *lineStyle)
 Get a copy of the origin cap symbology and line style information for a multi-line style. More...
 
void mdlMlineStyleP_setOrgCap (MlineStyleP mlineStyle, DgnPlatform::MlineSymbology *capSymbology, DgnPlatform::LineStyleInfo *lineStyle)
 Modify the origin cap symbology and line style information for a multi-line style. More...
 
void mdlMlineStyleP_getEndCap (MlineStyleConstP mlineStyle, DgnPlatform::MlineSymbology *capSymbology, DgnPlatform::LineStyleInfo *lineStyle)
 Get a copy of the end cap symbology and line style information for a multi-line style. More...
 
void mdlMlineStyleP_setEndCap (MlineStyleP mlineStyle, DgnPlatform::MlineSymbology *capSymbology, DgnPlatform::LineStyleInfo *lineStyle)
 Modify the end cap symbology and line style information for a multi-line style. More...
 
void mdlMlineStyleP_getMidCap (MlineStyleConstP mlineStyle, DgnPlatform::MlineSymbology *capSymbology, DgnPlatform::LineStyleInfo *lineStyle)
 Get a copy of the mid cap (joint) symbology and line style information for a multi-line style. More...
 
void mdlMlineStyleP_setMidCap (MlineStyleP mlineStyle, DgnPlatform::MlineSymbology *capSymbology, DgnPlatform::LineStyleInfo *lineStyle)
 Modify the mid cap (joint) symbology and line style information for a multi-line style. More...
 
StatusInt mdlMlineStyleP_getProfile (MlineStyleConstP mlineStyle, DgnPlatform::MlineProfile *pProfile, DgnPlatform::LineStyleInfo *pLineStyleInfo, int profileNum)
 Get a copy of a specific profile from a multi-line style. More...
 
StatusInt mdlMlineStyleP_replaceProfile (MlineStyleP mlineStyle, DgnPlatform::MlineProfile *newProfile, DgnPlatform::LineStyleInfo *newLineStyleInfo, int location)
 Overwrite an existing profile. More...
 
StatusInt mdlMlineStyleP_insertProfile (MlineStyleP mlineStyle, DgnPlatform::MlineProfile *newProfile, DgnPlatform::LineStyleInfo *newLineStyleInfo, int profileNumber)
 Insert a profile at the specified index. More...
 
void mdlMlineStyleP_removeProfile (MlineStyleP mlineStyle, int lineNo)
 Delete a profile line. More...
 
void mdlMlineStyleP_clearProfiles (MlineStyleP mlineStyle)
 Empty the profile list by setting the number of lines to 0. More...
 
int mdlMlineStyleP_getLineStyleModifiers (MlineStyleConstP mlineStyle, int styleNum)
 Gets the line style modifiers for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setLineStyleModifiers (MlineStyleP mlineStyle, int styleNum, int value)
 Sets the line style modifiers for the multi-line style at the given index. More...
 
double mdlMlineStyleP_getLineStyleScale (MlineStyleConstP mlineStyle, int styleNum)
 Gets the line style scale for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setLineStyleScale (MlineStyleP mlineStyle, int styleNum, double value)
 Sets the line style scale for the multi-line style at the given index. More...
 
double mdlMlineStyleP_getLineStyleShift (MlineStyleConstP mlineStyle, int styleNum)
 Gets the line style shift for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setLineStyleShift (MlineStyleP mlineStyle, int styleNum, int value)
 Sets the line style shift for the multi-line style at the given index. More...
 
double mdlMlineStyleP_getLineStyleStartWidth (MlineStyleConstP mlineStyle, int styleNum)
 Gets the line style start width for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setLineStyleStartWidth (MlineStyleP mlineStyle, int styleNum, int value)
 Set the line style start width for the multi-line style at the given index. More...
 
double mdlMlineStyleP_getLineStyleEndWidth (MlineStyleConstP mlineStyle, int styleNum)
 Get the line style end width for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setLineStyleEndWidth (MlineStyleP mlineStyle, int styleNum, int value)
 Set the line style end width for the multi-line style at the given index. More...
 
double mdlMlineStyleP_getProfileDist (MlineStyleConstP mlineStyle, int profileNum)
 Get the line style profile distance for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setProfileDist (MlineStyleP mlineStyle, int profileNum, double dist)
 Set the line style profile distance for the multi-line style at the given index. More...
 
int mdlMlineStyleP_getProfileSymb (MlineStyleConstP mlineStyle, int profileNum, int item)
 Get one of the flags from the line style profile symbology for the multi-line style at the given index. More...
 
StatusInt mdlMlineStyleP_setProfileSymb (MlineStyleP mlineStyle, int profileNum, int item, int value)
 Sets a flag in the line style profile symbology for the multi-line style at the given index. More...
 
bool mdlMlineStyle_getCompatible ()
 Get the compatible flag for multi-lines. More...
 
void mdlMlineStyle_setCompatible (bool value)
 Set the compatible flag for multi-lines. More...
 
bool mdlMlineStyle_getScaleOffset ()
 Get the current scale offset status. More...
 
void mdlMlineStyle_setScaleOffset (bool value)
 Set the current scale offset status. More...
 
DgnPlatform::MlineOffsetMode mdlMlineStyle_getOffsetMode ()
 Get the offset mode for placing the multi-line. More...
 
void mdlMlineStyle_setOffsetMode (DgnPlatform::MlineOffsetMode value)
 Set the offset mode for multi-line placement. More...
 
bool mdlMlineStyle_getMirrorOffset ()
 Get mirror offset status. More...
 
void mdlMlineStyle_setMirrorOffset (bool value)
 Set mirror offset status. More...
 
StatusInt mdlMlineStyle_getNameListModel (ListModel *pListModel, DgnModelRefP sourceModelRef, UInt32 options)
 Fills a list model of multi-line styles. More...
 

Detailed Description

Typedef Documentation

typedef StatusInt(* MlineStyleTraverseFunctionP)(bool *pMayContinue, MlineStyleConstP mlineStyle, WCharCP pName, CallbackArgP pUserData)

Callback function specified to mdlMlineStyle_traverse.

Parameters
[out]pMayContinueSet to false to stop traversal.
[in]mlineStyleCurrent multi-line style in traversal.
[in]pNameName of mlineStyle for convenience.
[in]pUserDatauser data specified to mdlMlineStyle_traverse.
Returns
If anything other than SUCCESS is returned, then the traversal will stop and the return code will be returned from mdlMlineStyle_traverse.

Function Documentation

StatusInt mdlMlineStyle_add ( MlineStyleP  mlineStyle,
DgnModelRefP  modelRef 
)

Creates a new multi-line style in the file.

Parameters
[in]mlineStyleThe style to add.
[in]modelRefThe model to which the style should be added.
Returns
MDLERR_BADARG if either the style name or model ref is not valid; MDLERR_BADNAME if the style does not have a valid name; MDLERR_NAMENOTUNIQUE if the new style name is already used in the file; and SUCCESS if the style is added.
Remarks
Other applications can monitor the multi-line styles vi mdlSystem_setFuntion() and refuse the transaction. In this case, the returned status will be from that monitoring function.
See also
mdlMlineStyle_delete mdlMlineStyle_replace
Remarks
Required Library: mdlbltin.lib
StatusInt mdlMlineStyle_delete ( WCharCP  pStyleName,
DgnModelRefP  modelRef 
)

Deletes a multi-line from the model by name.

Parameters
[in]pStyleNameThe name of the style to delete.
[in]modelRefThe model containing the style.
Returns
MDLERR_BADARG if either the style name or model ref is not valid; MDLERR_STYLEISUSED if the style is used in the file; MDLERR_STYLENOTFOUND if the style does not exist in the file, and SUCCESS if the style is removed.
Remarks
Other applications can monitor the multi-line styles vi mdlSystem_setFuntion() and refuse the transaction. In this case, the returned status will be from that monitoring function.
See also
mdlMlineStyle_replace mdlMlineStyle_add
Remarks
Required Library: mdlbltin.lib
bool mdlMlineStyle_getCompatible ( )

Get the compatible flag for multi-lines.

"Compatible" means that the multi-line will be IGDS compatible (once it is saved as V7) because component elements will be created rather than a multi-line element.

Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
See also
mdlMlineStyle_setCompatible
Returns
Current compatible status
See also
mdlMlineStyle_setCompatible
Remarks
Required Library: mdlbltin.lib
bool mdlMlineStyle_getMirrorOffset ( )

Get mirror offset status.

The mirror offset flag determines if the offsets of the multi-line should be mirrored when the element is mirrored.

See also
mdlMlineStyle_setMirrorOffset
Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
Returns
Current mirror offset flag, either true or false.
Remarks
Required Library: mdlbltin.lib
StatusInt mdlMlineStyle_getNameListModel ( ListModel *  pListModel,
DgnModelRefP  sourceModelRef,
UInt32  options 
)

Fills a list model of multi-line styles.

The values of the cells are the style's names. You should use mdlListModel_create to create a list model. The first column will be filled by this function. Any additional columns will be ignored.

Parameters
[in,out]pListModelA list model that has already been created.
[in]sourceModelRefSpecifies a model ref from the file to get a style list from; can be NULL.
[in]optionsUsed to specify additional options for the traversal. Built up by bitwise ORing the constants described below. Pass zero to get names for the preferred file only.
Remarks
The following constants should be used to specify the options parameter. If neither MLSTYLE_NAMELIST_StyleNone nor MLSTYLE_NAMELIST_StylesOnly is specified, then style (None) is added based on the capability CAPABILITY_MULTILINE_NOSTYLE.
  • MLSTYLE_NAMELIST_StyleNone - Add style (None) at the top of the list
  • MLSTYLE_NAMELIST_StylesOnly - Do not add style (None) at the top of the list
  • MLSTYLE_NAMELIST_ActiveModel - Get styles from the active model.
  • MLSTYLE_NAMELIST_DgnLibs - Get all styles from attached DGNLIBs.
  • MLSTYLE_NAMELIST_BoldIfLocal - Make all styles in the current file Bold.
  • MLSTYLE_NAMELIST_UseSortFunc - Add the default sort function, which is lexicographic but keeps style (None) at the top of the list.
  • MLSTYLE_TRAVERSE_DEFAULT - Traverse master file and dgnlibs, bold local, and add the sort function. Style (None) is controlled by capability.
Returns
SUCCESS if the list model was completely filled as desired.
Remarks
Required Library: mdlbltin.lib
DgnPlatform::MlineOffsetMode mdlMlineStyle_getOffsetMode ( )

Get the offset mode for placing the multi-line.

The offset mode determines the relationship of the multi-line offsets to the work line. See mdlMlineStyle_setOffsetMode for more description.

Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
See also
mdlMlineStyle_setOffsetMode
Returns
Current offset mode. See mdlMlineStyle_setOffsetMode for a description of values.
Remarks
Required Library: mdlbltin.lib
bool mdlMlineStyle_getScaleOffset ( )

Get the current scale offset status.

This switch determines if scaling the multi-line will make it wider. If true, then the offsets will scale, making the multi-line wider as well as longer. If false, the base line will change size, but the applied multi-line will remain the same size.

Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
See also
mdlMlineStyle_setScaleOffset
Returns
Current scale offset status
Remarks
Required Library: mdlbltin.lib
StatusInt mdlMlineStyle_replace ( MlineStyleP  mlineStyle,
WCharCP  pStyleName,
DgnModelRefP  modelRef 
)

Replaces a current multi-line style definition in the file.

Parameters
[in]mlineStyleThe style to use as a replacement.
[in]pStyleNameThe name of the style to replace; this is necessary if renaming a style. Pass NULL to use the name from the style.
[in]modelRefThe model containing the style.
Returns
MDLERR_BADARG if either the style name or model ref is not valid; MDLERR_BADNAME if the style does not have a valid name; MDLERR_NAMENOTUNIQUE if the new style name is used in the file and pStyleName is not NULL; MDLERR_STYLENOTFOUND if the style does not exist in the file, and SUCCESS if the style is replaced.
Remarks
Other applications can monitor the multi-line styles vi mdlSystem_setFuntion() and refuse the transaction. In this case, the returned status will be from that monitoring function.
See also
mdlMlineStyle_delete mdlMlineStyle_add
Remarks
Required Library: mdlbltin.lib
void mdlMlineStyle_setCompatible ( bool  value)

Set the compatible flag for multi-lines.

"Compatible" means that the multi-line will be IGDS compatible (once it is saved in V7) because component elements will be created rather than a multi-line element.

Parameters
[in]valueThe new compatible value, true or false
Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
See also
mdlMlineStyle_getCompatible
Remarks
Required Library: mdlbltin.lib
void mdlMlineStyle_setMirrorOffset ( bool  value)

Set mirror offset status.

The mirror offset flag determines if the offsets of the multi-line should be mirrored when the element is mirrored.

Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
See also
mdlMlineStyle_getMirrorOffset
Parameters
[in]valueThe new mirror offset flag value, true or false.
Remarks
Required Library: mdlbltin.lib
void mdlMlineStyle_setOffsetMode ( DgnPlatform::MlineOffsetMode  value)

Set the offset mode for multi-line placement.

The offset mode determines the location of the multi-line relative to the work line. The default value, 0, will place the multi-line at offset 0. A value of 1 will place the multi-line so that the work line is in the center of the multi-line, regardless of the offsets. 2 will place the multi-line so that the work line is at the maximum offset, and 3 will place the multi-line so that it is at the minimum offset.

Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
See also
mdlMlineStyle_getOffsetMode
Parameters
[in]valueThe new offset mode value, 0-3.
Remarks
Required Library: mdlbltin.lib
void mdlMlineStyle_setScaleOffset ( bool  value)

Set the current scale offset status.

This switch determines if scaling the multi-line will make it wider. If true, then the offsets will scale, making the multi-line wider as well as longer. If false, the base line will change size, but the applied multi-line will remain the same size.

Remarks
This is a file-level switch and applies regardless of the multi-line style chosen.
Parameters
[in]valueThe new scale offset value, true or false
See also
mdlMlineStyle_getScaleOffset
Remarks
Required Library: mdlbltin.lib
StatusInt mdlMlineStyle_traverse ( MlineStyleTraverseFunctionP  pCallbackFunc,
CallbackArgP  pCallbackData,
DgnModelRefP  sourceModelRef,
UInt32  options 
)

Traverse all multi-line styles in the selected files.

Parameters
[in]pCallbackFuncUser specified callback function that will be called for each multi-line style found during the traversal.
[in]pCallbackDataUser data passed to pCallbackFunc.
[in]sourceModelRefThe preferred file for traversal. If specified, the styles in this file with be traversed first. It can be NULL.
[in]optionsUsed to specify additional files for the traversal. Built up by bitwise ORing the constants described below. Pass zero to traverse the preferred file only.
MLINESTYLE_TRAVERSE_ActiveModel Traverse active file.
MLINESTYLE_TRAVERSE_DgnLibraries Traverse all attached DGNLIBs.
MLINESTYLE_TRAVERSE_DEFAULT Traverse the active file and all DGNLIBs.
Returns
This function will return the status from the last call to pCallbackFunc.
Remarks
Required Library: mdlbltin.lib
DgnModelRefP mdlMlineStyleAsynch_getModelRef ( MlineStyleAsynchP  asynchData)

Get the model ref from the asynch message.

Remarks
The asynch is set up by calling mdlSystem_setFunction with the parameter SYSTEM_MLINESTYLE_CHANGE.
Parameters
[in]asynchDataThe data pointer passed to the asynch function.
Returns
The model ref which is being modified at the time.
See also
mdlMlineStyleAsynch_getOld mdlMlineStyleAsynch_getNew
MlineStyleP mdlMlineStyleAsynch_getNew ( MlineStyleAsynchP  asynchData)

Get the new multi-line style from the asynch message.

Several of the multi-line changing asynch calls involve 2 model refs, such as MLINESTYLE_PreChange and MLINESTYLE_UndoModify. In this case, the new style is the one after the change. For add messages, this is the style about to be added. For delete messages, this function will return NULL.

Remarks
The asynch is set up by calling mdlSystem_setFunction with the parameter SYSTEM_MLINESTYLE_CHANGE.
Parameters
[in]asynchDataThe data pointer passed to the asynch function.
Returns
The style before modification; this will be NULL during delete messages.
See also
mdlMlineStyleAsynch_getModelRef mdlMlineStyleAsynch_getNew
MlineStyleP mdlMlineStyleAsynch_getOld ( MlineStyleAsynchP  asynchData)

Get the old multi-line style from the asynch message.

Several of the multi-line changing asynch calls involve 2 model refs, such as MLINESTYLE_PreChange and MLINESTYLE_UndoModify. In this case, the old style is the one before the change. For delete messages, this is the style about to be deleted. For add messages, this function will return NULL.

Remarks
The asynch is set up by calling mdlSystem_setFunction with the parameter SYSTEM_MLINESTYLE_CHANGE.
Parameters
[in]asynchDataThe data pointer passed to the asynch function.
Returns
The style before modification; this will be NULL during add messages.
See also
mdlMlineStyleAsynch_getModelRef mdlMlineStyleAsynch_getNew
StatusInt mdlMlineStyleP_changeToModel ( MlineStyleP  mlineStyle,
DgnModelRefP  destModelRef 
)

Changes the multi-line style to be in the context of a different model.

This is the equivalent of doing an mdlElmdscr_copy on the element, so any needed levels, styles, etc. will be copied into the destination model. Also the units conversion will occur for True Scale.

Parameters
[in]mlineStyleThe multi-line style to convert
[in]destModelRefThe destination model.
Returns
SUCCESS if the conversion worked.
See also
mdlMlineStyleP_getModelRef
void mdlMlineStyleP_clearProfiles ( MlineStyleP  mlineStyle)

Empty the profile list by setting the number of lines to 0.

It also clears all profile memory.

Parameters
[in]mlineStyleThe style to work on.
StatusInt mdlMlineStyleP_copy ( MlineStyleP  destStyle,
MlineStyleConstP  sourceStyle 
)

Copy all style data from one style to another.

Parameters
[in,out]destStyleThe style to which the data should be copied. It should be created with a call to mdlMlineStyleP_create.
[in]sourceStyleThe style from which data should be copied.
Returns
SUCCESS.
See also
mdlMlineStyleP_changeToModel
mdlMlineStyleP_getByName mdlMlineStyleP_create
MlineStyleP mdlMlineStyleP_create ( )

Allocate resources for a multi-line style.

Remarks
The style must be freed by mdlMlineStyleP_free.
Returns
A pointer to the new style.
See also
mdlMlineStyleP_free
void mdlMlineStyleP_free ( MlineStyleP *  ppMlineStyle)

Frees the resources for a multi-line style.

Nulls the pointer.

Remarks
The style must be created by mdlMlineStyleP_create.
Parameters
[in]ppMlineStyleA pointer to a multi-line style. If the style is NULL, then nothing is done and the function returns.
See also
mdlMlineStyleP_create
MlineStyleP mdlMlineStyleP_getActive ( )

Gets a pointer to the active style.

This should not be freed.

Returns
The active style.
See also
mdlMlineStyleP_create
StatusInt mdlMlineStyleP_getByName ( MlineStyleP  mlineStyle,
WCharCP  pStyleName,
DgnModelRefP  preferredModelRef,
UInt32  options 
)

Get a multi-line style by name.

Parameters
[out]mlineStyleThe style to which the data should be copied. It should be created with a call to mdlMlineStyleP_create. All data will be overwritten.
[in]pStyleNameThe name of the style to get.
[in]preferredModelRefThe modelRef to look in for the style. This can be NULL.
[in]optionsFlag that controls where to search for the style. The flag can contain any of the following values bitwise OR'd together.
MLINESTYLE_SEARCH_ActiveModel Search the active model.
MLINESTYLE_SEARCH_DgnLibraries Search all attached DGNLIBs.
MLINESTYLE_SEARCH_DEFAULT Search the active model and all DGNLIBs.
Returns
SUCCESS.
See also
mdlMlineStyleP_copy mdlMlineStyleP_create
double mdlMlineStyleP_getEndAngle ( MlineStyleConstP  mlineStyle)

Get the end angle of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
Returns
Current end angle in radians.
See also
mdlMlineStyleP_setEndAngle
void mdlMlineStyleP_getEndCap ( MlineStyleConstP  mlineStyle,
DgnPlatform::MlineSymbology *  capSymbology,
DgnPlatform::LineStyleInfo *  lineStyle 
)

Get a copy of the end cap symbology and line style information for a multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
[in]capSymbologyA pointer to a structure into which the symbology will be copied. It can be NULL if only interested in line style information.
[in]lineStyleA pointer to a structure into which the symbology will be copied. It can be NULL if only interested in symbology information.
See also
mdlMlineStyleP_getOrgCap mdlMlineStyleP_getMidCap
mdlMlineStyleP_setEndCap
UInt32 mdlMlineStyleP_getFillColor ( MlineStyleConstP  mlineStyle)

Get fill color of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
Returns
Current fill color.
See also
mdlMlineStyle_setFillColor
double mdlMlineStyleP_getLineStyleEndWidth ( MlineStyleConstP  mlineStyle,
int  styleNum 
)

Get the line style end width for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to get the end width for.
Returns
A double value representing the multi-line style end width.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_setLineStyleEndWidth
int mdlMlineStyleP_getLineStyleModifiers ( MlineStyleConstP  mlineStyle,
int  styleNum 
)

Gets the line style modifiers for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to get the modifiers for.
Returns
An integer containing the modifier flags.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_setLineStyleModifiers
double mdlMlineStyleP_getLineStyleScale ( MlineStyleConstP  mlineStyle,
int  styleNum 
)

Gets the line style scale for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to get the scale for.
Returns
A double value representing the multi-line style scale.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_setLineStyleScale
double mdlMlineStyleP_getLineStyleShift ( MlineStyleConstP  mlineStyle,
int  styleNum 
)

Gets the line style shift for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to get the shift for.
Returns
A double value representing the multi-line style shift.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_setLineStyleShift
double mdlMlineStyleP_getLineStyleStartWidth ( MlineStyleConstP  mlineStyle,
int  styleNum 
)

Gets the line style start width for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to get the start width for.
Returns
A double value representing the multi-line style start width.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_setLineStyleStartWidth
void mdlMlineStyleP_getMidCap ( MlineStyleConstP  mlineStyle,
DgnPlatform::MlineSymbology *  capSymbology,
DgnPlatform::LineStyleInfo *  lineStyle 
)

Get a copy of the mid cap (joint) symbology and line style information for a multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
[in]capSymbologyA pointer to a structure into which the symbology will be copied. It can be NULL if only interested in line style information.
[in]lineStyleA pointer to a structure into which the symbology will be copied. It can be NULL if only interested in symbology information.
See also
mdlMlineStyleP_getOrgCap mdlMlineStyleP_getEndCap
mdlMlineStyleP_setMidCap
DgnModelRefP mdlMlineStyleP_getModelRef ( MlineStyleConstP  mlineStyle)

Get the model ref for the multi-line style.

Remarks
This is an internal model ref, so you should not hold on to it independent of the multi-line style. Also, all multi-line styles should be discarded when changing files because the model refs may go out of scope.
Parameters
[in]mlineStyleThe style to get the model ref from.
Returns
The model ref associated with the given style.
See also
mdlMlineStyleP_changeToModel
StatusInt mdlMlineStyleP_getName ( MlineStyleConstP  mlineStyle,
WCharP  pName,
int  bufferSize 
)

Get the name of the current active line style.

Parameters
[in]mlineStyleThe style to get the name from.
[out]pNameA buffer to copy the style name into.
[in]bufferSizeThe number of wide characters in the pName buffer.
Returns
MDLERR_BADARG if the style is not valid; otherwise SUCCESS.
See also
mdlMlineStyle_setName
int mdlMlineStyleP_getNumProfiles ( MlineStyleConstP  mlineStyle)

Get the number of lines or profiles in the currently active multi-line style.

Parameters
[in]mlineStyleThe multi-line style.
Returns
The number of profiles in the style.
double mdlMlineStyleP_getOrgAngle ( MlineStyleConstP  mlineStyle)

Get the origin angle of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
Returns
Current origin angle, in radians.
See also
mdlMlineStyleP_setOrgAngle
void mdlMlineStyleP_getOrgCap ( MlineStyleConstP  mlineStyle,
DgnPlatform::MlineSymbology *  capSymbology,
DgnPlatform::LineStyleInfo *  lineStyle 
)

Get a copy of the origin cap symbology and line style information for a multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
[in]capSymbologyA pointer to a structure into which the symbology will be copied. It can be NULL if only interested in line style information.
[in]lineStyleA pointer to a structure into which the symbology will be copied. It can be NULL if only interested in symbology information.
See also
mdlMlineStyleP_getEndCap mdlMlineStyleP_getMidCap
mdlMlineStyleP_setOrgCap
StatusInt mdlMlineStyleP_getProfile ( MlineStyleConstP  mlineStyle,
DgnPlatform::MlineProfile *  pProfile,
DgnPlatform::LineStyleInfo *  pLineStyleInfo,
int  profileNum 
)

Get a copy of a specific profile from a multi-line style.

Parameters
[in]mlineStyleThe style to work on.
[in]pProfilePointer to buffer to hold a copy of the profile. This can be NULL if not interested in the profile information.
[in]pLineStyleInfoCustom line style information to insert; can be NULL if not interested in line style information.
[in]profileNumIndex of profile desired.
See also
mdlMlineStyleP_replaceProfile mdlMlineStyleP_removeProfile mdlMlineStyleP_insertProfile
Returns
SUCCESS or MDLERR_BADARG if the profileNum is outside the range for the multi-line style.
double mdlMlineStyleP_getProfileDist ( MlineStyleConstP  mlineStyle,
int  profileNum 
)

Get the line style profile distance for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]profileNumThe index of the multi-line profile to get the profile distance for.
Returns
A double value representing the multi-line style profile distance.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_setProfileDist
int mdlMlineStyleP_getProfileSymb ( MlineStyleConstP  mlineStyle,
int  profileNum,
int  item 
)

Get one of the flags from the line style profile symbology for the multi-line style at the given index.

This function was added for MicroStation Basic where accessing the data by structure is not possible. The possible items are:

Item Description
MLINESTYLE_USECLASS true if the class in CONCLASS should be used.
MLINESTYLE_CONCLASS true for construction class; false for primary class.
MLINESTYLE_CAPLINE true if cap lines are turned on for origin/end/joint (only applies to cap symbology).
MLINESTYLE_CAPOUTARC true if cap outer arcs are turned on for origin/end (only applies to cap symbology).
MLINESTYLE_CAPINARC true if cap inner arcs are turned on for origin/end (only applies to cap symbology).
MLINESTYLE_USECOLOR true if the color in MLINESTYLE_COLOR should be used. false means to use value from multi-line element.
MLINESTYLE_COLOR Color for this profile. Return should be cast to UInt32.
MLINESTYLE_USEWEIGHT true if the weight in MLINESTYLE_WEIGHT should be used. false means to use value from multi-line element.
MLINESTYLE_WEIGHT Weight for this profile. Return should be cast to UInt32.
MLINESTYLE_USESTYLE true if the line style in MLINESTYLE_STYLE should be used. false means to use value from multi-line element.
MLINESTYLE_STYLE Linestyle for this profile. Return should be cast to long.
MLINESTYLE_CUSTOMSTYLE true if there is additional custom line style data.
MLINESTYLE_LEVEL Level for this profile. Return should be cast to UInt32. 0 means to use level from enclosing multi-line element.
Parameters
[in]mlineStyleThe style to work on.
[in]profileNumthe index of the multi-line profile to get the profile symbology for.
[in]itemDgnPlatform::Symbology item of interest (see list).
Returns
An integer value representing the multi-line style profile symbology information requested.
Remarks
This function was added for MicroStation Basic where accessing the data by structure is not possible. For MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile.
See also
mdlMlineStyleP_setProfileSymb
DgnPlatform::ElementId mdlMlineStyleP_getStyleId ( MlineStyleConstP  mlineStyle)

Get the style Id for the multi-line style.

The Id is what is stored on the multi-line element.

Remarks
The style Id is not assigned until a style is written to the file.
Parameters
[in]mlineStyleThe style to get the Id from.
Returns
The style Id; or 0 on error.
See also
mdlMlineStyleP_changeToModel
StatusInt mdlMlineStyleP_insertProfile ( MlineStyleP  mlineStyle,
DgnPlatform::MlineProfile *  newProfile,
DgnPlatform::LineStyleInfo *  newLineStyleInfo,
int  profileNumber 
)

Insert a profile at the specified index.

All following lines will be moved up one index.

Parameters
[in]mlineStyleThe style to work on.
[in]newProfileProfile to insert.
[in]newLineStyleInfoCustom line style information to insert; can be NULL if there is no custom style information for this profile.
[in]profileNumberIndex in array to add the line; a value of -1 means to append the profile to the end.
See also
mdlMlineStyleP_getProfile mdlMlineStyleP_removeProfile mdlMlineStyleP_replaceProfile
Returns
SUCCESS or ERROR if the new line will exceed the maximum allowed.
bool mdlMlineStyleP_isFilled ( MlineStyleConstP  mlineStyle)

Get the fill status of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to get the information from.
Returns
Current fill status.
See also
mdlMlineStyleP_setFilled
bool mdlMlineStyleP_isUsed ( MlineStyleP  mlineStyle,
DgnModelRefP  modelRef,
UInt32  obsolete 
)

Determine if a style is used.

Parameters
[in]mlineStyleThe style to test.
[in]modelRefA model ref in the file to search.
[in]obsoleteThis is no longer used. The entire file is always checked.
Returns
true if the style is used, false if it is not used.
void mdlMlineStyleP_removeProfile ( MlineStyleP  mlineStyle,
int  lineNo 
)

Delete a profile line.

All following lines will be moved down one index.

Parameters
[in]mlineStyleThe style to work on.
[in]lineNoIndex in array of line to delete.
See also
mdlMlineStyleP_insertProfile
Returns
SUCCESS or ERROR
StatusInt mdlMlineStyleP_replaceProfile ( MlineStyleP  mlineStyle,
DgnPlatform::MlineProfile *  newProfile,
DgnPlatform::LineStyleInfo *  newLineStyleInfo,
int  location 
)

Overwrite an existing profile.

Parameters
[in]mlineStyleThe style to work on.
[in]newProfileProfile to use as replacement; can be Null to replace line style information only.
[in]newLineStyleInfoCustom line style information to insert; can be NULL to replace profile only.
[in]locationIndex of the profile to replace.
See also
mdlMlineStyleP_getProfile mdlMlineStyleP_removeProfile mdlMlineStyleP_insertProfile
Returns
SUCCESS or ERROR
StatusInt mdlMlineStyleP_setActive ( MlineStyleP  mlineStyle)

Set the currently active multi-line style based on the style provided.

Parameters
[in]mlineStyleA multi-line style.
Remarks
The mlineStyle parameter may be modified during this operation since asynchs can participate in the style changing activity. Also, the style will be converted to the active model via mdlMlineStyleP_changeToModel and added to the file if no style of the same name exists.
Returns
SUCCESS if the style was made active; otherwise an error code returned from the asynch.
See also
mdlMlineStyleP_getByName
void mdlMlineStyleP_setEndAngle ( MlineStyleP  mlineStyle,
double  value 
)

Set the end angle of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to set the value in.
[in]valueThe new value for the end angle, in radians.
See also
mdlMlineStyleP_getEndAngle
void mdlMlineStyleP_setEndCap ( MlineStyleP  mlineStyle,
DgnPlatform::MlineSymbology *  capSymbology,
DgnPlatform::LineStyleInfo *  lineStyle 
)

Modify the end cap symbology and line style information for a multi-line style.

Parameters
[in]mlineStyleThe style to set the information in.
[in]capSymbologyThe symbology to set for the end cap; can be NULL to leave the current cap symbology.
[in]lineStyleCustom line style information to set for the end cap; can be NULL to leave the current cap line style information.
See also
mdlMlineStyleP_setOrgCap mdlMlineStyleP_setMidCap
mdlMlineStyleP_getEndCap
void mdlMlineStyleP_setFillColor ( MlineStyleP  mlineStyle,
UInt32  value 
)

Set the fill color of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to set the value in.
[in]valueThe new fill color.
See also
mdlMlineStyle_getFillColor
void mdlMlineStyleP_setFilled ( MlineStyleP  mlineStyle,
bool  value 
)

Set fill status of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to set the value in.
[in]valueThe new fill value, true or false.
See also
mdlMlineStyleP_getFilled
StatusInt mdlMlineStyleP_setLineStyleEndWidth ( MlineStyleP  mlineStyle,
int  styleNum,
int  value 
)

Set the line style end width for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to set the end width for.
[in]valueThe multi-line style end width value to set.
Returns
SUCCESS if The operation is completed successfully.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_getLineStyleEndWidth
StatusInt mdlMlineStyleP_setLineStyleModifiers ( MlineStyleP  mlineStyle,
int  styleNum,
int  value 
)

Sets the line style modifiers for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to set the modifiers for.
[in]valueAn integer containing the modifier flags to set
Returns
SUCCESS if the operation was completed successfully
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_getLineStyleModifiers
StatusInt mdlMlineStyleP_setLineStyleScale ( MlineStyleP  mlineStyle,
int  styleNum,
double  value 
)

Sets the line style scale for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to set the scale for.
[in]valueThe multi-line style scale value to set.
Returns
SUCCESS if the operation is completed successfully.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_getLineStyleScale
StatusInt mdlMlineStyleP_setLineStyleShift ( MlineStyleP  mlineStyle,
int  styleNum,
int  value 
)

Sets the line style shift for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to set the shift for.
[in]valueThe multi-line style shift value to set.
Returns
SUCCESS if the operation is completed successfully.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_getLineStyleShift
StatusInt mdlMlineStyleP_setLineStyleStartWidth ( MlineStyleP  mlineStyle,
int  styleNum,
int  value 
)

Set the line style start width for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]styleNumThe index of the multi-line profile number to set the start width for.
[in]valueThe multi-line style start width value to set.
Returns
SUCCESS if The operation is completed successfully.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_getLineStyleStartWidth
void mdlMlineStyleP_setMidCap ( MlineStyleP  mlineStyle,
DgnPlatform::MlineSymbology *  capSymbology,
DgnPlatform::LineStyleInfo *  lineStyle 
)

Modify the mid cap (joint) symbology and line style information for a multi-line style.

Parameters
[in]mlineStyleThe style to set the information in.
[in]capSymbologyThe symbology to set for the mid cap; can be NULL to leave the current cap symbology.
[in]lineStyleCustom line style information to set for the mid cap; can be NULL to leave the current cap line style information.
See also
mdlMlineStyleP_setOrgCap mdlMlineStyleP_setEndCap
mdlMlineStyleP_getMidCap
StatusInt mdlMlineStyleP_setName ( MlineStyleP  mlineStyle,
WCharCP  pName 
)

Set the name of the current active line style.

Parameters
[in]mlineStyleThe style to set the value in.
[in]pNameThe new name for the style.
Returns
SUCCESS if the style name is changed.
See also
mdlMlineStyle_getName
void mdlMlineStyleP_setOrgAngle ( MlineStyleP  mlineStyle,
double  value 
)

Set the origin or start angle of the currently active multi-line style.

Parameters
[in]mlineStyleThe style to set the value in.
[in]valueThe new value for the origin angle, in degrees measured from the work line. PI/2 is a perpendicular cap.
See also
mdlMlineStyleP_getOrgAngle
void mdlMlineStyleP_setOrgCap ( MlineStyleP  mlineStyle,
DgnPlatform::MlineSymbology *  capSymbology,
DgnPlatform::LineStyleInfo *  lineStyle 
)

Modify the origin cap symbology and line style information for a multi-line style.

Parameters
[in]mlineStyleThe style to set the information in.
[in]capSymbologyThe symbology to set for the origin cap; can be NULL to leave the current cap symbology.
[in]lineStyleCustom line style information to set for the origin cap; can be NULL to leave the current cap line style information.
See also
mdlMlineStyleP_setEndCap mdlMlineStyleP_setMidCap
mdlMlineStyleP_getOrgCap
StatusInt mdlMlineStyleP_setProfileDist ( MlineStyleP  mlineStyle,
int  profileNum,
double  dist 
)

Set the line style profile distance for the multi-line style at the given index.

Parameters
[in]mlineStyleThe style to work on.
[in]profileNumThe index of the multi-line profile to set the profile distance for.
[in]distThe multi-line style profile distance value to set.
Returns
SUCCESS if the operation is completed successfully.
Remarks
In MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile functions.
See also
mdlMlineStyleP_getProfileDist
StatusInt mdlMlineStyleP_setProfileSymb ( MlineStyleP  mlineStyle,
int  profileNum,
int  item,
int  value 
)

Sets a flag in the line style profile symbology for the multi-line style at the given index.

See mdlMlineStyleP_getProfileSymb for a description of the possible item values.

Parameters
[in]mlineStyleThe style to work on.
[in]profileNumThe index of the multi-line profile to set the profile symbology for.
[in]itemOne of the "#defines" for the symbology item (see mdlMlineStyleP_getProfileSymb)
[in]valueThe value of the item to set.
Returns
SUCCESS if the value is set successfully.
Remarks
This function was added for MicroStation Basic where accessing the data by structure is not possible. For MDL, it will likely be more convenient to use mdlMlineStyleP_getProfile and mdlMlineStyleP_replaceProfile.
See also
mdlMlineStyleP_getProfileSymb

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