Java Reference
In-Depth Information
Figure 44. Code segment and result of DiamondIndexedTriangleStripArray.java
1.
public class Diamond extends Shape3D
2.
{
3.
public Diamond()
4.
{
5.
this.setGeometry(DiamondGeometry());
6.
this.setAppearance(DiamondAppearance());
7.
}
8.
9.
private Geometry DiamondGeometry()
10.
{
11.
int vertex = 6; int stripVertexCount[] = {16};
12.
13.
IndexedTriangleStripArray Tri = new IndexedTriangleStripArray
14.
(vertex, GeometryArray.COORDINATES,20,stripVertexCount);
15.
16. Tri.setCoordinate( 0, new Point3f(0f, 0.8f, 0f));
Tri.setCoordinate( 1, new Point3f(0f, 0f, 0.5f));
17. Tri.setCoordinate( 2, new Point3f(0.5f, 0f, 0f));
Tri.setCoordinate( 3, new Point3f(0f, 0f, -0.5f));
18. Tri.setCoordinate( 4, new Point3f(-0.5f, 0f,0f));
Tri.setCoordinate( 5, new Point3f(0f, -0.8f, 0f));
19.
20. //Top Diamond
21. Tri.setCoordinateIndex( 0, 1); Tri.setCoordinateIndex( 1, 2);
Tri.setCoordinateIndex( 2, 0);
22. Tri.setCoordinateIndex( 3, 3); Tri.setCoordinateIndex( 4, 3);
Tri.setCoordinateIndex( 5, 4);
23. Tri.setCoordinateIndex( 6, 0); Tri.setCoordinateIndex( 7, 1);
24.
25. //Bottom Diamond
26. Tri.setCoordinateIndex( 8, 3); Tri.setCoordinateIndex( 9, 2);
Tri.setCoordinateIndex( 10, 5);
27. Tri.setCoordinateIndex( 11, 1); Tri.setCoordinateIndex( 12, 1);
Tri.setCoordinateIndex( 13, 4);
28.
Tri.setCoordinateIndex( 14, 5); Tri.setCoordinateIndex( 15, 3);
29.
30.
return Tri;
31.
}
32. }
Figure 44 presents another example where a diamond shaped object is constructed.
Note that there are altogether six vertices and a single strip is used.
Indexedtrianglefanarray
IndexedTriangleFanArray is the indexed version of TriangleFanArray, which construct a
series of triangles radiating or fanning from a central vertex as show in Figure 17. Figure
Search WWH ::




Custom Search