Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Version 13 and Version 14 of code/doc/ClassTreeMask


Ignore:
Timestamp:
Apr 12, 2017, 10:37:32 PM (8 years ago)
Author:
landauf
Comment:

fixed links

Legend:

Unmodified
Added
Removed
Modified
  • code/doc/ClassTreeMask

    v13 v14  
    11= !ClassTreeMask =
    2 [[TracNav(TracNav/TOC_Development)]]
    32[[TOC]]
    43
     
    98== Creating the mask ==
    109=== Include and exclude ===
    11 You can include and exclude classes in the mask by calling the corresponding functions. Including/Excluding a class usually applies not only to the specified class but to all subclasses too.
     10You can include and exclude classes in the mask by calling the corresponding functions. !Including/Excluding a class usually applies not only to the specified class but to all subclasses too.
    1211
    1312'''Notation: Including or excluding a class is denoted as "adding a new rule".'''
     
    4342=== Operators ===
    4443
    45 It's possible to calculate with masks in the meaning of set-theory, so you can create unions (+), intersections (*), differences (-) and complements (!) by using the corresponding operators.
     44It's possible to calculate with masks in the meaning of set-theory, so you can create unions (+), intersections !(*), differences (-) and complements !(!) by using the corresponding operators.
    4645
    4746 * '''Union''': Every class that is included in at least one of the two masks will be included in the resulting mask, all others are excluded ('''or''').
     
    6564}}}
    6665
    67 '''Note''': The ClassTreeMaskObjectIterator handles all objects as BaseObjects. If you want to use another class, you should use a dynamic_cast:
     66'''Note''': The !ClassTreeMaskObjectIterator handles all objects as [wiki:BaseObject BaseObjects]. If you want to use another class, you should use a dynamic_cast:
    6867{{{
    6968for (ClassTreeMaskObjectIterator it = mask.begin(); it != mask.end(); ++it)
     
    7170}}}
    7271
    73 Performance of ClassTreeMaskObjectIterator is good as long as you don't exclude subclasses of included classes. Of course you can still exlucde subclasses, but if this is done more often, we need a new implementation using a second ObjectList in the Identifier, containing all objects of exactly one class. Including subclasses of excluded classes however is really fast.
     72Performance of !ClassTreeMaskObjectIterator is good as long as you don't exclude subclasses of included classes. Of course you can still exlucde subclasses, but if this is done more often, we need a new implementation using a second ObjectList in the Identifier, containing all objects of exactly one class. Including subclasses of excluded classes however is really fast.
    7473
    7574== Examples ==