Class GizmoAbstract

Abstract Gizmo class that provides a foundation for creating interactive gizmo objects in 3D scenes. Gizmos are typically used for manipulation tools like transform handles, rotation rings, or other interactive visual aids.

Hierarchy (view full)

Constructors

Properties

__isVisible: boolean = false

the target entity which this gizmo belong to

The top entity of this gizmo group. A programmer who implements a gizmo class has to make this entity a child of the target entity's scene graph component that the gizmo will belong to manually.

_tags: RnTags = {}

Collection of tags associated with this object

isSetup: boolean

Indicates whether the gizmo has been set up and is ready for use Must be implemented by concrete gizmo classes

InvalidObjectUID: -1 = -1

Invalid object UID constant

currentMaxObjectCount: number = 0

Current maximum object count for UID generation

Accessors

  • get isVisible(): boolean
  • Gets the current visibility state of the gizmo

    Returns boolean

    True if the gizmo is visible, false otherwise

  • set isVisible(flg): void
  • Sets the visibility state of the gizmo

    Parameters

    • flg: boolean

      True to make the gizmo visible, false to hide it

    Returns void

  • get objectUID(): number
  • Gets the unique object identifier

    Returns number

    The object's UID

  • get uniqueName(): string
  • Gets the unique name of this object

    Returns string

    The unique name string

Methods

  • Internal method to set the visibility of the gizmo and all its child entities

    Parameters

    • flg: boolean

      True to show the gizmo, false to hide it

    Returns void

  • Determines whether the gizmo setup should be skipped

    Returns boolean

    True if setup should be skipped, false otherwise

  • Internal

    Cleans up and destroys the gizmo, releasing all associated resources

    Returns void

  • Internal

    Sets up the entities and components required for the gizmo This method is called internally and should only be executed once

    Returns void

  • Internal

    Updates the gizmo's transform, appearance, and other properties This method is typically called every frame to keep the gizmo synchronized with its target entity

    Returns void

  • Retrieves a complete tag object (name and value) for the specified tag name

    Parameters

    • tagName: string

      The name of the tag to retrieve

    Returns Tag

    A Tag object containing the name and value

  • Retrieves the value associated with a specific tag name

    Parameters

    • tagName: string

      The name of the tag whose value to retrieve

    Returns any

    The tag value, or undefined if the tag doesn't exist

  • Checks whether this object has a tag with the specified name

    Parameters

    • tagName: string

      The name of the tag to check for

    Returns boolean

    True if the tag exists (value is not null/undefined), false otherwise

  • Checks if this object has a tag with the specified name and value

    Parameters

    • tagName: string

      The tag name to match

    • tagValue: string

      The tag value to match

    Returns boolean

    True if the object has a matching tag, false otherwise

  • Checks if this object has all the specified tags with exactly matching values

    Parameters

    • tags: RnTags

      Object containing tag names as keys and expected values

    Returns boolean

    True if all specified tags exist with matching values, false otherwise

  • Checks if the object's combined tag string contains all the provided search strings. This allows for flexible searching within tag names and values.

    Parameters

    • stringArray: string[]

      Array of strings that must all be present in the combined tag string

    Returns boolean

    True if all strings are found in the combined tag string, false otherwise

  • Applies appropriate tags to the gizmo entities for identification and categorization This method ensures that all gizmo entities are properly tagged for rendering and processing pipelines

    Returns void

  • Attempts to set a tag on this object. If the tag already exists, it will be replaced.

    Parameters

    • tag: Tag

      The tag object containing the name and value to set

    Returns boolean

    True if the tag was successfully set, false if the tag name contains invalid characters

  • Attempts to set a unique name for this object

    Parameters

    • name: string

      The desired unique name

    • toAddNameIfConflict: boolean

      If true, appends UID to make name unique when conflicts occur; if false, fails on conflict

    Returns boolean

    True if the name was successfully set, false if there was a conflict and toAddNameIfConflict was false

  • Validates that a tag string contains only allowed characters (alphanumeric and underscore)

    Parameters

    • val: string

      The string to validate

    Returns boolean

    True if the string contains only valid characters, false if it contains invalid characters

  • Retrieves an RnObject instance by its unique identifier

    Parameters

    • objectUid: number

      The unique identifier of the object to retrieve

    Returns undefined | RnObject

    The RnObject instance or undefined if not found or garbage collected

  • Searches for the first object that has a specific tag with the given value

    Parameters

    • tag: string

      The tag name to search for

    • value: string

      The tag value to match

    Returns undefined | WeakRef<RnObject>

    WeakRef to the first matching object, or undefined if not found