public Ellipse setExtrude(boolean extrude) { this.extrude = extrude; this.reset(); return this; }
/** * Sets the terrain following state of this ellipse, which indicates whether this ellipse's geometry follows the * terrain surface or is fixed at a constant altitude. By default the terrain following state is false, and ellipse * geometry follows the constant altitude of its center position. * * @param followTerrain true to follow the terrain surface, and false otherwise * * @return this ellipse, with its terrain following state set to the specified value */ public Ellipse setFollowTerrain(boolean followTerrain) { this.followTerrain = followTerrain; this.reset(); return this; }
/** * Sets this ellipse's heading in degrees clockwise from North. When ellipse's heading is 0.0, the * semi-major axis points East and the semi-minor axis points North. Headings other than 0.0 rotate the axes about * the ellipse's center position, while retaining the axes relative relationship to one another. * * @param degrees the new heading, in degrees clockwise from North * * @return this ellipse, with its heading set to the specified value */ public Ellipse setHeading(double degrees) { this.heading = degrees; this.reset(); return this; }
/** * Sets the radius of this globe's semi-major axis. When the ellipse's heading is 0.0, the semi-major axis points * East. * * @param radius the new radius, in meters * * @return this ellipse with the radius of its semi-major axis set to the specified value * * @throws IllegalArgumentException If the radius is negative */ public Ellipse setMajorRadius(double radius) { if (radius < 0) { throw new IllegalArgumentException( Logger.logMessage(Logger.ERROR, "Ellipse", "setMajorRadius", "invalidRadius")); } this.majorRadius = radius; this.reset(); return this; }
/** * Sets the radius of this globe's semi-minor axis. When the ellipse's heading is 0.0, the semi-minor axis points * North. * * @param radius the new radius, in meters * * @return this ellipse with the radius of its semi-minor axis set to the specified value * * @throws IllegalArgumentException If the radius is negative */ public Ellipse setMinorRadius(double radius) { if (radius < 0) { throw new IllegalArgumentException( Logger.logMessage(Logger.ERROR, "Ellipse", "setMinorRadius", "invalidRadius")); } this.minorRadius = radius; this.reset(); return this; }
/** * Sets the maximum number of angular intervals that may be used to approximate this ellipse's on screen. * <p> * Ellipse may use a minimum number of intervals to ensure that its appearance on screen at least roughly * approximates the ellipse's shape. When the specified number of intervals is too small, it is clamped to an * implementation-defined minimum number of intervals. * <p> * Ellipse may require that the number of intervals is an even multiple of some integer. When the specified number * of intervals does not meet this criteria, the next smallest integer that meets ellipse's criteria is used * instead. * * @param numIntervals the number of angular intervals * * @return this ellipse with its number of angular intervals set to the specified value * * @throws IllegalArgumentException If the number of intervals is negative */ public Ellipse setMaximumIntervals(int numIntervals) { if (numIntervals < 0) { throw new IllegalArgumentException( Logger.logMessage(Logger.ERROR, "Ellipse", "setMaximumIntervals", "invalidNumIntervals")); } this.maximumIntervals = numIntervals; this.reset(); return this; }
/** * Sets the geographic position of this ellipse's center. The position may be null, in which case the ellipse does * not display. * * @param position the new center position; may be null * * @return this ellipse with its center position set to the specified position */ public Ellipse setCenter(Position position) { if (position == null) { this.center = null; } else if (this.center == null) { this.center = new Position(position); } else { this.center.set(position); } this.reset(); return this; }