Wikitude ARchitect v2.0 API Documentation

Wikitude ARchitect > AR > ARObject
Filters

Class ARObject - extends ARchitectObject

Known Subclasses:
GeoObject Trackable2DObject
An ARObject is an abstract class which must not be instantiated directly. It provides basic methods and properties required for the objects rendered in the AR scene.

ARObjects are somehow registered in the real world, either with geo coordinates (GeoObject) or with visual trackable objects (Trackable2DObject). They also have Drawables attached to it, which are used to represent the ARObject on the screen.

Properties

drawables.cam - Array(Drawable)

The Drawables which will be used to represent the ARObject in the camera view.

Drawables in the array will be printed starting with the Drawable at position 0, causing Drawables at later indices to overlap the previously drawn Drawables.

Remark:

The array content should not be manipulated via the [] operator, as it cannot be guaranteed that the changes will be propagated through to the native application. The property should only be manipulated with arobject.drawables.addCamDrawable() and arobject.drawables.removeCamDrawable(), or directly set with arobject.drawables.cam = new Array(...);.

enabled - boolean

A boolean flag to enable or disable the ARObject.
Default Value: true

renderingOrder - int

Drawables of different ARObjects might overlap. In this case, renderingOrder defines the rendering order of the Drawables of the ARObject. ARObjects with higher renderingOrder values cause their Drawables to be drawn on top of the Drawables of ARObjects with lower renderingOrder values. In case two ARObjects have set the same renderingOrder, the Drawables are rendered based on the distance, causing objects closer to the user to overlap objects further away.
For example, If you want to bring Drawables of a certain ARObject to the very front, set the renderingOrder value of the corresponding ARObject to a very high value.

For the printing order of Drawables within the same ARObject, refer to Drawable2D.zOrder.
Default Value: 0

Properties inherited from ARchitectObject:

Methods

drawables.addCamDrawable

void drawables.addCamDrawable ( drawable , position )
Adds Drawables to the ARObject in the camera.
Parameters:
drawable <Drawable|Array(Drawable)> The drawable(s) that should be added to the camera. Can either be a single Drawable, or an Array of Drawables.
position <int> The position where the Drawable should be added in the array. If not specified, the Drawable will be added at the end of the array.
Returns: void

drawables.removeCamDrawable

void drawables.removeCamDrawable ( drawable|position )
Removes Drawables from the ARObject in the cam.
Parameters:
drawable|position <Drawable|Array(Drawable)|int> When a single Drawable or an Array of Drawables is given, these Drawables will be removed from the array. When an integer is given, the Drawable at the specified position will be removed.
Returns: void

isVisible

boolean isVisible ( )
Returns the current visibility state of the ARObject. An ARObject is defined visible when at least one of the ARObject's locations (geolocations or visual tracker) is projected onto a screen coordinate which is currently visible on the screen.
Returns: boolean
Whether the ARObject is currently visible on the screen (true) or invisble (false).

onClick

boolean onClick ( )
Will be executed when any of the ARObject's Drawables have been clicked, and none of the clicked Drawables's onClick() triggers (might also be referenced by another ARObject) have been set to quit the click chain. ARObject.onClick() will be executed after any Drawable.onClick() triggers have been executed.

In case multiple ARObjects are hit by the click, the order of the execution is defined by the distance of the ARObject to the user, with the closest ARObject's click trigger executed first.

The return value of the function determines if, after the onClick()-Function was executed for this ARObject, the queue shall continue to execute onClick() for the next ARObject in the queue. In case the last ARObject in the queue still requests to continue the click-queue, context.onScreenClick() will be executed.
Returns: boolean
  • false - The click-queue should not stop with this ARObject. Thus, the next ARObject's onClick() function will be executed. This is the default value in case no return value is set or the function is not defined for this ARObject.
  • true - The queue-execution will stop at the current ARObject, underlying ARObjects will not receive onClick() calls.

onEnterFieldOfVision

void onEnterFieldOfVision ( )
The trigger will fire when the ARObject's visibility has changed from invisible to visible.

The trigger is null by default, and will thus result in no action executed when the trigger fires. A developer can add custom functionality by assigning a custom function to onEnterFieldOfVision.
Returns: void

onExitFieldOfVision

void onExitFieldOfVision ( )
Will be executed when the ARObject's visibility has changed from visible to invisible.

The trigger is null by default, and will thus result in no action executed when the trigger fires. A developer can add custom functionality by assigning a custom function to onExitFieldOfVision.
Returns: void

triggers.onEnterFieldOfVision

void triggers.onEnterFieldOfVision ( )
Returns: void
Deprecated Use onEnterFieldOfVision instead.

triggers.onExitFieldOfVision

void triggers.onExitFieldOfVision ( )
Returns: void
Deprecated Use onExitFieldOfVision instead.

Methods inherited from ARchitectObject:


Copyright © 2013 Wikitude GmbH. All rights reserved.