Skip to content

ArMarkerControls id output NaN instead of a number #5

Description

@kalwalt

Note: ArMarkerControls is a dervied class from ArBaseControls
This happens because i implemented the code in this way

export class ArBaseControls extends EventDispatcher implements IArBaseControls {
static id: number;
private _id;
protected object3d: Object3D;
/**
* THe ArBaseControls constructor, you need to pass a Theee.js Object3d to it.
* @param object3d the Threejs Object3D to pass.
*/
constructor(object3d: Object3D) {
super()
this._id = ArBaseControls.id++;

original AR.js code here:

const ArBaseControls = function (object3d) {
  this.id = ArBaseControls.id++;


  this.object3d = object3d;
  this.object3d.matrixAutoUpdate = false;
  this.object3d.visible = false;


  // Events to honor
  // this.dispatchEvent({ type: 'becameVisible' })
  // this.dispatchEvent({ type: 'markerVisible' })	// replace markerFound
  // this.dispatchEvent({ type: 'becameUnVisible' })
};

ArBaseControls.id = 0;

https://github.com/AR-js-org/AR.js/blob/be7c9083df5a651c2ab978ddd7c1a33409c4d40b/three.js/src/threex/threex-arbasecontrols.js#L3-L16
I think this is a bad idea. The _id (should be re-named id) should simply be incremented and not added by the static id property. I will fix this.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingenhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions