> Date:         Tue, 11 Mar 2003 08:23:18 -0700
> From: White Morph <[EMAIL PROTECTED]>
>
> The paper for FIST says it will orient outer loop to CCW, inner loop to CW,
> but if you really order the inner bound as CW like the following one:
>                new Point3d(1.93, 0.0, 0.07),
>                new Point3d(1.93, 0.0, 1.13),
>                new Point3d(0.07, 0.0, 1.13),
>                new Point3d(0.07, 0.0, 0.07),
>
> the triangulation fails again. I don't know why?

There's a bug in the FIST code in projecting polygons with holes into a
plane for triangulation.  I've submitted bug 4830842 for this and hope
to develop a fix for Java 3D 1.3.1 FCS if it's not too risky.

The FIST code will succeed if both the outer and inner loops have the
same winding.  Otherwise, the normal for the outer boundary cancels the
normal for the hole and produces a zero-length normal for the projection
plane.  The FIST code then arbitrarily substitutes [0 0 1] for the plane
normal, which will project points in the XZ or YZ plane into a line and
cause the triangulator to fail.

FIST doesn't reorder the loops until after the projection.

-- Mark Hood

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to