Modules | Typedefs | Functions

Modules

 Filter Tables
 
 Filter Members
 

Typedefs

typedef StatusInt(* FilterTraverseCallback )(FilterID filterIdIn, CallbackArgP pUserArgIn)
 UserFunction called when traversing filter. More...
 
typedef StatusInt(* MemberTraverseCallback )(FilterMemberID memberIdIn, CallbackArgP pUserArgIn)
 UserFunction called when traversing member. More...
 
typedef StatusInt(* FilterIteratorTraverseCallback )(FilterID filterIdIn, CallbackArgP pUserArgIn)
 UserFunction called when traversing filters. More...
 

Functions

StatusInt mdlFilter_getChildCount (int *pChildFilterCountOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iParentFilterIdIn)
 Get number of child filters for specified parent filter. More...
 
bool mdlFilter_isValid (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Check if filter id is valid. More...
 
bool mdlFilter_isValidByName (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iParentFilterIdIn, WCharCP pFilterNameIn)
 Check if a filter with specified name is valid. More...
 
StatusInt mdlFilter_getActive (FilterID *piActiveFilterIdOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn)
 Get the active filter. More...
 
StatusInt mdlFilter_getName (WCharP pFilterNameOut, int stringSizeIn, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get Filter Name. More...
 
const WChar * mdlFilter_getPathName (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get Filter Path Name - name of Filter appended by names of all its parents. More...
 
StatusInt mdlFilter_getDescription (WCharP pFilterDescriptionOut, int stringSizeIn, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get Filter Description. More...
 
StatusInt mdlFilter_getType (UShort *pFilterTypeOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get Filter Type. More...
 
StatusInt mdlFilter_getPersistent (bool *pbPersistentOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get if a Filter is persistent. More...
 
StatusInt mdlFilter_getExternal (bool *pbExternalOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get if a Filter is external. More...
 
bool mdlFilter_isPersistent (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Check if a Filter is persistent. More...
 
bool mdlFilter_isExternal (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Check if a Filter is external. More...
 
StatusInt mdlFilter_getIdFromName (FilterID *pFilterIdOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iParentFilterIdIn, WCharCP pFilterNameIn)
 Get id of filter which has specified name. More...
 
int mdlFilter_getIdFromPathName (FilterID *pFilterIdOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, WCharCP pPathNameIn)
 Get id of filter which has given full specified path name. More...
 
StatusInt mdlFilter_create (FilterID *piFilterIdOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, WCharCP pFilterNameIn, UShort filterTypeIn)
 Create a new filter in specified filter-table. More...
 
int mdlFilter_createWithPathName (FilterID *piFilterIdOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, WCharCP pPathNameIn, UShort filterTypeIn)
 Create a new filter in specified filter-table. More...
 
StatusInt mdlFilter_delete (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Delete filter. More...
 
StatusInt mdlFilter_setActive (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iActiveFilterIdIn)
 Set the active filter. More...
 
StatusInt mdlFilter_setName (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, WCharCP pNameIn)
 Set filter name. More...
 
StatusInt mdlFilter_setDescription (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, WCharCP pDescriptionIn)
 Set filter name. More...
 
StatusInt mdlFilter_setType (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, UShort filterTypeIn)
 Set Filter Type. More...
 
StatusInt mdlFilter_setPersistent (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, bool bPersistentIn)
 Set if a Filter is persistent. More...
 
StatusInt mdlFilter_getParentId (FilterID *pParentFilterIdOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Get Filter Parent. More...
 
bool mdlFilter_isParent (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Check if a filter is a parent. More...
 
bool mdlFilter_isChild (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Check if a filter is a child. More...
 
StatusInt mdlFilter_setParentId (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, FilterID parentFilterIdIn)
 Set Filter Parent. More...
 
StatusInt mdlFilter_copyFilterData (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID destFilterIdIn, FilterID sourceFilterIdIn)
 Copy filter data from source filter to destination filter. More...
 
StatusInt mdlFilter_apply (bool *pPassFlagOut, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, int numValuesIn, FilterMemberID *pMemberIdArrayIn, FilterValue *pFilterValueArrayIn)
 Apply a filter to specified data, to check if the data passes the filter. More...
 
bool mdlFilter_hasMember (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, FilterMemberID iMemberIdIn)
 Check if filter has specified member. More...
 
StatusInt mdlFilter_getLibraryName (WChar *pLibraryNameOut, int stringSizeIn, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 Return the source library name of an external filter. More...
 
StatusInt mdlFilter_getComposeExpression (WChar *pComposeExpressionStringOut, int stringSizeIn, DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn)
 the way the Filter is composed in the form of a string. More...
 
StatusInt mdlFilter_setComposeExpression (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn, FilterID iFilterIdIn, WCharCP pComposeExpressionStringIn)
 Filter may be composed of other filters. More...
 
StatusInt mdlFilterValue_applyStringExpression (bool *pPassFlagOut, UShort expressionTypeIn, WCharCP pStringExpressionIn, WCharCP pStringValueIn)
 Apply a string expression to specified string-value to check if the string value passes the expression. More...
 
StatusInt mdlFilterValue_applyIntegerExpression (bool *pPassFlagOut, UShort expressionTypeIn, WCharCP pIntegerExpressionIn, int integerValueIn)
 Check if integer value passes integer expression. More...
 
StatusInt mdlFilterValue_applyBooleanExpression (bool *pPassFlagOut, UShort expressionTypeIn, WCharCP pBooleanExpressionIn, bool booleanValueIn)
 Apply a boolean expression to specified boolean-value to check if the value passes the expression. More...
 
StatusInt mdlFilterValue_applyDoubleExpression (bool *pPassFlagOut, UShort expressionTypeIn, WCharCP pDoubleExpressionIn, double doubleValueIn)
 Apply a double expression to specified double-value to check if the value passes the expression. More...
 
int mdlFilterValue_remapIntegerExpression (bool *pbChangeOut, WStringP pRemappedExpressionOut, WCharCP pIntegerExpressionIn, int *pOriginalIntegerArrayIn, int *pRemapIntegerArrayIn, int numIntegersIn)
 Remap integers in an integer expression to a set of new integers. More...
 
bool mdlFilterName_hasValidCharacters (const WChar *pNameStringIn)
 Check if specified Name String is valid. More...
 
void mdlFilterName_getInvalidCharacters (const WChar **pInvalidCharactersOut)
 Get the list of Invalid characters. More...
 
void mdlFilterName_replaceInvalidCharacters (WChar *pNameStringIn, WChar replacementCharIn)
 
Replace all invalid characters in specified Name String with another

character More...

 
FilterIteratorP mdlFilterIterator_create (DgnModelRefP pModelRefIn, WCharCP pFilterTableNameIn)
 Create a new filter iterator to iterate thru' filters. More...
 
void mdlFilterIterator_free (FilterIteratorP *ppFilterIteratorIn)
 Free a filter iterator which is not required. More...
 
StatusInt mdlFilterIterator_setModelRef (FilterIteratorP pFilterIteratorIn, DgnModelRefP pModelRefIn)
 Set model ref on whose filters to iterate. More...
 
StatusInt mdlFilterIterator_setFilterTable (FilterIteratorP pFilterIteratorIn, WCharCP pFilterTableNameIn)
 Set filter table on whose filters to iterate. More...
 
StatusInt mdlFilterIterator_reset (FilterIteratorP pFilterIteratorIn)
 Reset the iteration process to restart from the beginning. More...
 
StatusInt mdlFilterIterator_setIterateType (FilterIteratorP pFilterIteratorIn, UInt iterateTypeIn)
 Set iteration type. More...
 
StatusInt mdlFilterIterator_setIterateOrder (FilterIteratorP pFilterIteratorIn, UInt iterateOrderIn)
 Set iteration order - by id or by name. More...
 
StatusInt mdlFilterIterator_setParentFilterId (FilterIteratorP pFilterIteratorIn, FilterID iParentFilterIdIn)
 Set parent filter-id, whose children are to be iterated on. More...
 
FilterID mdlFilterIterator_getNext (FilterIteratorP pFilterIteratorIn)
 Get next filter. More...
 
FilterID mdlFilterIterator_getPrevious (FilterIteratorP pFilterIteratorIn)
 Get previous filter. More...
 
FilterID mdlFilterIterator_getFirst (FilterIteratorP pFilterIteratorIn)
 Get first filter. More...
 
FilterID mdlFilterIterator_getLast (FilterIteratorP pFilterIteratorIn)
 Get last filter. More...
 
StatusInt mdlFilterIterator_traverse (FilterIteratorP pFilterIteratorIn, FilterIteratorTraverseCallback pUserFunctionIn, CallbackArgP pUserArgIn)
 Traverse through all filter entries as specified in the iterator. More...
 
int mdlFilterLibrary_getFilterTable (MSElementDescrH ppFilterLibraryDescrOut, FilterLibraryFormat *pLibraryFormatOut, WCharCP pFilterTableNameIn, WCharCP pFileNameIn, FilterLibraryFormat libraryFormatIn)
 Get a filter-library in the format of a filter-table descriptor from specified file. More...
 
int mdlFilterLibrary_import (WCharCP pFilterTableNameIn, WCharCP pFileNameIn, FilterLibraryFormat libraryFormatIn)
 Import filter-library into the current-file. More...
 
StatusInt mdlFilterError_getMessage (WChar *pErrorMessageOut, int stringSizeIn, int errorStatusIn)
 Get a message string describing a returned filter-error status. More...
 
StatusInt mdlFilterError_outputToMessageCenter (DgnPlatform::OutputMessagePriority errorMessagePriorityIn, int errorStatusIn)
 Output to the message center a message string describing a returned filter-error status. More...
 

Detailed Description

Typedef Documentation

typedef StatusInt(* FilterIteratorTraverseCallback)(FilterID filterIdIn, CallbackArgP pUserArgIn)

UserFunction called when traversing filters.

Parameters
[in]filterIdInfilter-id of filter being traversed.
[in]pUserArgInuser argument that specified in the mdlFilterIterator_traverse function.
See also
mdlIterator_traverse
typedef StatusInt(* FilterTraverseCallback)(FilterID filterIdIn, CallbackArgP pUserArgIn)

UserFunction called when traversing filter.

Parameters
[in]filterIdInfilter-id of filter being traversed.
[in]pUserArgInuser argument that specified in the mdlFilterTable_traverseFilters function.
See also
mdlIterator_traverse
typedef StatusInt(* MemberTraverseCallback)(FilterMemberID memberIdIn, CallbackArgP pUserArgIn)

UserFunction called when traversing member.

Parameters
[in]memberIdInmember-id of member being traversed.
[in]pUserArgInuser argument that specified in the mdlFilterTable_traverseMembers function.
See also
mdlIterator_traverse

Function Documentation

StatusInt mdlFilter_apply ( bool *  pPassFlagOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
int  numValuesIn,
FilterMemberID pMemberIdArrayIn,
FilterValue pFilterValueArrayIn 
)

Apply a filter to specified data, to check if the data passes the filter.

Parameters
[out]pPassFlagOuttrue if the value passes the filter member, else false
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
[in]numValuesInnumber of values in the data
[in]pMemberIdArrayInarray of member ids corresponding to the individual values
[in]pFilterValueArrayInarray of individual values in the data
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_copyFilterData ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  destFilterIdIn,
FilterID  sourceFilterIdIn 
)

Copy filter data from source filter to destination filter.

This does not change the id, name and type of the destination filter.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]destFilterIdInid of filter to copy into
[in]sourceFilterIdInid of filter to copy from
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_create ( FilterID piFilterIdOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
WCharCP  pFilterNameIn,
UShort  filterTypeIn 
)

Create a new filter in specified filter-table.

Parameters
[out]piFilterIdOutid of filter created
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]pFilterNameInfilter name
[in]filterTypeInfilter type
Returns
ERROR if the filter table name is not valid or the filter cannot be created, else SUCCESS
int mdlFilter_createWithPathName ( FilterID piFilterIdOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
WCharCP  pPathNameIn,
UShort  filterTypeIn 
)

Create a new filter in specified filter-table.

The path-name specifies where in the filter-hierarchy the new filter is created. The last name in the path-name is the name to be assigned to the new filter. The rest of the names in the path-name defines parent filters in the hierarchy. If some parent in the hierarchy is not present, then the missing parent filters are silently created.

Parameters
[out]piFilterIdOutid of filter created
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]pPathNameInfilter name
[in]filterTypeInfilter type
Returns
ERROR if the filter table name is not valid or the filter cannot be created, else SUCCESS
StatusInt mdlFilter_delete ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Delete filter.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInid of filter to delete
Returns
ERROR if the filter table name or filter name is not valid, else SUCCESS
StatusInt mdlFilter_getActive ( FilterID piActiveFilterIdOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn 
)

Get the active filter.

Parameters
[out]piActiveFilterIdOutactive filter id
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
Returns
ERROR if the filter table name is not valid, else SUCCESS
StatusInt mdlFilter_getChildCount ( int *  pChildFilterCountOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iParentFilterIdIn 
)

Get number of child filters for specified parent filter.

Parameters
[out]pChildFilterCountOutchild filter count
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iParentFilterIdInparent filter id
Returns
ERROR if the filter table name is not valid, else SUCCESS
StatusInt mdlFilter_getComposeExpression ( WChar *  pComposeExpressionStringOut,
int  stringSizeIn,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

the way the Filter is composed in the form of a string.

Parameters
[out]pComposeExpressionStringOutcompose expression string
[in]stringSizeInnumber of characters pComposeExpressionStringOut can hold
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_getDescription ( WCharP  pFilterDescriptionOut,
int  stringSizeIn,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get Filter Description.

Parameters
[out]pFilterDescriptionOutfilter description
[in]stringSizeInnumber of characters pFilterDescriptionOut can hold
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_getExternal ( bool *  pbExternalOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get if a Filter is external.

Parameters
[out]pbExternalOutexternal flag
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_getIdFromName ( FilterID pFilterIdOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iParentFilterIdIn,
WCharCP  pFilterNameIn 
)

Get id of filter which has specified name.

Parameters
[out]pFilterIdOutfilter id
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iParentFilterIdInparent filter id
[in]pFilterNameInfilter name
Returns
ERROR if the filter table name or filter name is not valid, else SUCCESS
int mdlFilter_getIdFromPathName ( FilterID pFilterIdOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
WCharCP  pPathNameIn 
)

Get id of filter which has given full specified path name.

Parameters
[out]pFilterIdOutfilter id
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]pPathNameInfilter path name
Returns
ERROR if the filter table name or path name is not valid, else SUCCESS
StatusInt mdlFilter_getLibraryName ( WChar *  pLibraryNameOut,
int  stringSizeIn,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Return the source library name of an external filter.

Parameters
[out]pLibraryNameOutlibrary name
[in]stringSizeInnumber of characters pLibraryNameOut can hold
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_getName ( WCharP  pFilterNameOut,
int  stringSizeIn,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get Filter Name.

Parameters
[out]pFilterNameOutfilter name
[in]stringSizeInnumber of characters pFilterNameOut can hold
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_getParentId ( FilterID pParentFilterIdOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get Filter Parent.

Parameters
[out]pParentFilterIdOutfilter parent
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
const WChar* mdlFilter_getPathName ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get Filter Path Name - name of Filter appended by names of all its parents.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
Path name
StatusInt mdlFilter_getPersistent ( bool *  pbPersistentOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get if a Filter is persistent.

Parameters
[out]pbPersistentOutpersistent flag
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_getType ( UShort pFilterTypeOut,
DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Get Filter Type.

Parameters
[out]pFilterTypeOutfilter type
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
bool mdlFilter_hasMember ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
FilterMemberID  iMemberIdIn 
)

Check if filter has specified member.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
[in]iMemberIdInmember id
Returns
true if the filter has the specified member, else false
bool mdlFilter_isChild ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Check if a filter is a child.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
true if the filter is a child, else false
bool mdlFilter_isExternal ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Check if a Filter is external.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
true if the filter is external, else false
bool mdlFilter_isParent ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Check if a filter is a parent.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
true if the filter is a parent, else false
bool mdlFilter_isPersistent ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Check if a Filter is persistent.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
true if the filter is persistent, else false
bool mdlFilter_isValid ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn 
)

Check if filter id is valid.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
Returns
true if filter id is valid, else false
bool mdlFilter_isValidByName ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iParentFilterIdIn,
WCharCP  pFilterNameIn 
)

Check if a filter with specified name is valid.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iParentFilterIdInparent filter id
[in]pFilterNameInfilter name
Returns
true if filter name is valid, else false
StatusInt mdlFilter_setActive ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iActiveFilterIdIn 
)

Set the active filter.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iActiveFilterIdInactive filter id
Returns
ERROR if the filter table name or active filter-id is not valid, else SUCCESS
StatusInt mdlFilter_setComposeExpression ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
WCharCP  pComposeExpressionStringIn 
)

Filter may be composed of other filters.

This provides a way to compose filters using the standard set operators. The composition is expressed in the form of a string, such as "F3 | F2 - F4"

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
[in]pComposeExpressionStringIncompose expression string - maybe NULL
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_setDescription ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
WCharCP  pDescriptionIn 
)

Set filter name.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInid of filter to delete
[in]pDescriptionInfilter description - may be NULL
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_setName ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
WCharCP  pNameIn 
)

Set filter name.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInid of filter to delete
[in]pNameInfilter name
Returns
ERROR if the filter table name or filter id or the name is not valid, else SUCCESS
StatusInt mdlFilter_setParentId ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
FilterID  parentFilterIdIn 
)

Set Filter Parent.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
[in]parentFilterIdInfilter parent
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_setPersistent ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
bool  bPersistentIn 
)

Set if a Filter is persistent.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
[in]bPersistentInpersistent flag
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilter_setType ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn,
FilterID  iFilterIdIn,
UShort  filterTypeIn 
)

Set Filter Type.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
[in]iFilterIdInfilter id
[in]filterTypeInfilter type
Returns
ERROR if the filter table name or filter id is not valid, else SUCCESS
StatusInt mdlFilterError_getMessage ( WChar *  pErrorMessageOut,
int  stringSizeIn,
int  errorStatusIn 
)

Get a message string describing a returned filter-error status.

Parameters
[out]pErrorMessageOuterror message
[in]stringSizeInnumber of characters pErrorMessageOut can hold
[in]errorStatusInerror status for which a message string is required
Returns
ERROR if error-message string cannot be got, else SUCCESS
StatusInt mdlFilterError_outputToMessageCenter ( DgnPlatform::OutputMessagePriority  errorMessagePriorityIn,
int  errorStatusIn 
)

Output to the message center a message string describing a returned filter-error status.

Parameters
[in]errorMessagePriorityInerror message type. One of MESSAGE_.. types - defined in msdefs.h
[in]errorStatusInerror status for which a message string is required
Returns
SUCCESS
FilterIteratorP mdlFilterIterator_create ( DgnModelRefP  pModelRefIn,
WCharCP  pFilterTableNameIn 
)

Create a new filter iterator to iterate thru' filters.

Parameters
[in]pModelRefInmodel ref
[in]pFilterTableNameInfilter table name
Returns
if created then the new filter iterator, else NULL
void mdlFilterIterator_free ( FilterIteratorP ppFilterIteratorIn)

Free a filter iterator which is not required.

Parameters
[in]ppFilterIteratorInfilter iterator to free
FilterID mdlFilterIterator_getFirst ( FilterIteratorP  pFilterIteratorIn)

Get first filter.

Parameters
[in]pFilterIteratorInfilter iterator
Returns
filter-id of the first filter
FilterID mdlFilterIterator_getLast ( FilterIteratorP  pFilterIteratorIn)

Get last filter.

Parameters
[in]pFilterIteratorInfilter iterator
Returns
filter-id of the last filter
FilterID mdlFilterIterator_getNext ( FilterIteratorP  pFilterIteratorIn)

Get next filter.

Parameters
[in]pFilterIteratorInfilter iterator
Returns
filter-id of the next filter
FilterID mdlFilterIterator_getPrevious ( FilterIteratorP  pFilterIteratorIn)

Get previous filter.

Parameters
[in]pFilterIteratorInfilter iterator
Returns
filter-id of the previous filter
StatusInt mdlFilterIterator_reset ( FilterIteratorP  pFilterIteratorIn)

Reset the iteration process to restart from the beginning.

Parameters
[in]pFilterIteratorInfilter iterator
Returns
ERROR if filter-iterator is invalid, else SUCCESS
StatusInt mdlFilterIterator_setFilterTable ( FilterIteratorP  pFilterIteratorIn,
WCharCP  pFilterTableNameIn 
)

Set filter table on whose filters to iterate.

Parameters
[in]pFilterIteratorInfilter iterator
[in]pFilterTableNameInfilter table, whose filters to iterate
Returns
ERROR if filter-iterator or model-ref is invalid, else SUCCESS
StatusInt mdlFilterIterator_setIterateOrder ( FilterIteratorP  pFilterIteratorIn,
UInt  iterateOrderIn 
)

Set iteration order - by id or by name.

Parameters
[in]pFilterIteratorInfilter iterator
[in]iterateOrderInone of FILTER_ITERATE_ORDER_... (defined in filtertable.h)
Returns
ERROR if filter-iterator is invalid, else SUCCESS
StatusInt mdlFilterIterator_setIterateType ( FilterIteratorP  pFilterIteratorIn,
UInt  iterateTypeIn 
)

Set iteration type.

Parameters
[in]pFilterIteratorInfilter iterator
[in]iterateTypeInone of FILTER_ITERATE_TYPE_... (defined in filtertable.h)
Returns
ERROR if filter-iterator is invalid, else SUCCESS
StatusInt mdlFilterIterator_setModelRef ( FilterIteratorP  pFilterIteratorIn,
DgnModelRefP  pModelRefIn 
)

Set model ref on whose filters to iterate.

Parameters
[in]pFilterIteratorInfilter iterator
[in]pModelRefInmodel ref, whose filters to iterate
Returns
ERROR if filter-iterator or model-ref is invalid, else SUCCESS
StatusInt mdlFilterIterator_setParentFilterId ( FilterIteratorP  pFilterIteratorIn,
FilterID  iParentFilterIdIn 
)

Set parent filter-id, whose children are to be iterated on.

This sets the iteration type to FILTER_ITERATE_TYPE_CHILDREN.

Parameters
[in]pFilterIteratorInfilter iterator
[in]iParentFilterIdInparent filter id
Returns
ERROR if filter-iterator is invalid, else SUCCESS
StatusInt mdlFilterIterator_traverse ( FilterIteratorP  pFilterIteratorIn,
FilterIteratorTraverseCallback  pUserFunctionIn,
CallbackArgP  pUserArgIn 
)

Traverse through all filter entries as specified in the iterator.

The call-back function is called for each filter-entry.

Parameters
[in]pFilterIteratorInfilter iterator
[in]pUserFunctionInUser call-back function
[in]pUserArgInuser argument
Returns
ERROR if filter-iterator is invalid, else SUCCESS
int mdlFilterLibrary_getFilterTable ( MSElementDescrH  ppFilterLibraryDescrOut,
FilterLibraryFormat pLibraryFormatOut,
WCharCP  pFilterTableNameIn,
WCharCP  pFileNameIn,
FilterLibraryFormat  libraryFormatIn 
)

Get a filter-library in the format of a filter-table descriptor from specified file.

Parameters
[out]ppFilterLibraryDescrOutfilter library descr
[out]pLibraryFormatOutlibrary format of file
[in]pFilterTableNameInname of filter-table to import
[in]pFileNameInname of library to import
[in]libraryFormatInformat of file - one of FILTER_LIBRARY_FORMAT_... (defined in filtertable.h)
Returns
ERROR specified file-name is invalid or is not a filter-library file, else SUCCESS
int mdlFilterLibrary_import ( WCharCP  pFilterTableNameIn,
WCharCP  pFileNameIn,
FilterLibraryFormat  libraryFormatIn 
)

Import filter-library into the current-file.

This function copies all the filters of specified filter-table into the current-file.

Parameters
[in]pFilterTableNameInname of filter-table to import
[in]pFileNameInname of library to import
[in]libraryFormatInformat of file - one of FILTER_LIBRARY_FORMAT_... (defined in filtertable.h)
Returns
ERROR specified file-name is invalid or is not a filter-library file, else SUCCESS
void mdlFilterName_getInvalidCharacters ( const WChar **  pInvalidCharactersOut)

Get the list of Invalid characters.

Parameters
[out]pInvalidCharactersOutInvalid characters list
bool mdlFilterName_hasValidCharacters ( const WChar *  pNameStringIn)

Check if specified Name String is valid.

Parameters
[in]pNameStringInfilter name
Returns
true if the Name String is valid, else false
void mdlFilterName_replaceInvalidCharacters ( WChar *  pNameStringIn,
WChar  replacementCharIn 
)

Replace all invalid characters in specified Name String with another

character

Parameters
[in]pNameStringInfilter name
[in]replacementCharInreplacement character
StatusInt mdlFilterValue_applyBooleanExpression ( bool *  pPassFlagOut,
UShort  expressionTypeIn,
WCharCP  pBooleanExpressionIn,
bool  booleanValueIn 
)

Apply a boolean expression to specified boolean-value to check if the value passes the expression.

Remarks
A boolean expression can be one of "0" or "1" or "yes" or "no" or "true" or "false". A boolean value of 0 matches the expressions "0", "no" and "false". A boolean value of 1 matches the expressions "1", "yes" and "true".
Parameters
[out]pPassFlagOuttrue if the value passes the filter member, else false
[in]expressionTypeIntype of expression (currently unused)
[in]pBooleanExpressionInboolean expression
[in]booleanValueInboolean value to test against boolean expression.
Returns
ERROR if the boolean expression is invalid, else SUCCESS
StatusInt mdlFilterValue_applyDoubleExpression ( bool *  pPassFlagOut,
UShort  expressionTypeIn,
WCharCP  pDoubleExpressionIn,
double  doubleValueIn 
)

Apply a double expression to specified double-value to check if the value passes the expression.

Parameters
[out]pPassFlagOuttrue if the value passes the filter member, else false
[in]expressionTypeIntype of expression (currently unused)
[in]pDoubleExpressionIndouble expression
[in]doubleValueIndouble value to test against double expression.
Returns
ERROR if the double expression is invalid, else SUCCESS
StatusInt mdlFilterValue_applyIntegerExpression ( bool *  pPassFlagOut,
UShort  expressionTypeIn,
WCharCP  pIntegerExpressionIn,
int  integerValueIn 
)

Check if integer value passes integer expression.

Remarks
An example Integer Expression is: 1,10,15-20. The comparison operators - >, >=, <, <=, != are also supported on Integer Expressions.
Integer Expression Integer values that pass Expression
1,10 Matches integers 1,10
10,15-20 Matches integers 10, 15, 16, 17, 18, 19 20
&lt20 Matches all integers less than 20
&gt10, &lt20 Matches all integers greater than 10 or less than 20
!=20 Matches all integers not equal to 20
Parameters
[out]pPassFlagOuttrue if the value passes the filter member, else false
[in]expressionTypeIntype of expression (currently unused)
[in]pIntegerExpressionIninteger expression
[in]integerValueIninteger value to test against integer expression.
Returns
ERROR if the integer expression is invalid., else SUCCESS
StatusInt mdlFilterValue_applyStringExpression ( bool *  pPassFlagOut,
UShort  expressionTypeIn,
WCharCP  pStringExpressionIn,
WCharCP  pStringValueIn 
)

Apply a string expression to specified string-value to check if the string value passes the expression.

Remarks
A String expression is supported in three different forms. The form is specified by the "expressionTypeIn" argument. This argument can be one of:
expressionTypeIn Description
FILTER_STRING_EXPRESSION_TYPE_REGULAR The expression is a regular expression
FILTER_STRING_EXPRESSION_TYPE_DOS The expression is of the form supported on a DOS command line (such as in the dir command)
FILTER_STRING_EXPRESSION_TYPE_FIND The expression is of the form supported in the MS-Windows Explorer Search Dialog
The expression parser is further enhanced to support Set-based operators such as |(OR), &(AND), -(MINUS).

To explain how String Expressions work, turn on "Filters" in the level manager & type in an expression under the "Name" column of the levelmanager:

Expression Level Names which are matched
lev All levels which have the sub-string "lev"
"lev" The level with the name "lev"
*1 All levels which end with 1.
lev* All levels which start with the sub-string lev.
1 | 2 All levels which have the character 1 or 2.
1 & 2 All levels which have the character 1 and 2.
1 - 2 All levels which have the character 1 but not the character 2.

The '|', '&' and '-' set operators can be combined in more complex ways as follows:

Expression Level Names which are matched
*1 | *2 | *3 All levels which end with 1 or which end with 2 or which end with 3
((1 | 2) - 3) All levels which have the characters 1 or 2, but do not have the character 3
"level 1" | "level 2" Matches exactly 2 levels - levels with name "level 1"/"level 2"
Remarks
All the examples above are of the form FILTER_STRING_EXPRESSION_TYPE_FIND.
Note the use of '(' & ')' to combine the set operators.
Parameters
[out]pPassFlagOuttrue if the value passes the filter member, else false
[in]expressionTypeIntype of expression - one of FILTER_STRG_EXPRESSION_TYPE... (defined in filtertable.h)
[in]pStringExpressionInstring expression
[in]pStringValueInstring to test against string expression.
Returns
ERROR if the string expression is invalid., else SUCCESS
int mdlFilterValue_remapIntegerExpression ( bool *  pbChangeOut,
WStringP  pRemappedExpressionOut,
WCharCP  pIntegerExpressionIn,
int *  pOriginalIntegerArrayIn,
int *  pRemapIntegerArrayIn,
int  numIntegersIn 
)

Remap integers in an integer expression to a set of new integers.

Parameters
[out]pbChangeOuttrue if pRemappedExpressionOut is different from pIntegerExpressionIn
[out]pRemappedExpressionOutstring for the expression with remapped integers
[in]pIntegerExpressionInsource integer expression
[in]pOriginalIntegerArrayInarray to original integers
[in]pRemapIntegerArrayInarray to integers to remap to
[in]numIntegersInnumber of ids in arrays above
Returns
SUCCESS

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