The X Toolkit API

X.sphere

/**
* Create a displayable Sphere.
*
* @constructor
* @extends X.object
* @mixin X.constructable
*/
var s = new X.sphere();
/**
* The caption of this object.
*
* @type {?string}
* @protected
*/
s._caption = $_CAPTION;
/**
* The center of this sphere in the world space.
*
* @type {!Array}
* @protected
*/
s._center = $_CENTER;
/**
* The children of this object.
*
* @type {!Array}
* @protected
*/
s._children = $_CHILDREN;
/**
* The className of this class.
*
* @type {string}
* @protected
*/
s._classname = $_CLASSNAME;
/**
* The object color. By default, this is white.
*
* @type {!Array}
* @public
*/
s._color = $_COLOR;
/**
* The point colors of this object.
*
* @type {?X.triplets}
* @protected
*/
s._colors = $_COLORS;
/**
* The color table of this object.
*
* @type {?X.colortable}
* @protected
*/
s._colortable = $_COLORTABLE;
/**
* The 'dirty' flag of this object.
*
* @type {boolean}
* @protected
*/
s._dirty = $_DIRTY;
/**
* This distance of this object to the viewer's eye.
*
* @type {number}
* @protected
*/
s._distance = $_DISTANCE;
/**
* The uniqueId of this instance. Each class instance in XTK has a uniqueId.
*
* @type {number}
* @protected
*/
s._id = $_ID;
/**
* The line width, only used in X.displayable.types.LINES mode.
*
* @type {number}
* @protected
*/
s._linewidth = $_LINEWIDTH;
/**
* The flag for the magic mode.
*
* @type {!boolean}
* @protected
*/
s._magicmode = $_MAGICMODE;
/**
* The normals of this object.
*
* @type {?X.triplets}
* @protected
*/
s._normals = $_NORMALS;
/**
* The opacity of this object.
*
* @type {number}
* @protected
*/
s._opacity = $_OPACITY;
/**
* An array reflecting the point or vertex indices.
*
* @type {!Array}
* @protected
*/
s._pointIndices = $_POINTINDICES;
/**
* The points of this object.
*
* @type {?X.triplets}
* @protected
*/
s._points = $_POINTS;
/**
* The point size, only used in X.displayable.types.POINTS mode.
*
* @type {number}
* @protected
*/
s._pointsize = $_POINTSIZE;
/**
* The radius of this sphere.
*
* @type {!number}
* @protected
*/
s._radius = $_RADIUS;
/**
* The scalars of this object.
*
* @type {?X.scalars}
* @protected
*/
s._scalars = $_SCALARS;
/**
* The number of slices to generate the sphere shape.
*
* @type {!number}
* @protected
*/
s._slices = $_SLICES;
/**
* The number of stacks to generate the sphere shape.
*
* @type {!number}
* @protected
*/
s._stacks = $_STACKS;
/**
* The texture of this object.
*
* @type {?X.texture}
* @protected
*/
s._texture = $_TEXTURE;
/**
* The mapping between object and texture coordinates.
*
* @type {?Array}
* @protected
*/
s._textureCoordinateMap = $_TEXTURECOORDINATEMAP;
/**
* The transform of this object.
*
* @type {!X.transform}
* @protected
*/
s._transform = $_TRANSFORM;
/**
* The rendering type of this object, default is
* {X.displayable.types.TRIANGLES}.
*
* @type {X.displayable.types}
* @protected
*/
s._type = $_TYPE;
/**
* The visibility of this object.
*
* @type {boolean}
* @public
*/
s._visible = $_VISIBLE;
/**
* Get the caption of this object.
*
* @return {?string} The caption of this object.
* @public
*/
var _caption = s.caption;
/**
* Set the caption for this object.
*
* @param {?string} caption The caption for this object.
* @public
*/
s.caption = $CAPTION;
/**
* Get the center of this sphere.
*
* @return {!Array} The center as an array with length 3.
* @public
*/
var _center = s.center;
/**
* Set the center of this sphere.
*
* @param {!Array} center The center as an array with length 3 ([X,Y,Z]).
* @throws {Error} An error, if the center is invalid.
* @public
*/
s.center = $CENTER;
/**
* Get the children of this object. Each object can have N children which get
* automatically rendered when the top level object gets rendered.
*
* @return {!Array} The children of this object which are again objects.
*/
var _children = s.children;
/**
* Get the className of this object.
*
* @return {string} The className of this object.
* @public
*/
var _classname = s.classname;
/**
* Get the object color.
*
* @return {!Array} The object color.
*/
var _color = s.color;
/**
* Set the object color. This overrides any point colors.
*
* @param {!Array} color The object color as an array with length 3 and values
*          between 0..1.
* @throws {Error} An exception if the given color is invalid.
*/
s.color = $COLOR;
/**
* Get the point colors of this object.
*
* @return {!X.triplets} The point colors.
*/
var _colors = s.colors;
/**
* Set the colors of this object.
*
* @param {!X.triplets} colors The colors.
*/
s.colors = $COLORS;
/**
* The color table associated with this object.
*
* @return {?X.colortable} The color table.
*/
var _colortable = s.colortable;
/**
* Get the id of this instance.
*
* @return {string} The className of this object.
* @public
*/
var _id = s.id;
/**
* Get the line width of this object. The line width is only used in
* X.displayable.types.LINES rendering mode.
*
* @return {!number} The line width.
*/
var _linewidth = s.linewidth;
/**
* Set the line width for this object. The line width is only used in
* X.displayable.types.LINES rendering mode.
*
* @param {!number} width The line width.
* @throws {Error} An exception if the given width is invalid.
*/
s.linewidth = $WIDTH;
/**
* Get the magic mode flag.
*
* @return {!boolean} The magic mode flag.
*/
var _magicmode = s.magicmode;
/**
* Set the magic mode flag.
*
* @param {!boolean} magicmode The magic mode flag.
*/
s.magicmode = $MAGICMODE;
/**
* Get the normals of this object.
*
* @return {!X.triplets} The normals.
*/
var _normals = s.normals;
/**
* Set the normals of this object.
*
* @param {!X.triplets} normals The normals.
*/
s.normals = $NORMALS;
/**
* Get the opacity of this object. If the object is fully opaque, this returns
* 1.
*
* @return {number} The opacity in the range 0..1.
*/
var _opacity = s.opacity;
/**
* Set the opacity of this object.
*
* @param {number} opacity The opacity value in the range 0..1.
*/
s.opacity = $OPACITY;
/**
* Get the points of this object.
*
* @return {!X.triplets} The points.
*/
var _points = s.points;
/**
* Set the points of this object.
*
* @param {!X.triplets} points The points.
*/
s.points = $POINTS;
/**
* Get the point size of this object. The point size is only used in
* X.displayable.types.POINTS rendering mode.
*
* @return {!number} The point size.
*/
var _pointsize = s.pointsize;
/**
* Set the point size for this object. The point size is only used in
* X.displayable.types.POINTS rendering mode.
*
* @param {!number} size The point size.
* @throws {Error} An exception if the given size is invalid.
*/
s.pointsize = $SIZE;
/**
* Get the radius of this sphere.
*
* @return {!number} The radius.
* @public
*/
var _radius = s.radius;
/**
* Set the radius of this sphere.
*
* @param {!number} radius The radius.
* @throws {Error} An error, if the given radius is invalid.
* @public
*/
s.radius = $RADIUS;
/**
* The scalars associated with this object.
*
* @return {?X.scalars} The scalars.
*/
var _scalars = s.scalars;
/**
* Get the texture of this object.
*
* @return {!X.texture} The texture.
*/
var _texture = s.texture;
/**
* Get the transform of this object.
*
* @return {!X.transform} The transform.
*/
var _transform = s.transform;
/**
* Get the render type of this object.
*
* @return {!string} The render type.
*/
var _type = s.type;
/**
* Set the render type of this object. Valid types are: TRIANGLES,
* TRIANGLE_STRIPS, LINES, POINTS, POLYGONS
*
* @param {!string} type The render type.
*/
s.type = $TYPE;
/**
* Get the visibility of this object.
*
* @return {boolean} TRUE if the object is visible, FALSE otherwise.
* @public
*/
var _visible = s.visible;
/**
* Set the visibility of this object.
*
* @param {boolean} visible The object's new visibility.
* @public
*/
s.visible = $VISIBLE;
/**
* Copies the properties from a given object to this object. The texture,
* textureCoordinateMap and the children are not copied but linked.
*
* @param {*} object The given object.
* @protected
*/
s.copy_($OBJECT);
/**
* Convert a CSG object to this X.object.
*
* @param {!CSG} csg The CSG object.
* @throws {Error} An error if the given object is invalid.
*/
s.fromCSG($CSG);
/**
* Intersect an X.object or a CSG object with this X.object and return a new
* X.object.
*
* @param {!CSG|X.object} object The object to use for the intersect operation.
* @return {X.object} A new X.object.
* @throws {Error} An error if the given object is invalid.
* @suppress {missingProperties}
*/
var intersect = s.intersect($OBJECT);
/**
* Inverse this X.object and return a new X.object.
*
* @return {X.object} A new X.object.
* @suppress {missingProperties}
*/
var inverse = s.inverse();
/**
* Fire a modified event for this object.
*
* @param {?boolean=} propagateEvent An optional flag to stop propagating down to child classes.
*/
s.modified($PROPAGATEEVENT);
/**
* Subtract an X.object or a CSG object from this X.object and return a new
* X.object.
*
* @param {!CSG|X.object} object The object to subtract.
* @return {X.object} A new X.object.
* @throws {Error} An error if the given object is invalid.
* @suppress {missingProperties}
*/
var subtract = s.subtract($OBJECT);
/**
* Convert this X.object to a CSG object.
*
* @return {!CSG} The created CSG object.
*/
var toCSG = s.toCSG();
/**
* Union this X.object with either another X.object or a CSG object and return a
* new X.object.
*
* @param {!CSG|X.object} object The other X.object or CSG object.
* @return {X.object} A new X.object.
* @throws {Error} An error if the given object is invalid.
* @suppress {missingProperties}
*/
var union = s.union($OBJECT);
/**
* Compare two X.objects by their opacity values and their distance to the
* viewer's eye. Fully opaque objects should be always ordered before
* transparent ones, and the transparent ones should be ordered back-to-front in
* terms of the distance to the viewer's eye.
*
* @param {X.object} object1 Object1 to compare against Object2.
* @param {X.object} object2 Object2 to compare against Object1.
* @return {!number} 1, if Object1 should be ordered after Object2. -1, if
*         Object1 should be ordered before Object2
*/
var OPACITY_COMPARATOR = X.sphere.OPACITY_COMPARATOR($OBJECT1, $OBJECT2);
/**
* Different render types for any displayable objects.
*
* @enum {string}
*/
X.sphere.types();


CONSTRUCTORS
X.sphere

PROPERTIES
_caption
_center
_children
_classname
_color
_colors
_colortable
_dirty
_distance
_id
_linewidth
_magicmode
_normals
_opacity
_pointIndices
_points
_pointsize
_radius
_scalars
_slices
_stacks
_texture
_textureCoordinateMap
_transform
_type
_visible

GETTERS/SETTERS
caption
center
children
classname
color
colors
colortable
id
linewidth
magicmode
normals
opacity
points
pointsize
radius
scalars
texture
transform
type
visible

FUNCTIONS
copy_
fromCSG
intersect
inverse
modified
subtract
toCSG
union

STATIC
OPACITY_COMPARATOR
types



SOURCECODE