Thanks. I'm definitely applying the modification mutliple times. LDView only has one copy of the internal geometry for each part, with multiple references to the part all pointing to the same data. (Different colors are handled with glColor...() and glColorMaterial().) However, each placed part has an object I term "submodel" as its parent in the tree that contains that instance's transformation matrix and color. The seams modification gets applied to that "submodel".
A quick glance at my code shows me that it incorrectly assumes that the "submodel" itself is unique, which isn't true. If parts are just added to the main model, then it's true, but if they're in sub-models, and the sub-models are used mutliple times, the seam modification gets applied multiple times. Fortunately, it's easy enough to fix (just flag the "submodel" as already shrunk, so that it will only be shrunk once).
Oddly, I'm pretty sure this bug has been present since at least LDView 3.0, which was release in December of 2005. However, the first time it was reported to me was within the past year or so.
A quick glance at my code shows me that it incorrectly assumes that the "submodel" itself is unique, which isn't true. If parts are just added to the main model, then it's true, but if they're in sub-models, and the sub-models are used mutliple times, the seam modification gets applied multiple times. Fortunately, it's easy enough to fix (just flag the "submodel" as already shrunk, so that it will only be shrunk once).
Oddly, I'm pretty sure this bug has been present since at least LDView 3.0, which was release in December of 2005. However, the first time it was reported to me was within the past year or so.