ImageScience 3.0.0

imagescience.mesh
Class Cone

java.lang.Object
  extended by imagescience.mesh.Cone

public class Cone
extends java.lang.Object

Triangular mesh of a cone in 3D.


Constructor Summary
Cone(int lod, boolean cap)
          Constructs the mesh of a unit cone at the given level of detail.
 
Method Summary
 java.util.Vector<javax.vecmath.Point3f> render(javax.vecmath.Point3f base, float radius, javax.vecmath.Point3f apex)
          Returns a copy of the cone mesh with given base and apex position and with given base radius.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Cone

public Cone(int lod,
            boolean cap)
Constructs the mesh of a unit cone at the given level of detail.

Parameters:
lod - The level of detail. At minimum level 0 the cone has 16 faces.
cap - Determines whether the cone is capped (closed) or open.
Throws:
java.lang.IllegalArgumentException - If lod is less than 0.
Method Detail

render

public java.util.Vector<javax.vecmath.Point3f> render(javax.vecmath.Point3f base,
                                                      float radius,
                                                      javax.vecmath.Point3f apex)
Returns a copy of the cone mesh with given base and apex position and with given base radius.

Parameters:
base - The center position of the cone base.
radius - The radius of the cone base.
apex - The position of the cone apex.
Returns:
A new Vector<Point3f> object containing the triangles of the cone mesh. Each vector element is one vertex of the mesh and each successive three elements constitute one triangle. For memory efficiency, vertices are shared between adjacent triangles. That is, the corresponding Point3f elements are handles of the same object.
Throws:
java.lang.IllegalArgumentException - If radius is less than 0.

ImageScience 3.0.0

Copyright (C) Erik Meijering. Permission to use this software and corresponding documentation for educational, research, and not-for-profit purposes, without a fee and without a signed licensing agreement, is granted, subject to the following terms and conditions.

IT IS NOT ALLOWED TO REDISTRIBUTE, SELL, OR LEASE THIS SOFTWARE, OR DERIVATIVE WORKS THEREOF, WITHOUT PERMISSION IN WRITING FROM THE COPYRIGHT HOLDER. THE COPYRIGHT HOLDER IS FREE TO MAKE VERSIONS OF THE SOFTWARE AVAILABLE FOR A FEE OR COMMERCIALLY ONLY.

IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OF ANY KIND WHATSOEVER, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE EXPRESS OR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND CORRESPONDING DOCUMENTATION IS PROVIDED "AS IS". THE COPYRIGHT HOLDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.