Site icon EfmSoft

What does HRESULT 0x88980619 (MILEFFECTSERR_NOTAFFINETRANSFORM) mean?

 
Previous Next
MILEFFECTSERR_ALREADYATTACHEDTOLISTENER MILEFFECTSERR_EMPTYBOUNDS

MILEFFECTSERR_NOTAFFINETRANSFORM

MILEFFECTSERR_NOTAFFINETRANSFORM belongs to MIL affine-transform classification. A transform expected to be affine contains perspective or another non-affine mapping.

What the status establishes

An affine transform preserves parallel lines and is representable without a perspective division. Effect code that assumes affine mapping can propagate rectangles by transforming corners and combining finite bounds; a projective matrix breaks that assumption even when some sample coordinates look plausible. Preserve the full matrix and the API that classified it rather than flattening it to scale and translation.

matrix classification before effect bounds or coordinate propagation.

Evidence to preserve

  • Effect instance and owning graph or group identity
  • Connector, input, child, listener, property, or transform involved
  • Calculated input and output bounds
  • Construction sequence and first method returning the HRESULT

Reduce the scenario safely

Test identity, translation, scale, rotation, and shear before adding any perspective term. Log every matrix element and the calculated bounds so a near-singular or projective value is not rounded into an apparently affine display.

  1. Verify the homogeneous matrix has the affine form and finite coefficients.
  2. Rebuild the smallest graph containing only the implicated node and one known input.
  3. Log ownership changes and graph generation numbers.
  4. Validate the graph before allocating large intermediate resources.

Keep neighboring failures separate

EMPTYBOUNDS concerns the resulting region; NOTAFFINETRANSFORM rejects the mathematical transform class itself. Do not catch the HRESULT and continue rendering with a partially connected graph; later failures can obscure the invariant that was first violated.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version