HPoint
Description
Point objects represent points on a two-dimensional coordinate grid. The object's coordinates are stored as public x and y data members.Instance Variables
type |
'[HPoint]' |
|---|---|
x |
The X coordinate of the point |
y |
The Y coordinate of the point |
Inherits from:
Constructor Method
The constructor is invoked, when a new instance of HPoint is created.
To create a new instance use HPoint.nu( ) or new HPoint( ).
constructor( )
Description
Creates a new Point object that corresponds to the point (x, y), or that's copied from point. If no coordinate values are assigned, the Point's location is indeterminate.Parameters
by using a HPoint instance:point |
Another HPoint or other compatible structure. |
|---|
by using separate numeric coordinates:
x |
x coordinate |
|---|---|
y |
y coordinate |
Usage
var myPoint = new HPoint(100,200); var mySameCoordPoint = new HPoint( myPoint );
Class Methods
implement( interface )
Inherited from: HClass
Description
Copies the members of interface to a HClass or a class inherited from HClass.Usage:
Defines an interface:// Create an interface class that calculates the area var AreaInterface = HClass.extend({ constructor: null, area: function() { return this.getWidth() * this.getHeight(); } });// Create a class that contains the coordinates of a rectangle. var Rectangle = HClass.extend({ constructor: function( x, y, width, height ) { this.x = x; this.y = y; this.width = width; this.height = height; }, getWidth: function() { return this.width; }, getHeight: function() { return this.height; } });
// Makes the Rectangle class implement the AreaInterface Rectangle.implement( AreaInterface );
nu( )
Inherited from: HClass
Class members:
Description
nu is a protected class method.
It does the same thing as the new keyword, but it is a class method.
Parameters:
Any parameters are passed on to theconstructor method.
Usage:
Creates a classMyClass, then creates two instances of it:
myClassInstance1 and myClassInstance2. The end result is the same.
var MyClass = HClass.extend({ name: 'Foo', constructor: function( param1, param2 ){ var logMsg = [ 'param1:', param1, 'param2:', param2, 'name:', this.name ]; console.log( logMsg.join(' ') ); } });
// Construction using the new keyword: var myClassInstance1 = new MyClass( 'one', 'two' );
// Construction using the nu method: var myClassInstance2 = MyClass.nu( 'one', 'two' );However, when extending in place, the benefits of the
nu method
become obvious.
// Extending in place with the new keyword: var myExtendedClassInstance1 = new ( MyClass.extend({ name: 'Bar' }) )( 'one', 'two' );
// The same as above, but using the nu method: var myExtendedClassInstance2 = MyClass.extend({ name: 'Bar' }).nu( 'one', 'two' );
extend( instance, static )
Inherited from: HClass
Description
The class method used to extend a class.If the member name constructor is defined as null instead of a function
block in the instance object block, the class is defined as a singleton
(single instance class).
Parameters:
instance |
The object that defines the class instance members. |
|---|---|
static |
The object that defines the static class members. |
Returns:
Returns the extended class object.Usage:
var Point = HClass.extend({ constructor: function( x, y ) { this.x = x; this.y = y; } }); var Rectangle = Point.extend({ // Instance members: constructor: function( x, y, width, height ) { this.base( x, y ); this.width = width; this.height = height; }, getWidth: function() { return this.width; }, getHeight: function() { return this.height; } }, // Class Members { description: "this is a Rectangle", getClass: function() { return this; } });
Instance Methods
subtract( )
Description
Creates and returns a new Point that subtracts the given Point from this Point. The new object's x coordinate is the difference between the operands' x values; its y value is the difference between the operands' y values.Parameters
with HPoint:
point |
An HPoint to subtract from. |
|---|
with coordinates:
x |
An X-coordinate to subtract from. |
|---|---|
y |
An Y-coordinate to subtract from. |
Returns
A new HPoint.add( point )
Description
Creates and returns a new Point that adds the given Point and this Point together. The new object's x coordinate is the sum of the operands' x values; its y value is the sum of the operands' y values.Parameters
with HPoint:point |
An HPoint to add to. |
|---|
with coordinates:
x |
An X-coordinate to add to. |
|---|---|
y |
An Y-coordinate to add to. |
Returns
A new HPoint.set( )
Description
Sets the Point's x and y coordinates.Parameters
x |
The new X coordinate of the point |
|---|---|
y |
The new Y coordinate of the point |
constrainTo( rect )
Description
Ensures that the Point lies within rect. If it's already contained in the rectangle, the Point is unchanged; otherwise, it's moved to the rect's nearest edge.Parameters
rect |
A HRect instance to constrain to. |
|---|
equals( point )
Description
Returns true if the two objects' point exactly coincide.Parameter
point |
A HPoint to compare to. |
|---|
Returns
The result; true or false.toString( )
Inherited from: HClass
Protected instance method, returns the instance represented as a String.
valueOf( )
Inherited from: HClass
Protected instance method, returns the value of an instance.
base( )
Inherited from: HClass
This method can be called from any other method to invoke that method's parent
Other Instance Members
prototype = { }
Inherited from: Object
Description
Theprototype member of Object defines the instance members.
These are copied to the instance object when the new keyword is called.