GeometryInfo supports circles, but you have to order the points correctly.
Check the archives, this subject has been touched before, and someone
explained the ordering with a little diagram.
Daniel
> -----Original Message-----
> From: Jean-Marie Dautelle
> [mailto:[EMAIL PROTECTED]]
> Sent: Monday, November 27, 2000 1:55 PM
> To: [EMAIL PROTECTED]
> Subject: [JAVA3D] [Java3D] Polygon triangulation with holes.
>
>
> The GeometryInfo (com.sun.j3d.utils.geometry.GeometryInfo)
> documentation states
> it supports Polygon triangulation with holes using
> setContourCounts(int[]).
> But it doesn't (or I did something wrong).
> Here is a complete example which should show a rectangular
> area with an hole in
> it. Instead, a plain solid rectangular area is shown:
>
> import java.applet.Applet;
> import java.awt.BorderLayout;
> import java.awt.event.*;
> import java.awt.GraphicsConfiguration;
> import com.sun.j3d.utils.applet.MainFrame;
> import com.sun.j3d.utils.geometry.ColorCube;
> import com.sun.j3d.utils.universe.*;
> import javax.media.j3d.*;
> import javax.vecmath.*;
> import com.sun.j3d.utils.geometry.GeometryInfo;
>
> public class HoleTest extends Applet {
>
> private SimpleUniverse u = null;
>
> public BranchGroup createSceneGraph() {
> // Create the root of the branch graph
> BranchGroup objRoot = new BranchGroup();
>
> GeometryInfo gi = new
> GeometryInfo(GeometryInfo.POLYGON_ARRAY);
> double[] coordData = new double[] {
> 0.0, 0.0, 0.0,
> 0.4, 0.0, 0.0,
> 0.4, 0.4, 0.0,
> 0.0, 0.4, 0.0,
> 0.0, 0.0, 0.0,
>
> 0.2, 0.2, 0.0,
> 0.4, 0.2, 0.0,
> 0.4, 0.4, 0.0,
> 0.2, 0.4, 0.0,
> 0.2, 0.2, 0.0,
> };
> gi.setCoordinates(coordData);
>
> int[] stripCount = new int[] {5, 5};
> gi.setStripCounts(stripCount);
>
> int[] contourCount = new int[] {1,1};
> gi.setContourCounts(contourCount);
>
> Geometry geometry3d = gi.getGeometryArray();
>
> Shape3D shape3d = new Shape3D(geometry3d);
>
> objRoot.addChild(shape3d);
>
> return objRoot;
> }
>
> public HoleTest() {
> }
>
> public void init() {
> setLayout(new BorderLayout());
> GraphicsConfiguration config =
> SimpleUniverse.getPreferredConfiguration();
>
> Canvas3D c = new Canvas3D(config);
> add("Center", c);
>
> // Create a simple scene and attach it to the virtual universe
> BranchGroup scene = createSceneGraph();
> u = new SimpleUniverse(c);
>
> // This will move the ViewPlatform back a bit so the
> // objects in the scene can be viewed.
> u.getViewingPlatform().setNominalViewingTransform();
>
> u.addBranchGraph(scene);
> }
>
> public void destroy() {
> u.removeAllLocales();
> }
>
> public static void main(String[] args) {
> new MainFrame(new HoleTest(), 256, 256);
> }
> }
>
> If you have any idea why this is not working please let me know.
> Thanks.
> Jean-Marie.
>
> ==============================================================
> =============
> 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".
>
===========================================================================
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".