Opened 12 years ago
Closed 12 years ago
#2200 closed defect (fixed)
Stylization: GetRulesFilter does not return match for default rule
Reported by: | gregboone | Owned by: | gregboone |
---|---|---|---|
Priority: | medium | Milestone: | 2.5 |
Component: | Rendering Service | Version: | 2.2.0 |
Severity: | major | Keywords: | Stylization Rules Filter |
Cc: | External ID: | 1484112 |
Description
Summary:
There is a problem in the Autodesk windows client when using the code path to get the rules filter for the current layer based on the current map scale. The problem is that the rules filter that is built does not account for the "default" rule which matches all features. So now certain commands are filtering out some features because they don't match any of the other rules, but they do match the default rule.
The fix is to modify the method DefaultStylizer::GetRulesFilter so that it iterates backward (since default rule is at the end usually) and bail out returning NULL if it finds a default rule.
Solution details:
MgDevBranch\2.5Knight\OS\Common\Stylization\DefaultStylizer.cpp
Reverse order of iteration so that we can find the default rule faster. Usually it is at the end of the collection.
If we see the default rule in any of the rules, return NULL from GetRulesFilter. The default rule will match all features, so we don't need to return a rule filter if we encounter a default rule.
Components Affected:
MgStylization.dll
Change History (4)
comment:1 by , 12 years ago
Status: | new → assigned |
---|
comment:2 by , 12 years ago
comment:3 by , 12 years ago
Version: | 2.1.0 → 2.2.0 |
---|
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Actual file path is:
http://svn.osgeo.org/mapguide/sandbox/adsk/2.5k/Common/Stylization/DefaultStylizer.cpp