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 gregboone, 12 years ago

Status: newassigned

comment:3 by waltweltonlair, 12 years ago

Version: 2.1.02.2.0
  • fixed in the trunk stream with r7255
  • fixed in the adsk/2.4j stream with r7266
  • fixed in the adsk/2.5k stream with r7254

comment:4 by jng, 12 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.